longdebaby 发表于 2008-9-28 18:46

求解一个超越方程组

求解一个超越方程组,要求每给一个rx(41.35<rx<61.35,间隔1取值),就得到对应的(t,R)。大侠们,救命啊!
clear all
syms a b c d e A B K H P Ri R rx t C1 C2 C3 C4 C5 C6 C7 C8 dR dt M1 M2 M3 M4
a=20*pi/180
c=pi/6
d=(4+269/60)*pi/180
A=40
K=5.5
H=0
B=10
P=5
Ri=20
C1=sin(c)*cos(d)*sin(e)-sin(d)*cos(e)
C2=cos(c)*cos(b)*sin(e)+sin(c)*sin(b)*sin(d)*sin(e)+sin(b)*cos(d)*cos(e)
C3=(A-K*e)*sin(e)+H*cos(e)
C4=sin(c)*cos(d)*cos(e)+sin(d)*sin(e)-cos(c)*cos(d)/tan(a)
C5=cos(c)*cos(b)*cos(e)+sin(c)*sin(b)*sin(d)*cos(e)-sin(b)*cos(d)*sin(e)+(sin(c)*cos(b)-cos(c)*sin(b)*sin(d))/tan(a)
C6=(A-K*e)*cos(e)-H*sin(e)+(B-P*e)/tan(a)-Ri
C7=((A-K*e)*sin(c)*sin(d)+H*cos(d)-(B-P*e)*cos(c)*sin(d)+rx*(cos(d)*sin(e)-sin(c)*sin(d)*cos(e)))/tan(a)+(Ri-rx)*cos(c)*sin(d)
C8=((A-K*e)*cos(c)+(B-P*e)*sin(c)-rx*cos(c)*cos(e))/tan(a)-(Ri-rx)*sin(c)
b=atan(C7/C8)+pi
R=(C3*C4-C1*C6)/(C1*C5-C2*C4)
t=(C2*C6-C3*C5)/(C1*C5-C2*C4)
dR=diff(R)
dt=diff(t)
(cos(c)*cos(d)*dR/dt+sin(c)*cos(b)-cos(c)*sin(d)*sin(b))*P+(sin(c)*cos(d)*dR/dt-cos(c)*cos(b)-sin(c)*sin(d)*sin(b))*(sin(d)*t-cos(d)*R*sin(b)-H-K)+(-sin(d)*dR/dt-cos(d)*sin(b))*(sin(c)*cos(d)*t+cos(c)*R*cos(b)+sin(c)*sin(d)*R*sin(b)+A-K*e)=0

无水1324 发表于 2008-9-29 19:36

回复 楼主 longdebaby 的帖子

你这个怎么还含有dR/dt,那他就是微分方程了啊?
超越方程的求解可以试一下fsolve等

longdebaby 发表于 2008-10-4 21:50

问题就是这样啊,我解了很久都没有解出来。所以就到论坛来求救了啊,大侠们救命啊!!!!!

longdebaby 发表于 2008-10-4 21:51

我试了fsolve,可是老是提示我出错,说超出范围。

longdebaby 发表于 2008-10-6 20:18

请教高手啊

longdebaby 发表于 2008-10-9 14:46

自己顶起!

happy 发表于 2008-10-11 06:58

改用数值解吧

longdebaby 发表于 2008-10-13 14:52

原帖由 happy 于 2008-10-11 06:58 发表 http://www.chinavib.com/forum/images/common/back.gif
改用数值解吧

不是很懂,能不能详细解答下?
页: [1]
查看完整版本: 求解一个超越方程组