saving from for loop

Hi guys
I have an array a and b. I want to divide all of the elements from row 1 of array a by the first element from array b and all of the elements from row 2 of array a by second element from array b etc.
Here is an example and what I wrote: a = [1,2,3,4;5,6,7,8;9,10,11,12]; b = [50,60,70];
c = zeros(size(a));
for i=1:length(b)
c(i) = a(i,:)./b(1,i)
end
It does not work and the eror is: In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in try (line 7) c(i) = a(i,:)./b(1,i).
Second thing, I wanted to pre locate the space for results so I used zeros function; is that the best way to allocate space for result from for loop and did I use it correctly in that case?
Thanks in advance jakub

 Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 21 Dez. 2011

1 Stimme

Very close. c(i,:) = a(i,:)./b(1,i)
Yes. You did it right pre-allocating.

1 Kommentar

Jakub
Jakub am 21 Dez. 2011
Hi,
Thanks so much!!!
stupid me.
cheers
jakub

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by