What is the problem with my codes? I could not see the plot.
m=0.5;
k=5;
A=0.5;
w0=sqrt(k/m);
t1=1;
while (t1<10)
y1=A*sin(w0*t1);
t1=t1+1;
end
plot(t1,y1)

 Akzeptierte Antwort

Alan Stevens
Alan Stevens am 8 Mai 2022

0 Stimmen

By the time you get to the plot command you only have a single value of t1 and a single value of y1 as you overwrite each of them each time through the while loop. You would be better to use a for loop here, something like:
t1 = 1:10
for i = 1:10
y1(i) = A*sin(w0*t1(i));
end

4 Kommentare

Ömer Fatih Özdemir
Ömer Fatih Özdemir am 8 Mai 2022
Thank you! it works. And i should make a plot of the velocity that is first derivative of displacement equation(y1)(A*sin(w0*t1(i))) again 10 times how can i do?
Torsten
Torsten am 8 Mai 2022
t1 = 1:10
for i = 1:10
y1(i) = A*sin(w0*t1(i));
dy1dt(i) = A*w0*cos(w0*t1(i));
end
Alan Stevens
Alan Stevens am 8 Mai 2022
Just add
v(i) = A*w0*cos(w0*t1(i));
Ömer Fatih Özdemir
Ömer Fatih Özdemir am 8 Mai 2022
Thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by