Physics Quıestion in Matlab

1 visualización (últimos 30 días)
Aykut Albayrak
Aykut Albayrak el 21 de En. de 2018
Comentada: Birdman el 21 de En. de 2018
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

Respuesta aceptada

Birdman
Birdman el 21 de En. de 2018
Editada: Birdman el 21 de En. de 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 comentarios
Aykut Albayrak
Aykut Albayrak el 21 de En. de 2018
Thank you so much.You are the best matlab coder!
Birdman
Birdman el 21 de En. de 2018
Ah, no. Just someone with little experience about this stuff. You are welcome :)

Iniciar sesión para comentar.

Más respuestas (1)

Roger Stafford
Roger Stafford el 21 de En. de 2018
Editada: Roger Stafford el 21 de En. de 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.

Categorías

Más información sobre Code Generation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by