Hey, I am new to MATLAB. I am running the following code and cant figure out why the plot shows no data. I know it is showing only the last iteration, but I dont know how to fix it. I have tried using/not using a for loop, I basically need a plot of v vs t. But I would like to learn how to plot results of a for loop. PLEASE HELP:
%for
t= [-5.0:0.5:50.0] %s
if t>=0 & t<=10
v=(11*(t.^2))-(5*t)
elseif t>=10 & t<=20
v=1100-(5*t)
elseif t>=20 & t<=30
v=(50*t)+2*((t-20)^2)
elseif t>30
v=1520* exp(-0.2*(t-30))
else
v=0
end
format long g
%end
%Tab=table(t(:), v(:))
plot(t(:),v(:))
hold on
File is also attached.

 Respuesta aceptada

Adam Danz
Adam Danz el 26 de En. de 2021
Editada: Adam Danz el 26 de En. de 2021

1 voto

The solution involves matlab indexing which is a very basic skill to know before making much progress.
This should get you started.
t= [-5.0:0.5:50.0];
v = zeros(size(t));
idx = t>=0 & t<=10;
v(idx) = (11*(t(idx).^2))-(5*t(idx));
idx = t>=10 & t<=20;
v(idx) = 1100-(5*t(idx));
% repeat for the other indices

2 comentarios

Shantanu Chatterji
Shantanu Chatterji el 26 de En. de 2021
Thanks Mr. Danz!
Does this mean that a for loop/if statement is not required or would this work even if i added for/if statements to this?
Thanks, you are awesome!
Adam Danz
Adam Danz el 26 de En. de 2021
This solution does not need any loops or conditional statements.
Indexing acts as conditons. The "idx" variable is a logical vector identifying which values to access and change.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Graphics Performance en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Preguntada:

el 26 de En. de 2021

Comentada:

el 26 de En. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by