Physics Quıestion in Matlab
1 回表示 (過去 30 日間)
古いコメントを表示
As you can see question in below.I wrote this code but matlab gives some error.What can I do?
if true
function [outputArg1,outputArg2] = untitled2(inputArg1,inputArg2)
F=3;
x=1;
k=-F/x;
k
x(0)=1;
Dx(0)=-0.5;
x(t)=c1*sin(sqrt(k/m)*t)+c2*cos(sqrt(k/m));
end
0 件のコメント
採用された回答
Birdman
2018 年 1 月 21 日
編集済み: Birdman
2018 年 1 月 21 日
Learn how to use Symbolic Toolbox first. Here is one approach:
F=3;m=4;x0=1;
%%1st
k=F/x0;
%%2nd-3rd
syms x(t)
eq=m*diff(x,t,2)==-k*x;
Dx=diff(x,t);
x=dsolve(eq,[x(0)==1 Dx(0)==0.5])
%4th
t=subs(t,0:0.01:2);
x=subs(x,t);
plot(t,x)
2 件のコメント
Birdman
2018 年 1 月 21 日
Ah, no. Just someone with little experience about this stuff. You are welcome :)
その他の回答 (1 件)
Roger Stafford
2018 年 1 月 21 日
編集済み: Roger Stafford
2018 年 1 月 21 日
Matlab does not accept indices equal to zero. These can only be positive integers greater than zero. Therefore "x(0)=1;" and "Dx(0)=-0.5;" are not permitted. The same would apply to "x(t)" if 't' were of improper size.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!