1

私は最近(実際には昨日)、いくつかの今後のプロジェクトのためにMATLABを学び始めました。簡単な質問があります。これらのプロジェクトの1つでは、2つのシンボリック方程式fgを受け取る1つの関数を作成する必要があります。使用する前に関数を実行しようとするとsyms x yfgにはx変数またはy変数しか含まれていないため)、未定義の変数エラーが発生します。それが何を意味するのかは理解できますが、とにかく実行せずにfgsyms x yを渡すだけでよいのだろうかと思いました。

4

1 に答える 1

1

問題がどこにあるのか正確にはわかりませんが、これが、2つの少し似た便利な方法で新しい関数定義を実行する方法です。

関数ハンドルを使用する場合:関数入力引数をハンドルに渡します

x = (-1:0.25:1); % input vals
f = @(x) cos(2*pi*x).^2; 
g = @(x) sin(2*pi*x).^2; 

h = @(f1, f2) f1 + f2;
h(f(x), g(x))

シンボリック方程式の場合:方程式symの作成中にのみ使用します

% symbolic
f = sym('cos(2*pi*x)^2');
g = sym('sin(2*pi*x)^2');

h = f + g;
subs(h, x)    

明らかに、上記を複数の独立変数に一般化することができます。つまり、(x,y).これが近いことを願っています。

于 2012-10-12T19:48:01.243 に答える