利用matlab求函数的解析解及数值解
前两天看师弟在求一个线性方程组的解,只不过这个方程组的系数是待定的,因此可以算做是利用matlab求函数的解析解。利用同样的方法也可以求数值解。
1.求线性方程组的解析解
syms W1 W2 g1 g2 q1 q2 P0;
syms a A1 A2 b1 b2 c1 c2 d1 d2 e1 e2 G X1 X2 P1 P2 P3;
[WH1, WH2, gH1, gH2, qH1, qH2, PH0]= solve((2-2P1b1/A1)W1==P1e1+2X1-2G+2g1-a+q2-P3,(2-2P2b2/A2)W2==P2e2+2X2-2G+2g2-a+q1-P3, 2c1g1==2P1b1W1/A1+P1e1-P3,2c2g2==2P2b2W2/A2+P2e2-P3,q1==X1-W1-G+g1,q2==X2-W2-G+g2,P0==a-q1-q2,[W1, W2, g1, g2, q1, q2, P0])
已知,a A1 A2 b1 b2 c1 c2 d1 d2 e1 e2 G X1 X2 P1 P2 P3; 并且知道W1 W2 g1 g2 q1 q2 P0和已知量的关系,求解W1 W2 g1 g2 q1 q2 P0;
代码:
syms W1 W2 g1 g2 q1 q2 P0;
syms a A1 A2 b1 b2 c1 c2 d1 d2 e1 e2 G X1 X2 P1 P2 P3;
[WH1, WH2, gH1, gH2, qH1, qH2, PH0]= solve((2-2P1b1/A1)W1==P1e1+2X1-2G+2g1-a+q2-P3,(2-2P2b2/A2)W2==P2e2+2X2-2G+2g2-a+q1-P3, 2c1g1==2P1b1W1/A1+P1e1-P3,2c2g2==2P2b2W2/A2+P2e2-P3,q1==X1-W1-G+g1,q2==X2-W2-G+g2,P0==a-q1-q2,[W1, W2, g1, g2, q1, q2, P0])
主要是利用matlab中的函数slove;
[aa,bb]=slove(关系式子1,关系式子2,[要求的量1,要求的量2])
aa和bb是要求的量1和2的结果
2.利用1中的结果,给出的是方程组,那么[aa,bb]就是方程组的解。具体点说,当方程组是两条线,那么前面给出的就是交点坐标
代码1:
syms x,y;
[aa,bb]=solve(xx+yy==4,x+y=5,[x,y])
代码2:
syms x,y,c,d;
[aa,bb]=solve(xx+yy==c,x+y=d,[x,y])
3类似的还有求微分方程(dslove),具体可以再百度,或者看matlab的帮助文档。