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 Comments

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.)
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 on 25 Apr 2014
Edited: A Jenkins on 25 Apr 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.)
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)')

Sign in to comment.

Answers (1)

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.

Tags

Asked:

on 24 Apr 2014

Answered:

on 23 Sep 2021

Community Treasure Hunt

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

Start Hunting!