如何在matlab中求解已知变量和未知变量的多方程
how to solve multi-equation with known and unkown variable in matlab
我有 4 个方程式,我知道 x 和 y 以及 ans1 到 ans4。但我希望 matlab 求解这 4 个方程并给我 a、b、c、d。我应该怎么办?
ans1 = I(x,y);
ans2=I(x+1,y);
ans3=I(x,y+1);
ans4=I(x+1,y+1);
a*x+b*y+c*x*y+d==ans1
a*(x+1)+b*y+c*(x+1)*y+d==ans2
a*x+b(y+1)+c*x*(y+1)+d==ans3
a*(x+1)+b*(y+1)+c*(x+1)*(y+1)+d==ans4
问题的表述方式,我猜答案是
[x y x*y 1; (x+1) y (x+1)*y 1; x (y+1) x*(y+1) 1; (x+1) (y+1) (x+1)*(y+1) 1]*[a b c d]'=[ans1 ans2 ans3 ans4]'
或
A = [x y x*y 1
(x+1) y (x+1)*y 1
x (y+1) x*(y+1) 1
(x+1) (y+1) (x+1)*(y+1) 1];
x = [a
b
c
d];
b = [ans1
ans2
ans3
ans4];
A*x == b;
因此求解 x
:
[x y x*y 1; (x+1) y (x+1)*y 1; x (y+1) x*(y+1) 1; (x+1) (y+1) (x+1)*(y+1) 1]\[ans1 ans2 ans3 ans4]'
或
A\b;
我有 4 个方程式,我知道 x 和 y 以及 ans1 到 ans4。但我希望 matlab 求解这 4 个方程并给我 a、b、c、d。我应该怎么办?
ans1 = I(x,y);
ans2=I(x+1,y);
ans3=I(x,y+1);
ans4=I(x+1,y+1);
a*x+b*y+c*x*y+d==ans1
a*(x+1)+b*y+c*(x+1)*y+d==ans2
a*x+b(y+1)+c*x*(y+1)+d==ans3
a*(x+1)+b*(y+1)+c*(x+1)*(y+1)+d==ans4
问题的表述方式,我猜答案是
[x y x*y 1; (x+1) y (x+1)*y 1; x (y+1) x*(y+1) 1; (x+1) (y+1) (x+1)*(y+1) 1]*[a b c d]'=[ans1 ans2 ans3 ans4]'
或
A = [x y x*y 1
(x+1) y (x+1)*y 1
x (y+1) x*(y+1) 1
(x+1) (y+1) (x+1)*(y+1) 1];
x = [a
b
c
d];
b = [ans1
ans2
ans3
ans4];
A*x == b;
因此求解 x
:
[x y x*y 1; (x+1) y (x+1)*y 1; x (y+1) x*(y+1) 1; (x+1) (y+1) (x+1)*(y+1) 1]\[ans1 ans2 ans3 ans4]'
或
A\b;