を、私はこれらのエラーを取得しています:関数ハンドルが変換されていません - MATLAB
Conversion to function_handle from double is not possible.
はすでにそれについて検索し、自分のコードが、成功事例のなしを変更しようとしました。あなたは助けてくれますか?おかげ
A=[99.23;100.05;91;107.71;104.1];
B=[3441 3441 301720.5;68750 1068750 0;170040 13085020 0;229350 229350 5729350;34194000 0 0];
N=[300000;1000000;13000000;5500000;32800000];
E=[-0.00302;-0.00261;-0.00208];
[c3,r3]=size(A);
[c4,r4]=size(B);
x=sym ('x',[1 c3]);
x=transpose(x);
for i=1:c3
Valor(i,1)=0;
for j=1:r4
Valor(i,1)[email protected](x){(Valor(i,1)/((1+E(j,1)+x(j,1))^j))+(B(i,j)/((1+E(j,1)+x(j,1))^j))};
end
end
は、私が欲しいのはXは、私はすでに私が解決に適用するために使用するベクトルValorantigoを持っていることを与えられたベクトルを見つけることです。
Valorantigo(1:c3,1)=A(1:c3,1).* N(1:c3,1) ./100;
eqn=Valor(1:c3,1)==Valorantigo(1:c3,1);
[solx, param, cond] = solve(eqn, x, 'ReturnConditions', true);
基本的にxがValorantigo(1,1)= 3441 /(1から0.00302 + X1)+ 3441 /(1から0.00261 + X1)^ 2 + 301720.5
- の溶液であろう/(1-0.00208 + x1)^ 3
- Valorantigo(2,1)= 68750 /(1-0.00302 + x2)+ 1068750 /(1-0.00261 + x2)^ 2 + 0/{1-0.00208 + x2 )^ 3
- Valorantigo(3,1)= 170040 /(1から0.00302 + X3)+ 13085020 /(1から0.00261 + X3)^ 2 + 0 /(1から0.00208 + X3)^ 3
- 同じように他の行に...
をあなたとacomplishするtriyingされているものを、 '= @(x)は{....}':
ああはほとんどあなたのように見えるようにニーズを解決するため、忘れてしまいましたか?配列 'Valor'を埋めるだけですか?それを取り除いて内部を残してください –
@AnderBiguriはいはい、私は行列Valorを記入したいと思います。私は '{...} 'を置いた。なぜなら、私はそれを私のエラーの一つの解決策として見たからだ。私がそれを消去しても私は何らかの誤りがあります。 –
@AnderBiguriは既にそれを詳述しています。あなたは助けてくれますか?私はfridayと私のコード –