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