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 次查看(过去 30 天)
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

回答(2 个)

KSSV
KSSV 2020-2-12
V = Currents./r ;
Where Currents is your 531*758 matrix and r is 531*1 matrix.
  5 个评论
Zuha Yousuf
Zuha Yousuf 2020-2-12
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?

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by