2012-04-25 3 views
1

における変数の配列を作成し、私はその後、私は私のメインのM-ファイルにそれを使用することはM-ファイルでは「matrixT.mを」MATLAB

function T=matrixT(alpha,n) 
T=zeros(3,n); 
for i=1:n 
    T(1,i)=cos(alpha(i)); 
    T(2,i)=sin(alpha(i)); 
    T(3,i)=sin(alpha(i)-i*pi/2); 
end 

のような* 3行列を生成する機能matrixTを書きました

alpha=sym('alpha'); 
V=subs(hessian(det(matrixT(alpha,3)),alpha),alpha,alpha0); 

しかし、多少の誤差があります。これを解決する手助けはできますか?

答えて

3

あなたの問題は割り当てにあると信じています:T(1,i)=cos(alpha(i));alphaにシンボリック変数を割り当てていますが、それをdouble型の配列に代入しようとすると、MATLABはエラーを返します。アレイTの中に配置しようとする前にalphaの値を評価することは可能ですか?

+0

アルファに変数の配列を割り当てるにはどうすればよいですか? – minhbsu

+0

'subs'関数を使って' T'配列に入れようとする前に 'alpha'の実際の値を代入したいと思うでしょう。 – aardvarkk

+0

問題は、私はベクトルアルファ(n次元)を割り当てて、ヘッセ行列を取る必要がありますか?私はそれをすることができますか?あなたは私のために例を挙げることができますか? – minhbsu

関連する問題