Need help on my for loop

I am having a for loop which is a part of my script. There are 100 mat files in a folder which I am analyzing. Now in each file there is a variable "para" in which I am interested in. This variable is a 200x1 matrix and contains many different values. So i am interested in max and min of it.
Now I want to skip the values after calculation which are greater than 40 and to convert them to 20 and then plot.
So here is my code:
for i = 1:100
load(matFiles(i).name)
x(i)=max(para)-min(para)+1;
if x(k)>70,
x(k)=20;
end
plot(i, x(i), '.')
grid on
title('X')
xlabel('Mat file number');
ylabel('Para');
if i==1,
hold on
end
end
Can you tell me if I am doing it correctly? If not please let me know the correction.
also I got following command from one of my previous question
if i==1,
hold on
end
What is the logic behind this? I mean what it actually do?

Antworten (1)

Nobel Mondal
Nobel Mondal am 29 Mai 2015
Bearbeitet: Nobel Mondal am 29 Mai 2015

0 Stimmen

Isn't there a mix-up between 'i' and 'k' index?
Also, you could use 'hold on' before starting the loop and avoid the condition check for each iteration. 'hold on' essentially lets you plot multiple data series in the same figure - by retaining the previous plot(s) while adding the latest one. Here is the matlab documentation: hold on off

Diese Frage ist geschlossen.

Tags

Noch keine Tags eingegeben.

Gefragt:

am 29 Mai 2015

Geschlossen:

am 20 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by