如何在mupad中导出一个时间角度

时间:2017-03-02 19:30:21

标签: derivative mupad

所以我有一个非常讨厌的函数,正弦和余弦代表某个系统中某个点的位置。现在我知道点的位置取决于角度Beta。我希望得到函数来找到速度。问题是,当你试图将它推导出来时,mupad认为beta是一个常数。很明显,Beta的导数是角速度。但是我如何告诉mupad?

这是我到目前为止的代码。

reset();
eq:=(a/cos(Beta))^2=(a/cos(Alpha))^2+d^2-2*a/cos(Alpha)*d*sin(Alpha);

Ex:=-a+Lb*cos(Beta);

a:=simplify(solve(eq,a,Real,IgnoreAnalyticConstraints) assuming PI/2<Alpha<PI and 0<Beta<PI/2)[2][1]

Ex:=((combine(Ex,IgnoreAnalyticConstraints)) assuming Beta in R_ and 0<Beta<PI/2)

plot(Ex|[d=0.122,Alpha=11.5*PI/180,Lb=0.8],Beta=0..PI/2,Scaling=Constrained);

Ey:=a*tan(Alpha)+Lb*sin(Beta)

plot(Ey|[d=0.122,Alpha=11.5*PI/180,Lb=0.8],Beta=0..PI/2,Scaling=Constrained)

d:=0.09:
Alpha:=11.5*PI/180:
Lb:=0.85:

plot1:=plot::Curve2d([Ex,Ey],Beta=0..PI/2):
plot2:=plot::Point2d([Ex,Ey],Beta=0..PI/2,Frames=200):
plot(plot1,plot2,x=0.65,ViewingBoxXRange=0..0.7, ViewingBoxYRange=0..0.9, Scaling=Constrained);
delete(d);delete(Alpha);delete(Lb);


pointE:=matrix([Ex,Ey])

diff(pointE,t) assuming diff(Beta,t)=Omega

我在最后一行尝试了一些东西,但显然没有用。

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法:

V_E:=diff(puntE|[Beta=Beta(t)],t)