【发布时间】:2016-02-17 07:10:44
【问题描述】:
我有 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
【问题讨论】:
-
旁注:不要使用 MATLAB 来完成此类任务,但 Mathematica,如果您可以访问它。
-
@RobertStettler 但这是一个图像处理 matlab 代码,无法使用其他应用程序。使用字符串到数字的转换器来告诉 matlab x 是数字而不是被动的呢?
-
@patra 我不明白这个问题。当您说您“知道”
ans1到ans4时,这是否意味着我们可以将它们视为常量?或I在这种情况下是x和y的一些已知功能?不清楚。如果ans1、ans2、ans3、ans4、x和y是常数,那么这只是求解一个简单的线性系统 -
但是当我使用 S=solve(ax+by+cxy+d==ans1,a*(x+ 1)+by+c*(x+1)*y+d==ans2,ax+b(y+1)+c*x*(y+1)+d= =ans3,a*(x+1)+b*(y+1)+c*(x+1)*(y+1)+d==ans4); matlab 糊涂了,有错误。
-
你需要将系统写成矩阵形式为
A*x=b,在这种情况下使用` to solve... don't usesolve`。