Effacer les filtres
Effacer les filtres

Nested For loop to test two data sets

3 vues (au cours des 30 derniers jours)
Andrew Ghali
Andrew Ghali le 13 Mar 2018
Commenté : Abraham Boayue le 13 Mar 2018
I need help running through two sets of data to send to a function. I want to run each value of d for the entire range of Q values and store it in a matrix. This is what I could think of but this only tests a single d value for a single Q value. Please help me.
i=1
for d=1:1:5
for Q=10:1:15
[Re]= Reynold(d,Q);
Reynolds(i,1)= Re;
i=i+1
end
end
  1 commentaire
Abraham Boayue
Abraham Boayue le 13 Mar 2018
Oh, I forgot the part that you wanted to feed your function with d and Q, but you can still use the matrix for this purpose. Re =Reynolds(d(i),A(i,:)) This statement will make the function to run i times, one output for each value of d and the corresponding values of Q. Note that A (i, :) is a vector value of Q for every d value.

Connectez-vous pour commenter.

Réponses (2)

Abraham Boayue
Abraham Boayue le 13 Mar 2018
d = 1:5;
Q = 10:15;
N = length(d);
M = length(Q);
v = zeros(1,M);
A = zeros(N,M);
for i = 1:N
for k =1:M
v(k) = Q(k);
A(i,:) = v;
end
end
disp(A)
  1 commentaire
Abraham Boayue
Abraham Boayue le 13 Mar 2018
This code would do the trick, each row of the matrix A represents the number of times that d runs and the columns are the values of Q.

Connectez-vous pour commenter.


KSSV
KSSV le 13 Mar 2018
N = 5 ;
D = 1:1:5 ;
Q = 10:1:!5 ;
Re = zeros(length(D),length(Q),N) ;
for i=1:N
R = zeros(length(D),length(Q)) ;
for d=1:length(D)
for q=1:length(Q)
R(D(d),Q(q)= Reynold(D(d),Q(q));
end
end
Re(:,:,i) = R ;
end

Catégories

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by