表12 数据点绘图命令:Plot(X,Y,’color_linestyle_marker’),X,Y是同维向量,分别表示点的横坐标与纵坐标;color linestyle marker
r(red) 红色g(green) 绿色b(blue) 蓝色y(yellow) 黄色k(black) 黑色w(white) 白色c(cyan) 青色m(magenta) 品红-实线(默认)
-- 双画线
: 虚线
-. 点画线
none 无线
+ 加号*型号.小黑点o小圆圈(字母)x 交叉号
d或diamond菱形s或square正方形p或pentagram正五角星
h或hexagram 正六角星^反勾号> 大于号<小于号
none 无线
函数绘图命令plot(y) ○1当y为向量时,则以y的元素为纵坐标,以相应元素下标为横坐标,绘制连线图○2若y为实矩阵,则按列绘制多条不同色彩的连线图,曲线的根数等于矩阵的列数○3若y为复数矩阵,则分别以每列元素的实部和虚
部为纵横坐标绘制多条连线图。
plot(x,y,’-o’) 表示以“O”表示数据点,且点与点之间用短线连接,○1若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。
○2若x是向量,y是有一维和x同维的矩阵,则绘制多条不同色彩的连线图,曲线的根数等
于矩阵的另一维,x被作为这些曲线的共同横坐标。
○3如果x为矩阵,y为向量,情况与上相同,只是以y
为共同纵坐标。
○4若x和y为同维矩阵,则以x、y对应元素为横纵坐标分别绘制曲线,曲线的条数等于矩
阵的列数。
○5若x和y为复数矩阵时,MA TLAB将忽略虚数部分。
plot(X,1
Y,
1
S,X,
2
Y,
2
S, (X)
n
Y,
n
S) 将多条线画在一起
ezplot(‘f(x)’,[a,b]) 绘出函数f(x)从a到b区间的图形
ezplot(‘f(x,y)’,[a,b,c,d]) 绘出隐函数f(x,y)=0在[a,b]与[c,d]区间上的图形
ezplot(‘x(t)’,’y(t)’,[t1,t2]) 在区间[t1,t2]上绘出参数方程x=x(t),y=y(t)的函数图形
fplot(‘f(x)’,[a b c d]) 设定x的变化范围为[a,b],y坐标的范围为[c,d]
坐标轴修饰axis tight 指定只画指定数据的范围这两个命令可以同时选中,即axis equal tight
axis square 指定两轴显示的长度相同
xtick或ytick 自己设置刻度线的位置。
如|set(gca,’xtick’,[2 2.1 2.2 2.3 2.4 2.5])表示图形的x轴上只在2~2.5之间等间距的标出六条刻度线。
当指定的轴的刻度超出轴的显示范围时,MATlab将自动放弃这些刻度值。
axis 指定轴的现实范围调用形式axis([xmin,xmax,ymin,ymax])
xlabel(‘字符串’) ylabel(‘字
符串’)
设定x、y轴的标志
loglog 纵横坐标采用对数坐标
semilogx 纵轴采用线性坐标,横轴采用对数坐标
semilogy 纵轴采用对数坐标,横轴采用线性坐标
plotyy 在图的左右两侧分别建立纵坐标轴
图形修饰title(‘字符串’) 给图形加标题‘字符串’
subplot(m,n,k) 将窗口分割成m*n快,并在第k快中显示当前图形
hold 用于向已有的图形窗口加入图形,当hold设为on是,绘图命令并不删除当前图形窗口中的线条,只是把新的数据加入到该图形中,如果新的数据超出坐标的范围,MATlab会自动调整坐标轴的显示范围。
legend(‘字符串’) 给图形增加标签注解,以便意义更直观明确
○1fplot函数的格式和ezplot函数格式一样,但是fplot做图命令可以绘出比较精确的图形,特别对那些变化比较剧烈的函数
○2shg:显示图形窗口;○3clf清除图形窗口已有的内容
○1准备数据x=0:.2:12; y1=bessel(1,x); y2=bessel(2,x);
○2选定绘图窗口或窗口中的区域figure(1) subplot(2,2,1)
○3调用基本绘图命令f=plot(x,y1,x,y2,x,y3);
○4选择线型和数据点图标set(b,’LineWidth’,2,{‘LineStyle”},{‘—‘;’:’;’-.’}) set(h,{‘Color’},{‘r’;’g’;’b’})
○5选定轴的现实范围、刻度线和网格线axis([0 12 -0.5 1]) grid on
○6标注轴、图标和文本xlabel(‘Time’);ylabel(‘Amplitude’) legend(h,’First’,’Second’,’Third’) title(‘bessel functions’); [y,ix]=min(y1); text(x(ix),y,’first min \rightarrow,…)
○7打印图形print –dps2
图形标注范例
x=-pi:0.02*pi:pi;
plot(x,cos(x));
xlabel(‘x=-\pi to \pi’,’FontSize’,16) %’FontSize’,16表示字体ylabel(‘cos(x)’,’FontSize’,16)
title(‘Value of the Cosine’)
text(3*pi/4,cos(3*pi/4),’\leftarrowcos(x)=-.707
‘)
%在(3*pi/4,cos(3*pi/4))处插入左箭头标志
为cos(x)=-.707
text(-pi/2,cos(-pi/2), ’\leftarrowcos(x)=0’)
text(pi/4,cos(pi/4),’cos(x)=0.707\rightarrow’,’
HorizontalAlignment’,’right’)
运行的左后结果是下图:
图1
多项式曲线的拟合:看下个程序
x=[1 2 3 4 5]; y=[5.5 43.1 128 290.7 498.4]; p=polyfit(x,y,3);(这是3次拟合)
x2=1:0.1:5;y2=polyval(p,x2); ploy(x,y,’o’,x2,y2) grid on
1
置上显示彩色圆圈。
X和Y必须大小相同。
S确定标记的大小。
S可以是与X和Y长度相同的向量,也可以为标量。
若S为标量,则将所有的标记绘成相同大小。
C确定每个标记的颜色。
当C为与X和Y长度相同的向量时,将根据C钟的值进行线性着色。
当C为length(X)×3的矩阵时,用RGB值指定标记的颜色。
C也可以是一个颜色字符串。
○2scatter(X,Y)用大小和颜色的默认设置绘标记○3scatter(X,Y,S)使用一种颜色,用指定的大小绘标记。
○4scatter(…,markertype)用指定的标记类型替代’O’○5scatter(…,’filled’)填充标记○6h= scatter(…)返回scatter函数创建的直线对象的句柄。
2.循环语句○1while(条件)语句组A,end 执行到语句时,计算机先检验while后的逻辑表达式,
如为1,就执行语句组A;到end处后,它跳回到while得入口,再检验表达式;如还是1,再执行语
句组A;周而复始,直到表达式不成立为止。
此时就跳过语句组A,直接执行end后的后续语句。
○2for var=array
{commands}
end
说明:var:循环控制变量;array:循环控制向量(不一定是单调的,可以是矩阵)。
执行第i次是,循环变量var就
取循环控制向量中的第i个值,即var=array(i);取到第n个值是,循环结束。
○3break命令用于终止循环的执行。
当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。
continue命令语句控制跳过循环体中的某些语句。
当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环3.。