Specify columns inside a for loop

Hi
I would like to know if the code I attached will do the following: I want the value in the for loop to multiply by the price. But more specifically, I want this value to multiply by 10 if it is in the columns 1-8 and for the rest of the columns multiply by 15.
Thanks
for j=1:365
for i=1:25
if data(1,i)>=1 && data(1,i)<=8
price=10;
else
price=15;
end

 Respuesta aceptada

Nathan Greco
Nathan Greco el 13 de Jul. de 2011
You are only checking of the data within any given column is between 1 and 8, which isn't what you describe to be wanting.
Just compare i's:
if i >= 1 && i <= 8
%...
else
%...
end
I represents the columns you are iterating over, so you would want to test versus i.

Más respuestas (1)

Chirag Gupta
Chirag Gupta el 13 de Jul. de 2011
You might not need to use a for loop
% rand data
data = rand(365,25);
% colums 1-8
data(:,1:8) = data(:,1:8)*10;
% colums 9 -25
data(:,9:25) = data(:,9:25)*15;

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by