【问题标题】:How to derive an angle to time in mupad如何在 mupad 中推导出时间角度
【发布时间】:2026-02-07 05:55:01
【问题描述】:

所以我有一个非常讨厌的正弦和余弦函数,它代表某个系统中某个点的位置。现在我知道点的位置取决于角度 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

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

【问题讨论】:

    标签: derivative mupad


    【解决方案1】:

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

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

    【讨论】: