MATLABでブラケットをnのべき乗(nは自然数)に展開する関数を作成しようとしています。これは私がこれまで持っているものです。私はそれを実行したときに配列内の2変数
function expandb = expandb(x,y,n)
z = my_bincoeff1(n);;
syms v x y
v=1:n+1
for i=1:n+1
v(i)=z(i)*x.^(n-i+1)*y.^(i-1);
end
a=0
for i=1+n+1
a=a+v(i)
end
expandb = a;
私はこのエラーを取得する:
??? The following error occurred converting from sym to double:
Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double
array.
If the input expression contains a symbolic variable, use the VPA function instead.
Error in ==> expandb at 6
v(i)=z(i)*x.^(n-i+1)*y.^(i-1);
は、どのように私は、アレイ内の2つの変数を格納しますか?
は 'シンボリック変数の関数や数もexpandb'べきでしょうか? – Jacob
2つの変数の関数でなければなりません。私はexpandb(2x、3y、4)を書いて、答えはフォーム(2x)^ 4 +と書いてみましょう。 – Mobix
あなたがしない理由はありますか?拡張((2 * x + 3 * y)^ 4);を展開する関数[EXPAND](http://www.mathworks.com/help/toolbox/symbolic/expand.html)を使用します。 – gnovice