p=1;
figure
hold on
for i=1:7;
p=p6^(-i);
s5='(1050p(1-p)^49)/(4+750p(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、plot()
最通用的绘图函数,可以接受一个向量或两个向量作为坐标输入,但是两个向量作为输入时这两个向量必须有相同的长度。
2、ezplot()
快捷绘图指令,可以大大简化编程过程,仅需要通过字符串的形式输入待求解表达式(甚至隐函数方程),即可得到结果。
扩展资料
在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。
默认情况,MATLAB在每次调用plot函数时将ColorOrder和LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。
使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意,hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。
另外,可以通过下面四个属性设置标识符的颜色和大小“
LineWidth”指定线宽;
MarkerEdgeColor“指定标识符的边缘颜色;
MarkerFaceColor”指定标识符填充颜色;
MarkerSize“指定标识符的大小。
注意:上面四个属性是针对当前坐标系中所有曲线的。
一般绘制公式对应的图形是二维的,就只介绍一下二维绘图函数吧,三维绘图原理类似。
常用的二维绘图函数:
plot(x,y,‘s’)
x,y是向量,分别表示点集的横坐标和纵坐标,s表示线型、颜色、点形
(1)图形标记
•title(‘加图形标题');
•xlabel('加X轴标记');
•ylabel('加Y轴标记');
•text(X,Y,'添加文本');
•grid on 加网格线
•text(x,y,‘string’) adds the string in quotes(引号) to the location specified by the
point (x,y)
•\bullet ·
•\pi π
•\rightarrow
右箭头
•EdgeColor -- Color of the rectangle's edge
(none by default)
•‘EdgeColor’ ,‘red’
(2)坐标轴设置
•axis([xmin xmax ymin ymax]) 设定最大和最小值
•axis (’auto’)
将坐标系统返回到自动缺省状态
•axis (’square’) 将当前图形设置为方形
•axis (’equal’) 两个坐标因子设成相等
•axis (’off’) 关闭坐标系统
•axis (’on’) 显示坐标系统
(3)添加图例
legend('图例说明','图例说明');
2符号函数画图
(1)ezplot(‘f(x)’,[a,b])
表示在a<x<b绘制显函数f=f(x)的函数图
(2)fplot(‘fun’,lims)
表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形或
lims=[xmin,xmax,
ymin,ymax]
(3)subplot(m,n,p)
表示将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区
3对数坐标画图
(1)loglog(Y) 表示 x、y坐标都是对数坐标系
(2)semilogx(Y) 表示 x坐标轴是对数坐标系
semilogy(…) 表示y坐标轴是对数坐标系
(3)plotyy
有两个y坐标轴,一个在左边,一个在右边
4其他画图函数
(1)stairs(x,y) 绘制阶梯图形
(2)bar(x,y) 绘制条形图形
(3)fill(x,y,’c’) 绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量
用到的不会用的函数可以百度搜“matlab (那个函数)",就可以找到许多用法的实例,英文好的话直接看matlab 帮助里的用法解释。
希望可以帮助到你。
用MATLAB画图,应注意:对于自变量是向量形式存在,在进行相乘、相除和乘法运算时,必须采用点运算符,即“”,“/”,“^”。
对于本例,可以这样做。
>>x=0:005:1; %取0-1的若干个数值,以等差数列形式生成
>>y=(2x)/(1+x^2); %求x向量对应的y向量
>>plot(x,y) %绘制二维图形
>> xlabel('x'),ylabel('y'); %标注坐标轴名称
运行结果
下面的M文件是你第一个题目的程序,第二个和它类似,你只要将u的值确定,每次更改西格玛的值就好了!
x=-5:01:5;
y1=exp(-(x)^2/2)/(sqrt(2pi));
plot(x,y1,'rp-');
hold on;
y2=exp(-(x+1)^2/2)/(sqrt(2pi));
plot(x,y2,'k-');
hold on;
y3=exp(-(x-1)^2/2)/(sqrt(2pi));
plot(x,y3,'bO-');
hold on;
xlabel('x');
ylabel('y');
legend('u=0','u=-1','u=1');
grid on
a = sym(input('请输入a的值:'));
syms x y;
ezplot(x^2/a+y^2/(25-a^2)-1,[-10,10,-10,10]);
可以画出图像
运行后:
请输入a的值:3
这个很简单的,比如你要画B定义在[0,20]内的图像,就这样编写程序
B=[0:01:20];%中间的01表示B每隔01取一个值
v=1;h=2;r=3;l=4;%再然后就是那个表达式
vp=v(sqrt(ll-(h-rsin(B))(h-rsin(B)))cos(B)-(h-rsin(B))/l)sqrt(ll-(h-rsin(B))( h-rsin(B)))
plot(B,vp);%以B为横坐标,vp为纵坐标画图
自己再根据需要修改。不懂的再问
以上就是关于matlab for循环画图全部的内容,包括:matlab for循环画图、matlab常用的绘图函数、怎样用matlab画图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)