1.二维图形绘制
【练习1】
在0<=x<=2pi区间内,绘制曲线:y=2exp(-0.5*.x)cos(4pi.*x)
clear all; clc; x=linspace(0, 2*pi, 400); y=2*exp(-0.5.*x).*cos(4*pi.*x); plot(x, y, 'r', 'LineWidth',1) title('y=2*exp(-0.5*.x)*cos(4*pi.*x), Hxx') axis([0 7 -2 2]);
【练习2】
写出绘制方法。
提示:按照以下的步骤进行(1)产生曲线的数据(共有 3 组数据);(2)选择合适的线形、标记、颜色(正弦曲线为红色,余弦曲线为紫色);(3)添加图例及文字说明信息;(4)添加坐标轴说明与图标题。
% Step1:产生曲线的数据,确定函数和自变量范围 clear all; clc; x=linspace(0, 4*pi, 400); % 自变量范围从0到4*pi x1=linspace(0, 16, 32); y1=sin(x); y2=cos(x); y3=0; % 法一:以横纵坐标作为 plot 函数参数 % plot(x, y1) % hold on % plot(x, y2) % 法二:以矩阵作为 plot 函数参数 A=[y1 ; y2]'; B=[x ; x]'; plot(B, A) % Step2:选择合适的线形、标记、颜色 % 颜色:正弦曲线为红色,余弦曲线为紫色 % 线形:sinx 虚线,cosx 实线 plot(x, y1, 'r:', x, y2, 'm', x1, y3, 'k.') gtext('\leftarrowsinx') gtext('\leftarrowcosx') % Step3:添加图例及文字说明信息 legend('sinx', 'cosx') % Step4:添加坐标轴说明与图标题 axis([0 16 -1 1]) title('正弦曲线和余弦曲线, Hxx') ylabel('幅度') xlabel('时间')
【思考与练习】
编程绘制[-π, π] 区间内函数y = tan(sin(x)) - sin(tan(x))的曲线,并标记出其极值位置。
2. 三维曲线和三维曲面绘制
使用 plot3 函数绘制一条空间螺旋线:
z=0:0.1:6*pi; x=cos(z); y=sin(z); plot3(x,y,z);
【练习1】
利用子图函数,绘制以上的空间螺旋线的俯视图、左侧视图和前视图。
clear all; clc; z=0:0.1:6*pi; x=cos(z); y=sin(z); subplot(2,2,1) plot3(x,y,z,'m'); title('螺旋线的三维视图') subplot(2,2,2) plot3(x,y,z,'r'); title('螺旋线的俯视图') view(0, 90) subplot(2,2,3) plot3(x,y,z,'g'); title('螺旋线的左侧视图') view(90, 0) subplot(2,2,4) plot3(x,y,z,'b'); title('螺旋线的前视图') view(0, 0)
【练习2】
考虑以下问题:设 z = x^2 * e[-(x2 + y^2)],求定义域 x=[-2,2],y=[-2,2]内的 z 值(网格取 0.1)。请把 z 的值用网面图形象地表示出来.
clear all, close all; x=-2:0.1:2; y=x; [X,Y]=meshgrid(x,y); Z=X.^2 .* exp(-(X.^2 + Y.^2)); mesh(X,Y,Z); title('椭圆抛物面网线图') figure(2) surf(X,Y,Z); title('椭圆抛物面网面图')
3. 图像文件的读取和显示
【思考与练习】
下列组图如何实现?
这里以另一张图片为例:
clc; clear all; close all; x=imread('tower.jpg'); %首先读取图像文件 subplot(2,2,1) imshow(x) title('原始图像') subplot(2,2,2) y=255-double(x); %对图像进行反色处理 y=uint8(y); imshow(y) title('反色图像') subplot(2,2,3) lr_tw = fliplr(x); % 左右翻转 imshow(lr_tw) % 显示左右翻转效果 title('左右图像') subplot(2,2,4) ud_tw = flipud(x); % 上下翻转 imshow(ud_tw) % 显示上下翻转效果 title('上下图像')