MATLAB Answers

0

how will use nested loop

manoj saini さんによって質問されました 2012 年 12 月 18 日
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
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 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
2012 年 12 月 19 日
Yes, and all of the Answers so far give you that.

サインイン to comment.

4 件の回答

回答者: Muruganandham Subramanian 2012 年 12 月 19 日
編集済み: Muruganandham Subramanian 2012 年 12 月 19 日
 採用された回答

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
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.
@walter..I agre your point..

サインイン to comment.


Babak
回答者: Babak
2012 年 12 月 18 日

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

  4 件のコメント

manoj saini 2012 年 12 月 19 日
thanks this shows right answer
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
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.

サインイン to comment.


Walter Roberson
回答者: Walter Roberson
2012 年 12 月 18 日

z = bsxfun(@times, i(:), b);

  0 件のコメント

サインイン to comment.


Sean de Wolski
回答者: Sean de Wolski
2012 年 12 月 18 日

Code golf:
z=i'*b

  1 件のコメント

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

サインイン to comment.



Translated by