MATLAB解二元一次方程组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB解二元一次方程组相关的知识,希望对你有一定的参考价值。
clear;
syms Fc psi Fbx Fj alpha Fe beta Fg Ftraction Fby Fn1 G3 L4 L1 L2 L3 L5; %定义变量和参数
E1=sym('Fc*psi1-Fbx-Fj*alpha1-Fe*beta1+Fg*alpha1+Ftraction=0'); %X轴方向平衡方程
E2=sym('Fc*psi2-Fby-Fj*alpha2+Fe*beta2+Fg*alpha2+Fn1-G3=0'); %Y轴方向平衡方程
[Fj,Fg]=solve(E1,E2,'Fj','Fg') %求解变量
Fe=4.1137e8,Fc=6.1478e7,psi1=sind(45),psi2=cosd(45),Fbx=2.3993e7,alpha1=sind(18),alpha2=cosd(18),beta1=sind(93),beta2=cosd(93),Ftraction=0.33e6,Fby=8.3075e7,Fn1=1.127e7,G3=2.76e6,L4=29*0.66,L1=40*0.66,L2=12.5*0.66,L3=4.5*0.66,L5=3.5*0.66,L6=4*0.66,L7=11*0.66 %参数赋值
Fj=eval(Fj) %输出结果
Fg=eval(Fg) %输出结果
上边程序段无法求解,求大神帮忙!!!
已经知道问题出在哪里了,谢谢
根据你的代码更改运行,Fg和Fj不存在(无解)。
更改后的代码:
请检查你的已知数据,是否有误。
参考技术A 一。用matlab 中的solve函数 >>syms x y; %定义两个符号变量; >>[x ,y]=solve('y=2*x+3','y=3*x-7');%定义一个 2x1 的数组,存放x,y >>x >>x=10.0000 >>y >>y=23.0000 二。用matlab 中的反向斜线运算符(backward slash)分析:方程组可化为 2*x-y=-3; 3*x-y=7; AX=B (*) A=[2,-1;3,-1]; B=[-3,7]; X=A\B %可以看成将(*)式左边都除以系数矩阵A >>A=[2,-1;3,-1]; >>B=[-3,7]; >>X=A\b X = 10.0000 % x = 10.0000 23.0000 % y = 23.0000 参考技术B 少了一个单引号。>> [x,y]=solve ('0.99820050*(1+80.01*x+80.01^2*y)=(1+75.9*x+75.9^2*y)','0.998005982*(1+99.99*x+99.99^2*y)=(1+95.6*x+95.6^2*y)','x,y')
x =
.36918070920129827804219245770105e-3
y =
.53287294698475924537841207316834e-6 参考技术C [x,y]=solve ('0.99820050*(1+80.01*x+80.01^2*y)=(1+75.9*x+75.9^2*y)','0.998005982*(1+99.99*x+99.99^2*y)=(1+95.6*x+95.6^2*y)','x,y')
这样就对了
二元一次方程组怎么解
参考技术A 解二元一次方程组有两种方法:(1)代入消元法;(2)加减消元法(1)代入消元法
例:解方程组:x+y=5①
6x+13y=89②
由①得 x=5-y③
把③代入②,得
6(5-y)+13y=89
即 y=59/7
把y=59/7代入③,得x=5-59/7
即 x=-24/7
∴ x=-24/7
y=59/7 为方程组的解
我们把这种通过“代入”消去一个未知数,从而求出方程组的解的方法叫做代入消元法(elimination by substitution),简称代入法.
(2)加减消元法
例:解方程组:x+y=9①
x-y=5②
①+② 得 2x=14
即 x=7
把x=7代入①,得 7+y=9
解,得:y=2
∴ x=7
y=2 为方程组的解
像这种解二元一次方程组的方法叫做加减消元法(elimination by addition-subtraction),简称加减法.
以上是关于MATLAB解二元一次方程组的主要内容,如果未能解决你的问题,请参考以下文章