用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...
更复杂的,如
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的表达式,该怎么输入? 展开
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的表达式,该怎么输入? 展开
展开全部
x+y=a,x-y=b 求x,y不用输入x、y、a、b等字母。
具体做的时候是将方程写成矩阵的形式,即AX=B,其中A=[1 1;1 -1],B=[a;b]
然后在命令行直接输入A\B,即可得出解。
例如x+y=3 x-y=1,根据系数可写出A=[1 1;1 -1] B=[3;1]
A\B=[2 1],解x=2,y=1.
更复杂的四元一次方程组也是类似,求出系数矩阵A,和常数项B,A\B即可。
但对于非一次方程,不能用上述方法求,需用解非线性方程组的方式求,比较复杂,这里不细说了。
具体做的时候是将方程写成矩阵的形式,即AX=B,其中A=[1 1;1 -1],B=[a;b]
然后在命令行直接输入A\B,即可得出解。
例如x+y=3 x-y=1,根据系数可写出A=[1 1;1 -1] B=[3;1]
A\B=[2 1],解x=2,y=1.
更复杂的四元一次方程组也是类似,求出系数矩阵A,和常数项B,A\B即可。
但对于非一次方程,不能用上述方法求,需用解非线性方程组的方式求,比较复杂,这里不细说了。
追问
没有具体数字,要字母表达式...
追答
可以用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');
最后,用A\B则可在matlab中直接得到结果x=(b+a)/(c+1);y= (c*a-b)/(c+1)
用a=3,b=1,c=1代入验证可知是正确的。
其它方程也是同样道理
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询