how to plot only one iteration in for loop?

4 次查看(过去 30 天)
A=[2 2 2; 3 3 3; 1 1 1];
B=[1 2 3];
As you can see it bellow, this loop consist of 3 iterations. Can i ask Matlab to plot the second case or third case only? if its possible, please tell me how?
for i = 1:3
C = B + A(1:end,i)
end
C1 =
3
5
4
C2 =3
5
4
C3 =3
5
4
plot (x,C2)
or
plot (x,C3)
Thank you guys for your help, I appreciate any help from you
  2 个评论
Brwa
Brwa 2013-5-29
I have edited the question, i hope its been clear enough to understand

请先登录,再进行评论。

回答(4 个)

David Sanchez
David Sanchez 2013-5-29
for i = 1:3
C = B + A(1:end,i);
if i==2
disp(C);
end
end
  2 个评论
Brwa
Brwa 2013-5-29
Hi Mr David thanks for your help again, but what if i have a big loop such as
for i =1:100
is there a better way to do it?
Image Analyst
Image Analyst 2013-5-29
编辑:Image Analyst 2013-5-29
That is not a big loop. Now if you get into the tens of millions of iterations, then you're getting big, but 100 is far, far from a "big loop" so don't worry about it. There is an unjust fear of loops going around. For example, look at this loop where I iterate a million times:
tic;
count = 0;
for k = 1 : 1000000
count = count + 1;
end
toc
Now look at the elapsed time:
Elapsed time is 0.0071 seconds.

请先登录,再进行评论。


Muruganandham Subramanian
编辑:Muruganandham Subramanian 2013-5-29
what is x?..see while plotting the size of xlabel and ylabel should be same.. In ur code x might be
x=[1 2 3];
If its right, then you can do it by
for i = 1:3
C = B + A(1:end,i);
if i~=1
plot(x,C);
end
end
  1 个评论
Brwa
Brwa 2013-5-31
编辑:Brwa 2013-5-31
Dear Muruganandham Subramanian you are right, your code is very simple and almost the same as David Sanchez's code, but my problem is, i only know what i want to plot after the end of loop or after i know the result of all C1, C2, Cn.
After knowing the result probabily i will be interested to plot C2 or C3 it depend on the result.
so if x = [ 1 2 3]
for i = 1:3
C = B + A(1:end,i);
end
Ans
C1
C2
C3
now i can decide which one i should plot.
maybe i want to plot (x,C2)
Note C1 not equal C2 not equal C3, in my real code, I just dont put my real code because its too long its consist of several M.files
Thanks brother, Thanks to all of you. I really dont know how to appreciate your helps and your kindness. i hope someday i can help people with my knowledge too.

请先登录,再进行评论。


Andrei Bobrov
Andrei Bobrov 2013-5-29
id = [4 10 26 78]; % Let id case's use for the plotting.
for i1 = 1:100
C = B + A(1:end,i1);
if ismember(i1,id)
plot(x,C);
end
end

Brwa
Brwa 2013-5-31
Thanks you guys, I collected all of your ideas then I come out with new code which can do my job.
Here is the code
A=[2 4 2; 3 4 3; 1 1 1]
B=[1; 2; 3];
x =[1 2 3];
for i = 1:3
C = B + A(:,i);
end
Ans =
C1
C2
C3
Now, if i want to plot C2 then i have to make another loop. As I said i can only make sure what do i want to plot after all results of C from the first loop.
for i = 1:3
C = B + A(:,i);
C
if i==2
plot(x,C);
end
end
If you have better idea please share it with us.

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by