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

 Réponse acceptée

Birdman
Birdman le 21 Jan 2018
Modifié(e) : Birdman le 21 Jan 2018

0 votes

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 commentaires

Aykut Albayrak
Aykut Albayrak le 21 Jan 2018
Thank you so much.You are the best matlab coder!
Birdman
Birdman le 21 Jan 2018
Ah, no. Just someone with little experience about this stuff. You are welcome :)

Connectez-vous pour commenter.

Plus de réponses (1)

Roger Stafford
Roger Stafford le 21 Jan 2018
Modifié(e) : Roger Stafford le 21 Jan 2018

0 votes

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.

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by