Filter löschen
Filter löschen

Nested For loop to test two data sets

3 Ansichten (letzte 30 Tage)
Andrew Ghali
Andrew Ghali am 13 Mär. 2018
Kommentiert: Abraham Boayue am 13 Mär. 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 Kommentar
Abraham Boayue
Abraham Boayue am 13 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Abraham Boayue
Abraham Boayue am 13 Mär. 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 Kommentar
Abraham Boayue
Abraham Boayue am 13 Mär. 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.

Melden Sie sich an, um zu kommentieren.


KSSV
KSSV am 13 Mär. 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

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by