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('上下图像')