Forced vibration response Ode45

I am suck on a question for an assignment. I can not get matlab to work the following function I keep getting error messages.
function f=t
F=940*sin(10*pi*t);
k=50000;
damping=0.05;
r=3.224;
x(1+t)=(F/k)/sqrt((1-R^2)^2+4*(damping^2)*r^2);
t=1/(10*pi);
[x,t]=ode45('f',[T,T*50],0);
plot(x)

4 comentarios

A Jenkins
A Jenkins el 24 de Abr. de 2014
Editada: A Jenkins el 25 de Abr. de 2014
Yes, you need some more practice at MATLAB. Type
doc ode45
to see some example problems to work though that will help you learn how it works.
(Some hints for this code...
  • MATLAB cares what order you write things, and how you declare functions.
  • It is also case sensitive, so that 'r' and 'R' are not the same thing.
  • A function handle should be written @f.)
Ryan
Ryan el 24 de Abr. de 2014
Thanks for the reply. I have read the helper page however it doesn't help me figure out where the error is as I have defined things as it states it should be done.
A Jenkins
A Jenkins el 25 de Abr. de 2014
Editada: A Jenkins el 25 de Abr. de 2014
Perhaps you should start with an example that works and slowly make modifications to it until you get to your final result?
Then you will know exactly what change you made and therefore only one line will be incorrect at a time.
(We try not to do people's homework for them, so we only answer specific questions here.)
Ryan
Ryan el 26 de Abr. de 2014
I didn't ask for you to do it for me as you don't have the assignment question. I asked for help with the code I wrote. I have figured out how to do the problem any way.
function [du]=QuestionE(t,u);
du=zeros(2,1);
Damping=0.05;
wn=9.74;
du(1)=-2*Damping*wn*u(1)-u(2)*(wn^2)+(940/530)*sin(10*pi*t);
du(2)=u(1);
end
Damping=0.05;
wn=9.75;
omega=10*pi;
k=50000
m=527.1;
g=9.81;
r=omega/wn;
F=940
wd=wn.*sqrt(1-Damping.^2);
timespan=(50*2*pi)/omega
xst=-(m*g)/k;
v0=0;
A=xst;
B=(v0+Damping*wn*xst)/wd;
[t,u]=ode45(@QuestionE1,[0 timespan],[v0,xst]);
u=exp(-Damping.*wn.*t).*(A.*cos(wd.*t)+B.*sin(wd.*t));
y=(2*Damping*r)/(1-r^2);
fi=atan(y);
X=((F/k)/(sqrt((1-(r^2))^2+4*(Damping^2)*(r^2))))
u1=X.*cos(omega.*t-fi)+u;
plot(t,u,'k')
hold on
plot(t,u1,'b')
title('Forced Vibration Responce')
xlabel('Time')
ylabel('x(t)')

Iniciar sesión para comentar.

Respuestas (1)

Mohammed Siraj
Mohammed Siraj el 23 de Sept. de 2021
Write the program for the task given: The motion of the forced vibratory system with spring-
mass system is modeled by the following equation, solve the differential equation and find the
displacement, velocity with respect to time (from 0 to 120 seconds).Analyze the system by
MATLAB Programming and validate the solution by using SIMULINK. Assume m=1 kg, k=2
N/m, F=120N and ω=1 rad/sec.

Etiquetas

Preguntada:

el 24 de Abr. de 2014

Respondida:

el 23 de Sept. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by