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?

조회 수: 3 (최근 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
KSSV
KSSV 2020년 2월 12일
Why did you use *?
Currents = rand(531,758) ;
r = rand(531,1) ;
v = currents./r ;
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