如何用matlab中的已知和未知变量求解多方程

时间:2016-02-17 07:10:45

标签: matlab function equation

我有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

1 个答案:

答案 0 :(得分:2)

问题的表达方式,我猜答案是

[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;