For Loop Moving Through Array

332 vues (au cours des 30 derniers jours)
HoboHarry
HoboHarry le 30 Août 2018
Modifié(e) : Stephen23 le 30 Août 2018
Trying to write a for loop that moves through an array with 2 columns and 15 rows. The code i've written just provides the same results 15 times for the 1st cells of the array. i'm guessing i need to nest it somehow but i have no idea, a few clues on where i'm wrong would be great
X = Var1;
Y = Var2;
Z = 29;
TableCreate = table(X,Y);
Array = table2array(TableCreate);
for N = 1:length(Array)
A = (Array(1,1)*Z)/Array(1,2);
disp (A)
end
  1 commentaire
Stephen23
Stephen23 le 30 Août 2018
Modifié(e) : Stephen23 le 30 Août 2018
"i'm guessing i need to nest it somehow but i have no idea, a few clues on where i'm wrong would be great"
Inside the loop you need to use indexing into A:
Even better, don't use any loop at all:

Connectez-vous pour commenter.

Réponse acceptée

Sven
Sven le 30 Août 2018
The problem is that you are not using the index N.
A = (Array(1,1)*Z)/Array(1,2);
This line doesn't change, so you will get the same output 15 times. A nested loop would look like this:
[row,col] = size(B);
for N = 1:col
for M = 1:row
A = (B(M,N)*Z)/B(1,2);
disp (A)
end
end
The first loop will start at column 1, then the second loop goes through all rows. After that it repeats with column 2 and so on if you have more columns. Depending on how you want to manipulate the entries you have to use both indexes accordingly.

Plus de réponses (1)

Dennis
Dennis le 30 Août 2018
Modifié(e) : Dennis le 30 Août 2018
You overwrite A in every iteration and you are calculating the same value over and over again (not using N anywhere).
I am not sure why you create a table and turn it into an array afterwards.
MWE:
x=randi(3,3);
y=rand(3);
array=[x, y];
A=zeros(size(array,2),1);
for N=1:size(array,2)
A(N)=array(1,N)+array(2,N); %use N to access array index, i have no clue what you try to calculate so my example is random
end
disp(A)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by