How to use a for loop to iterate through all columns in a row, and then go down each row and iterate through all the corresponding columns in the same way?

4 visualizaciones (últimos 30 días)
Hi, so I have a vector called Currents (size is 531 by 758), and a vector called r (size is 531 by 1). My equation is V=Currents/r. Using this equation, I need to create a new vector V, which has the same size as Currents. How can I use a for loop to go through all 758 columns corresponding to each row, and calculate V for each of those columns using the corresponding r value for that row, and then repeat this same step for each row 531 times until the end? Any help would really be appreciated!!!
EDIT: Here is the code I was writing. It isn't giving me the correct output though.
V=zeros(size(Currents))
for i=1:length(r)
for j=1:length(Currents)
V(i,j)=Currents(i,j)/r(i)
end
end

Respuestas (2)

KSSV
KSSV el 12 de Feb. de 2020
V = Currents./r ;
Where Currents is your 531*758 matrix and r is 531*1 matrix.
  5 comentarios
KSSV
KSSV el 12 de Feb. de 2020
Why did you use *?
Currents = rand(531,758) ;
r = rand(531,1) ;
v = currents./r ;
Zuha Yousuf
Zuha Yousuf el 12 de Feb. de 2020
I didn't use that. What I'm saying is, there is a different r value to be used for the calculation for each row. So we do need to use a for loop. I already have the values for Currents and r, so why are we initializing them using rand?

Iniciar sesión para comentar.


darova
darova el 12 de Feb. de 2020
Use repmat
a = rand(531, 758);
r = rand(531, 1);
R = repmat(r,[1 758])
res = a./R;

Categorías

Más información sobre Loops and Conditional Statements en Help Center 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