matlab for循环画图

matlab for循环画图,第1张

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画图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9466793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存