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!