0

このコードを実行しようとしています

   syms x m
eq3 = m-['(heaviside(x)-heaviside(x-1))*x^3/6  ']; 
    %...
    % '(heaviside(x-1)-heaviside(x-2))*(1/6)*(-3*x) + ' ...
    % '(heaviside(x-2)-heaviside(x-3))*(1/6)*(3*x^3-24*x^1) + ' ...
    % '(heaviside(x-3)-heaviside(x-4))*(1/6)*(4-x)^3'];
eq2=-x+(.6/.0360)*m;

sol = solve(eq3,eq2);

しかし、私はこのエラーが発生し続けます

関数 'lt' は、MuPAD シンボリック オブジェクトに対して実装されていません。

検索したところ、xaをdoubleにする必要があることがわかったので、それを試しましたが、代わりに行 x=double(x) を入力するとこのエラーが発生します

MuPAD コマンドのエラー: DOUBLE は入力式を double 配列に変換できません。入力式にシンボリック変数が含まれている場合は、代わりに VPA 関数を使用してください。

エラー ==> sym.sym>sym.double at 927 Xstr = mupadmex('mllib::double', Ss, 0);

VPA を使用して x=vpa(x) という行を入力すると、次のエラーが表示されます。

関数 'lt' は、MuPAD シンボリック オブジェクトに対して実装されていません。

==> sym.sym>sym.lt のエラー 803 notimplemented('lt');

アドバイスしてください、ありがとう!

4

1 に答える 1

0

これは、あなたの望むことですか?

eq3 = sym('m - (heaviside(x)-heaviside(x-1)) * x^3/6');
solve(eq3)
于 2012-03-14T19:40:52.463 に答える