eatnche594 发表于 2007-8-21 16:16

如果非线性微分方程中含有自变量的分段函数,如何用ode函数求解

這次我已經降階好的運動方程式

functionyp=ivp13(t,y)

yp=zeros(1,16);% note: column vector
yp(1)=y(2);
yp(2)=((6.15*10.^6*(y(3)-y(1)))-(6.15*10.^6*y(1)))/(13.2)-y(16);
yp(3)=y(4);
yp(4)=((8.1*10.^7*(y(5)-y(3)))-(6.15*10.^6*(y(3)-y(1))))/(1.3)-y(16);
yp(5)=y(6);
yp(6)=(6.03*10.^6*(y(7)-y(5))-8.1*10.^7*(y(5)-y(3)))/(2.28)-y(16);
yp(7)=y(8);
yp(8)=(8.1*10.^7*(y(9)-y(7))-6.03*10.^6*(y(7)-y(5)))/(1.12)-y(16);
yp(9)=y(10);
yp(10)=((V+0.5*A*y(9)+0.5*J*y(9).^2)*8.1*10.^7.*(D+y(11)-(D+V*y(9)+0.5*A*y(9).^2)))-2.01*10.^6*(y(9)-y(7))/(3.66)-y(16);
yp(11)=y(12);
yp(12)=(2.01*10.^6*(y(13)-y(11))-2.83*10.^8.*(D+y(11)-(D+V*y(9)+0.5*A*y(9).^2)))/(0.35)-y(16)*V-A*y(15).^2;
yp(13)=y(14);
yp(14)=(1000-2.01*10.^6*(y(13)-y(11)))/(5)-y(16)*V-A*y(15).^2;
yp(15)=y(16);
y(16)=(107.257-D*(0.25+0.104+5)*(V*y(16).^2+1000))/(0.096+13.2+1.3+2.28+1.12+3.66+((0.25+0.104+5)*D.^2));
yp=yp';

其中D,V,A,J是有自变量的分段函数,如附件

想請問大俠,俠女我該如何用ode函数求解

給定條件為

tspan=;
x0=;
求解yp(16),yp(14)

麻煩了 感激不盡

无水1324 发表于 2007-8-21 18:06

里面的X是自变量,相当于t吗?

eatnche594 发表于 2007-8-21 18:23

回复 #2 无水1324 的帖子

x0是初始值全部都為0

无水1324 发表于 2007-8-21 18:49

回复 #3 eatnche594 的帖子

哦,不好意思我#2写错了,
是你附件中的X

eatnche594 发表于 2007-8-21 19:44

回复 #4 无水1324 的帖子

θa 是凸輪作動角,是指凸輪旋轉角 θi 在此轉位角內,將驅動輸出軸做分割旋轉,在轉位角外,輸出軸並不跟輸入軸連動而處於暫停狀態0~50度dwell60~310度是active 320~360度dwell

无水1324 发表于 2007-8-21 20:28

%         x-b, x>b
%      f=   0, abs(x)<b
%          x+b,x<-b

x''+c*x‘+f=0

funcion dy=fun(t,x)
% b为常数
if x>b
f=x(1)-b;
elseif x<-b
f=x(1)+b;
else
f=0
end
dy=

这是一个简单的分段的例子,我对你的物理模型及参数还是没有看懂,所以只能给你写一个典型的单自由度的例子

eatnche594 发表于 2007-8-22 11:09

回复 #6 无水1324 的帖子

掰謝 讓您看不懂了 會照這例題 試著解看看

咕噜噜 发表于 2007-8-22 15:06

回复 #7 eatnche594 的帖子

建议楼主用简体字,繁体字看不懂
页: [1]
查看完整版本: 如果非线性微分方程中含有自变量的分段函数,如何用ode函数求解