ordinary differential equation
古いコメントを表示
i have an equation d(theta)/dt=((P*L^2)/(E*I))*sin(theta*D/L)
L=55.863; D=15.484; E=200*10^9; I=138; P=440*10^6
The initial theta at 1198 years is 0.010degrees.
i have to find theta from the year 1198 to 1990
can someone please help me.its urgent
回答 (1 件)
Grzegorz Knor
2011 年 9 月 29 日
Use ode45:
L=55.863; D=15.484; E=200*10^9; I=138; P=440*10^6;
ode45(@(t,theta)((P*L^2)/(E*I))*sin(theta*D/L),[1198 1990],0.01)
7 件のコメント
12ar.af
2011 年 9 月 29 日
Grzegorz Knor
2011 年 9 月 29 日
Just add two output arguments, and colon in tspan:
[T THETA] = ode45(@(t,theta)((P*L^2)/(E*I))*sin(theta*D/L),[1198:1990],0.01)
Grzegorz Knor
2011 年 9 月 29 日
I don't recomend you inline function, but solution is as follows:
fun = inline('((440*10^6*55.863^2)/(200*10^9*138))*sin(theta*15.484/55.863)','t','theta');
ode45(fun,[1198 1990],0.01)
12ar.af
2011 年 9 月 29 日
Grzegorz Knor
2011 年 9 月 29 日
Solve your equation from 1198 to 1990+200:
[T Y] = ode45(@(t,theta)((P*L^2)/(E*I))*sin(theta*D/L),[1198 1990+200],0.01);
disp(sprintf('year: %i, theta: %.3d',T(end),Y(end)))
12ar.af
2011 年 9 月 29 日
Grzegorz Knor
2011 年 9 月 29 日
Yes, read one of my comment above.
[T THETA] = ode45(@(t,theta)((P*L^2)/(E*I))*sin(theta*D/L),[1198:1990],0.01);
disp([T THETA])
カテゴリ
ヘルプ センター および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!