Matlab计算与仿真 第五次上机实习: Matlab绘图 按要求完成下述练习 观察下述 Matlab绘图命令的执行结果 1.plot指令:绘制直角坐标的二维曲线 cf:%清除图形窗口 X=linspace(o,8"pi, 100) F= inline(sin(x+cos(X+sin(×)):%创建匿名函数 1=F(x): sin (x+cos(X+sin(x))): 2=0.2*X+F(x)%0. 2x+sin(x+cos(x+sin(x)) plot(x, y1, k:,X,y2, k-) legend(sin(x+cos(x+sin(x)),0. 2x+sin(x+cos(*+sin(x))), 2) 2.图形的属性设置和屏幕控制 h=plot([O: 0.1: 2*pi]. sin([O: 0. 1: 2*piD); grid on set(h, Line Width, 5, color,red) set(gca, GridLine Style, -,fontsize, 16) 设置y坐标的刻度并加以说明,并改变字体的大小 h=plot([O: 0. 1: 2*pi], sin([O: 0.1: 2 *pi]): grid on, set(gca, ytick [-1-0.500.] set(ca, yticklabel',alblcldle) set(gca, fontsize, 20) 3.文字标注指令 plot(, y1, b, X,y2, k-) set(gca, fontsize, 15, fontname, times New Roman) %设置轴对象的字体为 Times New Roman,字体的大小为15 title( \it(Peroid and linear peroid function)): %加标题,注意文字用单引号’加上%斜杠"\后可输入不同的设置 %例如计{-}表示花括号里的文字为斜体:如果有多项设置,则可用\\…连续输入 xlabel(x from 0 to 8*pi it(t)\): ylabel(\ity)") %说明坐标轴 text(x (49),y1(50)-04, '\fontsize (15)\bullet \leftarrow Theperiodfunction itf(×}) %在坐标(x(49)y1(50)-0.4)处作文字说明,各项设置用"\"隔开。 %\ fontsize{15} bullet \leftarrow的意义依次是:\字体大小:15\画圆点\左箭头 text(x( 14), y2(50)+1, \fontsize(15]The linear period function \itg(x)] \rightarrow \bullet) %与上一语句类似,用右箭头
Matlab计算与仿真 第五次上机实习: Matlab 绘图 按要求完成下述练习 观察下述 Matlab 绘图命令的执行结果 1. plot 指令:绘制直角坐标的二维曲线 clf; % 清除图形窗口 x=linspace(0,8*pi,100); F=inline('sin(x+cos(x+sin(x)))'); %创建匿名函数 y1=F(x); % sin(x+cos(x+sin(x))); y2=0.2*x+F(x) % 0.2x+sin(x+cos(x+sin(x))); plot(x,y1,'k:',x,y2,'k-') legend('sin(x+cos(x+sin(x))','0.2x+sin(x+cos(x+sin(x)))',2) 2. 图形的属性设置和屏幕控制 h=plot([0:0.1:2*pi],sin([0:0.1:2*pi])); grid on set(h,'LineWidth',5,'color','red'); set(gca,'GridLineStyle','-','fontsize',16) %设置 y 坐标的刻度并加以说明,并改变字体的大小。 h=plot([0:0.1:2*pi],sin([0:0.1:2*pi]));grid on, set(gca,'ytick',[-1 -0.5 0 0.5 1]), set(gca,'yticklabel','a|b|c|d|e'), set(gca,'fontsize',20) 3. 文字标注指令 plot(x,y1,'b',x,y2,'k-') , set(gca,'fontsize',15,'fontname','times New Roman'), %设置轴对象的字体为 Times New Roman,字体的大小为 15 title(' \it{Peroid and linear peroid function}'); %加标题,注意文字用单引号' ' 加上%斜杠'\'后可输入不同的设置, %例如 it{…}表示花括号里的文字为斜体;如果有多项设置,则可用\…\…\…连续输入。 xlabel('x from 0 to 8*pi it{t}\'); ylabel('\it{y}'); %说明坐标轴 text(x(49),y1(50)-0.4,'\fontsize{15}\bullet\leftarrowTheperiodfunction… {\itf(x)}'); %在坐标(x(49),y1(50)-0.4)处作文字说明,各项设置用"\"隔开。 %\fontsize{15}\bullet\leftarrow 的意义依次是:\字体大小=15 \ 画圆点 \左箭头 text(x(14),y2(50)+1,'\fontsize{15}The linear period function {\itg(x)}… \rightarrow\bullet') %与上一语句类似,用右箭头
Matlab计算与仿真 4.观察指令 legend和rum2str的用法:在同 张图上画出 Peroid and linear peroid function y=sin()和y=3 2-05tt∈[0,3 The linear period functiong(x)? 并进行适当的标注 t=0:01:3pi alpha=0: 0. 1: 3*pi: plot(t, sin(t), r-): hold on: plot(alpha, 3*exp(-05*alpha), k:) 图2.5文字标注 set(gca, 'fontsize, 15, fontname,times New Roman), xlabel( \it(t(deg))) ylabel( \it(magnitude]) title( \it(sine wave and \it(Ae)"(-alpha n \itt]]wave)): %注意 alpha的意义 text(6, sin(6), \fontsize( 15)The Value \it(sin(t)at \itt =6 \rightarrow \bullet HorizontalAlignment, right ), %上面的语句是一整行,如果要写成两行,必须使用续行号…,例如要在" bullet'," %后换行,需写" bullet’,"后才能换行 %' HorizontalAlignment'; right’表示箭头所指的曲线对象在文字的右边。 text(2, 3*exp(-05*2).[\fontsize (15)\bullet\leftarrow The value of lit(3e][0.5 \it(t))=, num2str(3*exp(-0 5*2)), at \itit)=2 D %mum2str的用法:[ string',mum2sr, string2],注意方括号的使用 % legend(' \itsin(t)’,'{\itAe}^{- \alphat})%请结合图形观察此命令的使用 运行结果如图2.6所示。 5.图形窗口的创建和分割 f xelinspace(o, b, 50): for k =1: 9 y=sin(k*×) subplot(3, 3, k): plot(x, y): axis([0, 2 pi, -1, 1]
Matlab计算与仿真 4. 观察指令 legend 和 num2str 的用法:在同 一张图上画出 0.5 sin( ) 3 t y t y e− = = 和 , t [0,3] 并进行适当的标注。 zxy2_2.m clf, t=0:0.1:3*pi; alpha=0:0.1:3*pi; plot(t,sin(t),'r-');hold on; plot(alpha,3*exp(-0.5*alpha),'k:'); set(gca,'fontsize',15,'fontname','times New Roman'), xlabel('\it{t(deg)}');ylabel('\it{magnitude}'); title(' \it{sine wave and {\it{Ae}}^{-\alpha{\itt}}wave}'); %注意\alpha 的意义 text(6,sin(6),'\fontsize{15}The Value \it{sin(t)} at {\itt}=6\rightarrow\bullet', … 'HorizontalAlignment','right'), %上面的语句是一整行,如果要写成两行,必须使用续行号 … ,例如要在“ bullet',” %后换行,需写“bullet', …”后才能换行。 % 'HorizontalAlignment','right' 表示箭头所指的曲线对象在 文字的右边。 text(2,3*exp(-0.5*2),['\fontsize{15}\bullet\leftarrow The Value of \it{3e}^{-0.5 \it{t}}=',num2str(3*exp(-0.5*2)),' at \it{t} =2 ']); %num2str 的用法:['string1' ,num2str,'string2'],注意方括号的使用。 %legend('\itsin(t)','{\itAe}^{-\alphat}') % 请结合图形观察此命令的使用 运行结果如图 2.6 所示。 5. 图形窗口的创建和分割 clf, b=2*pi; x=linspace(0,b,50); for k =1:9 y=sin(k*x); subplot(3,3,k); plot(x,y); axis([0,2*pi,-1,1]) end 0 5 10 15 20 25 30 -1 0 1 2 3 4 5 6 Peroid and linear peroid function x y ?? The period function f(x) The linear period function g(x)? ? 图 2.5 文字标注
Matlab计算与仿真 6.绘制二元函数 绘制二=f(x,y)=(1-x)hn(x-y)的图象,作定义域的裁剪。 观察 meshgrid指令的效果 a=-0.98:b=0.98:c=-1;d=1:n=10 x=linspace(a, b,n): y=linspace(c, d, n) [X, y]=meshgrid(x, y) plot(X, y,+) 三维绘图指令mesh、 mesh、surf 做函数的定义域裁剪,观察上述三维绘图指令的效果。 clear clf a=-:b1:c=-15d=15m20eps1=001 xElinspace(a, b, n): y=linspace(c, d, n): [X, y]meshgrid(x, y): fori=1:n%计算函数值z,并作定义域裁剪 or J= f(1-×(j)eps1×(Jj)-Y()eps1%f语句这样用 z(j)=№aN%作定义域裁剪,定义域以外的函数值为NaN else z(小)=1000*sq+(1-X(j)^-1*og(x(小)Y(j) end Zz=-20*ones(1, n): plot3(×X,zz) grid off: hold on %画定义域的边界线 mesh(Xy,z)%绘图,读者可用 mesh,surf, mesh在此替换之 xlabel(x') ylabel(y), zlabel(z). box on%把三维图形封闭在箱体里 运行上述程序,有关向量存储在工作空间中,在此基础上,观察上述等值线绘制指令 的运行效果 [cs, h]contour(X,y, z, 15) clabel(s, h, labelspacing, 244)
Matlab计算与仿真 6. 绘制二元函数 绘制 ( , ) (1 ) ln( ) 2 1 z = f x y = − x x − y − 的图象,作定义域的裁剪。 - 观察meshgrid指令的效果。 a=-0.98;b=0.98;c=-1;d=1;n=10; x=linspace(a,b, n); y=linspace(c,d, n); [X,Y]=meshgrid(x, y); plot(X,Y,'+') 三维绘图指令mesh、meshc、surf。 - 做函数的定义域裁剪,观察上述三维绘图指令的效果。 clear,clf, a=-1;b=1;c=-15;d=15;n=20;eps1=0.01; x=linspace(a,b,n);y=linspace(c,d,n); [X,Y]=meshgrid(x,y); for i=1:n %计算函数值 z ,并作定义域裁剪 for j=1:n if (1-X(i,j))<eps1|X(i,j)-Y(i,j)<eps1 %if 语句这样用 z(i,j)=NaN; %作定义域裁剪,定义域以外的函数值为 NaN else z(i,j)=1000*sqrt(1-X(i,j))^-1.*log(X(i,j)-Y(i,j)); end end end zz=-20*ones(1,n); plot3(x,x,zz); grid off; hold on %画定义域的边界线 mesh(X,Y,z) %绘图,读者可用 meshz, surf, meshc 在此替换之 xlabel('x'),ylabel('y'),zlabel('z'), box on %把三维图形封闭在箱体里 运行上述程序,有关向量存储在工作空间中,在此基础上,观察上述等值线绘制指令 的运行效果。 [cs,h]=contour(X,Y,z,15); clabel(cs,h,'labelspacing',244)