how can i use for loop to solve the below problem

12 views (last 30 days)
Add an if statement to the for loop body. If speed(c) is less than or equal to 0, create a loglog plot of s against lambda using a dashed line (--).
After the if statement, add the command hold on so that only one plot is created.
the below didnt work for me:
if speed(c) <= 0
loglog(lambda,s,"--")
end
hold on
end
  3 Comments
Saurav Bhagasra
Saurav Bhagasra on 4 Mar 2022
for c = 1:7
s = spectra(:,c)
if speed(c) <=0
loglog(lambda,s,"--")
end
hold on
end

Sign in to comment.

Accepted Answer

Abdolkarim Mohammadi
Abdolkarim Mohammadi on 22 May 2020
You have used an extra end. Delete the end in the last line. I think you must use hold on before your for loop and place the if inside the for loop.

More Answers (2)

Damrudhar
Damrudhar on 20 Jan 2023
Add an else statement. If speed(v) is greater than 0, create a plot of s against lambda using a line width of 3.
After the for loop, enter hold off.
  1 Comment
Gemma Lyn
Gemma Lyn on 13 Jan 2024
for v = 1:7
s = spectra(:,v)
if speed(v) <=0
plot(lambda,s,"--")
else speed(v) >0
plot(lambda,s,LineWidth=3)
end
hold on
end
hold off

Sign in to comment.


Khotso
Khotso on 23 Aug 2025

for v = 1:7 s = spectra(:,v) if speed(v) <=0 plot(lambda,s,"--") else speed(v) >0 plot(lambda,s,LineWidth=3) end hold on end hold off

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!