whats wrong with my code.. its from a book but cant run
tspan=[0 4];
y0=[0.02;0];
[t,y]=ode45('unforced1',tspan,y0);
plot(t,y(:,1));
grid on
xlabel(time)
ylabel(Displacement)
title(Displacement Vs Time)
hold on;
its function is function yp = unforced1(t,y)
yp = [y(2);(-((c/m)*y(2))-((k/m)*y(1)))];

댓글 수: 4

Torsten
Torsten 2019년 6월 24일
You must give numerical values to k,c an m if you use ode45.
felik kamwera
felik kamwera 2019년 6월 24일
okay m=5,, k=1000,c=1000, can u help how the code should look like
Chinmay Anand
Chinmay Anand 2019년 6월 24일
What are c and m defined in your function ? Have you assigned any values to them ?
felik kamwera
felik kamwera 2019년 6월 24일
should i give them values in the function definition or call?

댓글을 달려면 로그인하십시오.

 채택된 답변

madhan ravi
madhan ravi 2019년 6월 24일

0 개 추천

tspan=[0 4];
y0=[0.02;0];
m=5;
k=1000;
c=1000;
[t,y]=ode45(@(t,y)unforced1(t,y,c,m,k),tspan,y0); % function call
plot(t,y(:,1));
grid on
xlabel('time')
ylabel('Displacement')
title('Displacement Vs Time')
%function definition
function yp = unforced1(t,y,c,m,k) % if your version is prior to 2016b save this in a separate file name unforced1.m
yp = [y(2);
(-((c/m)*y(2))-((k/m)*y(1)))];
end

댓글 수: 1

felik kamwera
felik kamwera 2019년 6월 24일
thank u very much...i have seen where i was wrong..again thank u

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2019년 6월 24일

댓글:

2019년 6월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by