how will use nested loop

hello my problem is that i have 11 value for any variable suppose i=1:11 and have another variable suppose b=2:12 also has 11 values now my question is that i want to find out value for i=1 for z=i*b total 11 values and for i=2 another 11 value of z and so on how i can use nested loop

3 件のコメント

Image Analyst
Image Analyst 2012 年 12 月 18 日
編集済み: Image Analyst 2012 年 12 月 18 日
It's not clear what you want. Please give an example with 2 11-element arrays, a and b, and what output(s) you want.
manoj saini
manoj saini 2012 年 12 月 19 日
for i=1 I want 11 values of i*b in one row for i=2 I want 11 values of i*b in one row for i=3 I want 11 values of i*b in one row AND SO ON..............
Walter Roberson
Walter Roberson 2012 年 12 月 19 日
Yes, and all of the Answers so far give you that.

サインインしてコメントする。

 採用された回答

Muruganandham Subramanian
Muruganandham Subramanian 2012 年 12 月 19 日
編集済み: Muruganandham Subramanian 2012 年 12 月 19 日

0 投票

try this:
z = zeros(11,11);
for a=1:11
for b=2:12
z(a,b)=a*b;
end
end
z(:,1)=[];

2 件のコメント

Walter Roberson
Walter Roberson 2012 年 12 月 19 日
You declare z as 11 x 11, but then you use it as 11 x 12.
Because of the way MATLAB handles assignments to non-existant locations, this will work, but it does indicate a logic fault on your part.
Muruganandham Subramanian
Muruganandham Subramanian 2012 年 12 月 19 日
編集済み: Muruganandham Subramanian 2012 年 12 月 19 日
@walter..I agre your point..

サインインしてコメントする。

その他の回答 (3 件)

Babak
Babak 2012 年 12 月 18 日

0 投票

Z = zeors(11,11);
for i=1:11
for b=2:12
z=i*b;
end
end

4 件のコメント

Walter Roberson
Walter Roberson 2012 年 12 月 19 日
You would need to change the assignment to be
z(i,b-1) = i * b;
manoj saini
manoj saini 2012 年 12 月 19 日
thanks this shows right answer
manoj saini
manoj saini 2012 年 12 月 19 日
sir now if my varible i=0.1:.11 and b also in point then how it will save
Image Analyst
Image Analyst 2012 年 12 月 19 日
If the number you're multiplying by is a fractional number, like 0.1 or 0.11 then you'll have to separate your index from your number, like I think you originally had in your message where you had a and b instead of i and b. You could just make the loop index from 1 to 11 and then create the array index from it like arrayIndex = i / 10 and then use arrayIndex in z() or wherever.

サインインしてコメントする。

Walter Roberson
Walter Roberson 2012 年 12 月 18 日

0 投票

z = bsxfun(@times, i(:), b);
Sean de Wolski
Sean de Wolski 2012 年 12 月 18 日

0 投票

Code golf:
z=i'*b

1 件のコメント

Walter Roberson
Walter Roberson 2012 年 12 月 18 日
Provided "i" is not complex, which it normally is ;-)

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by