Physics Quıestion in Matlab

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

 Accepted Answer

Birdman
Birdman on 21 Jan 2018
Edited: Birdman on 21 Jan 2018
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 Comments

Thank you so much.You are the best matlab coder!
Ah, no. Just someone with little experience about this stuff. You are welcome :)

Sign in to comment.

More Answers (1)

Roger Stafford
Roger Stafford on 21 Jan 2018
Edited: Roger Stafford on 21 Jan 2018
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.

Categories

Find more on Mathematics in Help Center and File Exchange

Tags

Asked:

on 21 Jan 2018

Commented:

on 21 Jan 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!