Physics Quıestion in Matlab
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Birdman
le 21 Jan 2018
Modifié(e) : Birdman
le 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 commentaires
Birdman
le 21 Jan 2018
Ah, no. Just someone with little experience about this stuff. You are welcome :)
Plus de réponses (1)
Roger Stafford
le 21 Jan 2018
Modifié(e) : Roger Stafford
le 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.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!