matlab for循环画图

p=1;
for i=1:7;
p=p*6^(-i);
s5='(10*50*p*(1-p)^49)/(4+7*50*p*(1-p)^49-3*(1-p)^50)';
s5=vectorize(s5);
s5=eval(s5);
end
plot(p,s5)
不出图第怎么回事呢?

p=1;

figure

hold on

for i=1:7;

p=p*6^(-i);

s5='(10*50*p*(1-p)^49)/(4+7*50*p*(1-p)^49-3*(1-p)^50)';

s5=vectorize(s5);

s5=eval(s5);

plot(p,s5,'*')

end

for循环流程图

执行过程为:

求解表达式1;

求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步;

求解表达式3;

转回上面第2步继续执行;

循环结束,执行 for 语句下面的语句。

执行过程中,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。

以上内容参考:百度百科-for循环

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-14
p=1;
figure

hold on
for i=1:7;
p=p*6^(-i);
s5='(10*50*p*(1-p)^49)/(4+7*50*p*(1-p)^49-3*(1-p)^50)';
s5=vectorize(s5);
s5=eval(s5);
plot(p,s5,'*')
end
他就会把每个循环形成的p和s5以星号的形式画到一张图上,你开始的程序只能画一个点,且画成小圆点看不清楚本回答被提问者和网友采纳
第2个回答  2012-11-06
你的p对后只得到一个函数值,怎么出图?
应该把p定义为一个向量才行。
相似回答