私は Matlab に 2 つの行列を持っていA
ます。これらを取り込んで にマップするB
関数を出力する簡単な方法を見つけようとしています。これは、 whereとareの形式の関数と同じくらい簡単なはずですが、できません。今日は私の基本的な数学のスキルを覚えているようです。Matlabでこれを行う簡単な方法はありますか?A
B
B=Ax+y
x
y
質問する
1811 次
1 に答える
0
編集
これは、コメントで説明されている OP の元の質問に対する回答です。
2 つの要素b1
とb2
fromB
と同じ要素a1
とa2
fromを取りA
ます。ことを確認してくださいa1 ~= a2
。のすべての要素A
が同じ場合、問題は簡単です。次に、計算します
x = (b1-b2) / (a1-a2) ;
y = b1 - a1*x;
err = B - A*x - y;
total_error = sum(abs(err(:)));
x
とy
が式を満たさない場合、 と はtotal_error > 0
存在x
しませんy
。
実際、x と y が単なる数値の場合は、次のようにできます。
B = A*x + y;
x
Matlab は、 の各要素に数値をブロードキャストすることにより、行列時間のスカラー演算を行うことができA
ます。
x
がベクトルで意味がある場合はA*x
、同じことができます。
y
が と同じサイズのスカラーまたはベクトルの場合、同じA*x
ことができます。
于 2012-10-10T23:51:07.900 に答える