Azzera filtri
Azzera filtri

For Loop Moving Through Array

186 visualizzazioni (ultimi 30 giorni)
HoboHarry
HoboHarry il 30 Ago 2018
Modificato: Stephen23 il 30 Ago 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 Commento
Stephen23
Stephen23 il 30 Ago 2018
Modificato: Stephen23 il 30 Ago 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:

Accedi per commentare.

Risposta accettata

Sven
Sven il 30 Ago 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.

Più risposte (1)

Dennis
Dennis il 30 Ago 2018
Modificato: Dennis il 30 Ago 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)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by