用matlab解字母表示的方程组怎么输入命令,比如说x+y=a,x-y=b,想求出x,y用a,b表示的表达式.

用matlab解字母表示的方程组怎么输入命令,比如说x+y=a,x-y=b,想求出x,y用a,b表示的表达式.

e*x^(e-1)*l^(1-e)=u*(1-a)*z^a*y^(u-ua-1)*m^(1+ua-a-u)*p
(1-e)*x^e*l^(-e)=(1-au-a-u)*z^a*y^(u-ua)*m^(-u-a+au)*p
x+y=n
l+m=q
想求出x,y,l,m的表达式,该怎么输入?
zolong1707 1年前 已收到1个回答 举报

娱乐圈的左眼 春芽

共回答了17个问题采纳率:94.1% 举报

x+y=a,x-y=b 求x,y不用输入x、y、a、b等字母.
具体做的时候是将方程写成矩阵的形式,即AX=B,其中A=[1 1;1 -1],B=[a;b]
然后在命令行直接输入AB,即可得出解.
例如x+y=3 x-y=1,根据系数可写出A=[1 1;1 -1] B=[3;1]
AB=[2 1],解x=2,y=1.
更复杂的四元一次方程组也是类似,求出系数矩阵A,和常数项B,AB即可.
但对于非一次方程,不能用上述方法求,需用解非线性方程组的方式求,比较复杂,这里不细说了.

1年前 追问

3

zolong1707 举报

没有具体数字,要字母表达式...

举报 娱乐圈的左眼

可以用sym()字符串函数得到字母表达式 x+y=a x-y=b 首先,仍然是获得系数矩阵A[1 1;1 -1],若某系数也是字母,例如c,则用sym('c')表示,例如 若方程为x+y=a; cx-y=b,则系数矩阵为A[1 1; sym('c') -1]; 其次,获得常数项向量B[sym('a';sym('b'); 最后,用AB则可在matlab中直接得到结果x=(b+a)/(c+1);y= (c*a-b)/(c+1) 用a=3,b=1,c=1代入验证可知是正确的。 其它方程也是同样道理
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 1.041 s. - webmaster@yulucn.com