matlab求二元方程组数值解

方程组如下,A和B是常数
A1=x*(y-B1)
A2=x*(y-B2)
请问怎么编程,在下刚开始学matlab,求达人指点,谢谢
我是想学学语句怎么写

程序:
clear
[x y]=solve('A1=x*(y-B1)','A2=x*(y-B2)','x','y')

x =

-(A1 - A2)/(B1 - B2)

y =

(A1*B2 - A2*B1)/(A1 - A2)

clear的话是把之前的内存变量删除。目的是防止出错。
这里用的是solve函数。如果是一元一次方程,没有其他符号则直接可以solve('eq')。eq是等式。如果等号右边是0的话‘=0’可以省略。solve('eq','val')的话是解以val为变量,其他视为常量的等式。解方程组的话是solve(eq1,eq2,...,eqn,val1,val2,...valn)
注意本例中solve返回两个值。一个是x一个是y。所以前面写‘[x y]=’是方便结果的输出。如果不加‘[x,y]=’返回的结果是ans =

x: [1x1 sym]
y: [1x1 sym]
这个时候你可以通过x=ans.x,y=ans.y得到最后的结果。

如果要学习语句的话,我建议多看看matlab的帮助。虽然是英语的,但是介绍的非常详细。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-17
clear
A=[1 2];
B=[3 1];
syms x y
eq=A-x.*(y-B)
[x,y]=solve(eq(1),eq(2),'x','y')

eq =

[ 1-x*(y-3), 2-x*(y-1)]

x =

1/2

y =

5
第2个回答  2009-07-17
solve('A1=x*(y-B1)','A1=x*(y-B1)')
第3个回答  2009-07-17
手算都能很快完成的,你问什么偏要用Matlab来解呢?找一本数值计算方法或者叫数值分析的书看看!
我试试给你写一个
你试试用符号运算!Matlab里有,对于这样的方程利用Maple解答更加的简单!
相似回答