私は Matlab に 2 つの行列を持っていAます。これらを取り込んで にマップするB関数を出力する簡単な方法を見つけようとしています。これは、 whereとareの形式の関数と同じくらい簡単なはずですが、できません。今日は私の基本的な数学のスキルを覚えているようです。Matlabでこれを行う簡単な方法はありますか?ABB=Ax+yxy
1811 次
1 に答える
0
編集
これは、コメントで説明されている OP の元の質問に対する回答です。
2 つの要素b1とb2fromBと同じ要素a1とa2fromを取り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;
xMatlab は、 の各要素に数値をブロードキャストすることにより、行列時間のスカラー演算を行うことができAます。
xがベクトルで意味がある場合はA*x、同じことができます。
yが と同じサイズのスカラーまたはベクトルの場合、同じA*xことができます。
于 2012-10-10T23:51:07.900 に答える