nullMATLAB语言MATLAB语言China University of Petroleum数据和函数的可视化 数据和函数的可视化
一、二维曲线
二、三维立体图形
三、easy绘图
四、 动画设计一、二维曲线 一、二维曲线 1、绘制二维图形的一般步骤
2、基本绘图指令(Plot)
3、图形的控制
4、图轴的控制
5、加入说明文字
6、多图形绘制
7、二维特殊图形
1、绘制二维图形的一般步骤1、绘制二维图形的一般步骤数据准备
选定图形窗及子图位置
调用绘图指令:线性、色彩、数据点型
设置轴的范围与刻度、坐标分隔线
图形注释:图名、坐标名、图例、文字说明
图形的精细整理
打印1、绘制二维图形的一般步骤1、绘制二维图形的一般步骤数据准备
例: x=0:2*pi
y=sin(x)1、绘制二维图形的一般步骤1、绘制二维图形的一般步骤数据准备
例: x=0:0.1:2*pi
y=sin(x)2、基本绘图指令(Plot)2、基本绘图指令(Plot)Plot : 最基本的绘图指令:
对x 坐标及相对应的 y 坐标进行作图。x = linspace(0, 2*pi);% 在 0 到 2π 间,等分取 100 个点
y = sin(x); % 计算 x 的正弦函数值
plot(x, y); % 进行二维平面描点作图2、基本绘图指令(Plot)2、基本绘图指令(Plot)一次画出多条曲线:将x 及y 坐标依次送入plot 指令x = linspace(0, 2*pi); % 在 0 到 2 间,等分取 100 个点
plot(x, sin(x), x, cos(x), x, sin(x)+cos(x)); 2、基本绘图指令(Plot)2、基本绘图指令(Plot)若要以不同的线标(Marker)来作图x = linspace(0, 2*pi);% 在 0 到 2 间等分取 100 个点
plot(x, sin(x), 'o', x, cos(x), 'x', x, sin(x)+cos(x), '*');2、基本绘图指令(Plot)2、基本绘图指令(Plot)只给定一个矩阵 y:
对矩阵 y 的每一个列向量(Column Vector)作图y = peaks;
% 产生一个 49×49 的矩阵
plot(y); Notes:
PEAKS is a function of two variables, obtained by translating and scaling Gaussian distributions.2、基本绘图指令(Plot)2、基本绘图指令(Plot)Notes:peaks:
– 为了方便测试立体绘图,MATLAB 提供了一个peaks 函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:
– 在MATLAB 命令視窗直接鍵入peaks,可得到下
列方程式
z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
- 1/3*exp(-(x+1).^2 - y.^2) 2、基本绘图指令(Plot)2、基本绘图指令(Plot)只给定一个矩阵 y:
对矩阵 y 的每一个列向量(Column Vector)作图y = peaks;
% 产生一个 49×49 的矩阵
plot(y); 2、基本绘图指令(Plot)2、基本绘图指令(Plot)只给定一个矩阵 y:
如果x为实数向量,其维数为m,则plot(x)等价于plot(y,x),其中y=1:m;
a=[5 2 8 4 7 2];
plot(a)2、基本绘图指令(Plot)2、基本绘图指令(Plot)只给定一个矩阵 y:
(1)如果x为实数向量,其维数为m,则plot(x)等价于plot(y,x),其中y=1:m;
a=[5 2 8 4 7 2];
plot(a)2、基本绘图指令(Plot)2、基本绘图指令(Plot)只给定一个矩阵 y:
(2)如果x为实数矩阵,则把x按列方向分解为几个列向量,而x的行数为n,则plot(x)等价于plot(y,x),其中y=[1;2;…;n]; a=[1 2 3;5 6 7;1 2 3];
plot(a)2、基本绘图指令(Plot)2、基本绘图指令(Plot)x 和 y 都是矩阵:
plot(x, y) 会取用 y 的每一个列向量和对应的x 列向量作图x = peaks;
y = x';
% 求矩阵 x 的转置矩阵 x'
plot(x, y);
% 取用矩阵 y 的每一列向量,与对应矩阵 x 的每一个列向量作图2、基本绘图指令(Plot)2、基本绘图指令(Plot)z 是一个复数向量或矩阵:
– plot(z) 将z 的实部(即real(z))和虚部(即imag(z))当成x 坐标和 y 坐标来作图,
– 其效果等于plot(real(z), imag(z))x = randn(30);
% 产生 30×30 的随机数矩阵
z = eig(x);
% 计算 x 的特征值
plot(z, 'o')
grid on % 画出网格线2、基本绘图指令(Plot)2、基本绘图指令(Plot)z 是一个复数向量或矩阵:
– plot(z) 将z 的实部(即real(z))和虚部(即imag(z))当成x 坐标和 y 坐标来作图,
– 其效果等于plot(real(z), imag(z))z =
-4.9939 + 2.5317i
-4.9939 - 2.5317i
4.0625 + 3.9644i
4.0625 - 3.9644i
-5.0095
-1.3640 + 4.0972i
-1.3640 - 4.0972i
4.4254 + 1.1738i
4.4254 - 1.1738i
1.0893 + 3.9947i …….3、图形的控制3、图形的控制plot 指令,可以接受一个控制字符串输入
– 用以控制曲线的颜色、格式及线标
– 使用语法
plot(x, y, ‘CLM‘)
– C:曲线的颜色(Colors)
– L:曲线的格式(Line Styles)
– M:曲线所用的线标(Markers)3、图形的控制3、图形的控制plot 指令,可以接受一个控制字符串输入
– 用以控制曲线的颜色、格式及线标
– 使用语法
plot(x, y, ‘CLM‘)
– C:曲线的颜色(Colors)
– L:曲线的格式(Line Styles)
– M:曲线所用的线标(Markers)3、图形的控制3、图形的控制范例:
用黑色点线画出正弦波每一点画上一个小菱形
x = 0:0.5:4*pi; % x 向量的起始与结束元素为 0 及4π
y = sin(x);
plot(x, y,‘r:d’) % 其中r代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
红色,:代表点线,而diamond 则指定菱形为曲线的线标3、图形的控制
—— plot 指令的曲线颜色 ——3、图形的控制
—— plot 指令的曲线颜色 ——3、图形的控制
—— plot 指令的曲线格式——3、图形的控制
—— plot 指令的曲线格式——3、图形的控制
—— plot 指令的曲线点形(线标)——3、图形的控制
—— plot 指令的曲线点形(线标)——4、图轴的控制4、图轴的控制 plot 指令会根据坐标点自动决定图轴范围
也可以使用axis 指令指定图轴范围
使用语法:
axis([xmin, xmax, ymin, ymax])
* xmin , xmax:指定x 轴的最小和最大值
* ymin, ymax:指定 y 轴的最小和最大值4、图轴的控制4、图轴的控制画出正弦波在y 轴介于0 和1 的部份 x = 0:0.1:4*pi; % 起始与结束元素为 0 及 4,0.1 为
%各元素相差值
y = sin(x); plot(x, y);4、图轴的控制4、图轴的控制画出正弦波在y 轴介于0 和1 的部份 x = 0:0.1:4*pi; % 起始与结束元素为 0 及 4,0.1 为
%各元素相差值
y = sin(x); plot(x, y);
axis([-inf, inf, 0, 1]); % 画出正弦波 y 轴介于 0 和 1 的部份inf指令:
以资料点
的最小和
最大值取
代之4、图轴的控制4、图轴的控制改变图轴长宽比的指令
* 改变目前图轴长宽比的指令
* 需在plot 指令之后调用才能发挥效用5、加入说明文字5、加入说明文字画出网格线或画出图轴外围的方形5、加入说明文字5、加入说明文字画出网格线或画出图轴外围的方形5、加入说明文字5、加入说明文字subplot(1,1,1);
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');5、加入说明文字5、加入说明文字5、加入说明文字5、加入说明文字5、加入说明文字5、加入说明文字text指令
语法:text(x, y, string)
– x、y :文字起始坐标位置
– string :代表此文字 x = 0:0.1:2*pi;
plot(x, sin(x), x, cos(x));
text(pi/4, sin(pi/4),'\leftarrow sin(\pi/4) = 0.707');
text(5*pi/4, cos(5*pi/4),'cos(5\pi/4) = -0.707\rightarrow', 'HorizontalAlignment', 'right');6、多图形绘制6、多图形绘制(1)同一窗口多个子图
在一个窗口产生多个图形(图轴)
一般形式为subplot (m, n, p)
– 将窗口分为m ×n 个区域
– 下一个plot 指令绘图于第p 个区域
– p 的算法为由左至右6、多图形绘制6、多图形绘制同时画出四个图于一个窗口中
x = 0:0.1:4*pi;
subplot(2, 2, 1); plot(x, sin(x)); %左上角图形
subplot(2, 2, 2); plot(x, cos(x)); %右上角图形
subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5));%左下角图形
subplot(2, 2, 4); plot(x, x.^2); % 右下角图形6、多图形绘制6、多图形绘制(2)多个图形窗口
需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。
figure(n) %产生新图形窗口
每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。6、多图形绘制6、多图形绘制(2)多个图形窗口 x=linspace(0,2*pi,60);
y=sin(x); z=cos(x); t=tan(x);
H1=figure; %创建新窗口并返回句柄到变量H1
plot(x,y); title('sin(x)'); axis ([0 2*pi -1 1]);
H2=figure; %创建第二个窗口并返回句柄到变量H2
plot(x,z);
title('cos(x)');
axis ([0 2*pi -1 1]);
H3= figure(5) %创建识别号为5的窗口并返回句柄到变量H3
plot(x,t);
title('tangent(x)');
axis ([0 2*pi -40 40]); 6、多图形绘制6、多图形绘制(3)同一窗口多次重绘
若在已存在图形窗口中用plot命令继续添加新的图形内容,可使用图形保持命令hold。发出命令hold on后,再执行plot命令,在保持原有图形或曲线的基础上,添加新绘制的图形。 6、多图形绘制6、多图形绘制(3)同一窗口多次重绘
例:在同一窗口绘制函数sin(x)和cos(x)在区间[0,2л]的曲线 x=linspace(0,2*pi,60);
y=sin(x); z=cos(x);
plot(x,y,'b'); %绘制正弦曲线
hold on; %设置图形保持状态
plot(x,z,'g'); %保持正弦曲线同时绘制余弦曲线
axis ([0 2*pi -1 1]);
legend('cos','sin');
hold off %关闭图形保持 7、二维特殊图形7、二维特殊图形(1)对数坐标图形
(2)极坐标图
(3)阶梯图形
(4)条形图形
(5)填充图形
(6)面积图形
(7)扇形图的绘制
(8)针头图形
7、二维特殊图形
—— 对数坐标图形 ——7、二维特殊图形
—— 对数坐标图形 ——双对数坐标
例:绘制y=|1000sin(4x)|+1的双对数坐标图。程序为:
x=[0:0.1:2*pi];
y=abs(1000*sin(4*x))+1;
loglog(x,y); %双对数坐标绘图命令7、二维特殊图形
—— 对数坐标图形 ——7、二维特殊图形
—— 对数坐标图形 ——单对数坐标
例:以X轴为对数重新绘制上述曲线,程序为:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogx(x,y); %单对数X轴绘图命令7、二维特殊图形
—— 对数坐标图形 ——7、二维特殊图形
—— 对数坐标图形 ——单对数坐标
例:同样,可以以Y轴为对数重新绘制上述曲线,程序为:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogy(x,y); %单对数Y轴绘图命令7、二维特殊图形
—— 对数坐标图形 ——7、二维特殊图形
—— 对数坐标图形 ——单对数坐标
例:同样,可以以Y轴为对数重新绘制上述曲线,程序为:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogy(x,y); %单对数Y轴绘图命令7、二维特殊图形
—— 极坐标图 ——7、二维特殊图形
—— 极坐标图 ——函数polar(theta,rho)用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径。
例:绘制sin(2*θ)*cos(2*θ)的极坐标图,程序为:theta=[0:0.01:2*pi];
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho); %绘制极坐标图命令
title('polar plot');7、二维特殊图形
—— 阶梯图形 ——7、二维特殊图形
—— 阶梯图形 ——函数stairs(x,y)可以绘制阶梯图形(StairStep Plots) 。 x=[-2.5:0.25:2.5];
y=exp(-x.*x);
stairs(x,y);
%绘制阶梯图形命令
title('stairs plot'); 7、二维特殊图形
—— 条形图形 ——7、二维特殊图形
—— 条形图形 ——长条图(Bar Graphs)
特别适用于少量且离散
的资料。欲画出垂直长
条图,可用bar 指令。
x = [1 3 4 5 2];
bar(x);7、二维特殊图形
—— 条形图形 ——7、二维特殊图形
—— 条形图形 ——长条图(Bar Graphs)
特别适用于少量且离散
的资料。欲画出垂直长
条图,可用bar 指令。
x = [1 3 4 5 2];
bar(x);7、二维特殊图形
—— 条形图形 ——7、二维特殊图形
—— 条形图形 ——bar 指令也可接受矩阵输入,它会将同一横列的数据聚集在一起。
x = [2 3 4 5 7;
1 2 3 2 1];
bar(x);7、二维特殊图形
—— 条形图形 ——7、二维特殊图形
—— 条形图形 ——*bar 及barh 指令还有一项特异功能,就是可以将同一横列的数据以堆栈(Stack)方式来显示。
x = [2 3 4 5 7;
1 2 3 2 1];
bar(x,'stack')7、二维特殊图形
—— 条形图形 ——7、二维特殊图形
—— 条形图形 ——长条图的指令和类别:
x=[1 2 3 4 5 6];y=[5 6 2 8 12 1];
bar(x, y);
xlabel('月份'); % x 轴的说明文字
ylabel('平均温度 (^{o}c)'); % y 轴的说明文字
% 下列指令将 x 轴的数字改成月数
set(gca, 'xticklabel', {'一月','二月','三月', '四月', '五月', '六月'});7、二维特殊图形
—— 填充图形 ——7、二维特殊图形
—— 填充图形 ——fill(x,y,’c’)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。字符 ’c’
规定
关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定
填充颜色,其取值前已叙述。
x=[0 1 1 0 0];
%正方形顶点坐标向量
y=[0 0 1 1 0];
fill(x,y,'y');
%绘制并以黄色填充正方形图7、二维特殊图形
—— 面积图形 ——7、二维特殊图形
—— 面积图形 —— AREA(X,Y) produces a stacked area plot suitable for showing the contributions of various components to a whole.
y = rand(10,3)*100;
x = 1:10;
area(x, y);
xlabel('Year');
ylabel('Count')7、二维特殊图形
—— 扇形图形 ——7、二维特殊图形
—— 扇形图形 —— 使用pie 指令,可画出平面扇形图(Pie Charts),并可加上说明。
x = [2 3 5 4];
label={'东','南','西','北'};
pie(x, label);7、二维特殊图形
—— 扇形图形 ——7、二维特殊图形
—— 扇形图形 —— pie 指令直接将x 元素视为面积百分比,因此可画出不完全的扇形图。
x = [0.21, 0.14, 0.38];
pie(x);7、二维特殊图形
—— 扇形图形 ——7、二维特殊图形
—— 扇形图形 —— pie 指令还有一特异功能,可将某个或数个扇形图向外拖出,以强调部份资料。x = [2 3 5 4];
explode = [1 1 0 0];
pie(x, explode);7、二维特殊图形
—— 针头图形 ——7、二维特殊图形
—— 针头图形 ——顾名思义,针头图(Stem Plots)就是以一个大头针来表示某一点数据,其指令为stem。t = 0:0.2:4*pi;
y = cos(t).*exp(-t/5);
stem(t, y)7、二维特殊图形
—— 针头图形 ——7、二维特殊图形
—— 针头图形 ——针头图特别适用于表示「数字信号处理」(DSP)中的数字信号。若要画出实心的针头图,可加“fill”选项。t = 0:0.2:4*pi;
y = cos(t).*exp(-t/5);
stem(t, y, 'fill');7、二维特殊图形7、二维特殊图形t = 0:0.4:4*pi;
y = sin(t).*exp(-t/5);
fill(t, y, ‘y’);
hold on
stem(t, y, ‘b’);2.5维图形绘制2.5维图形绘制(1)等高线图绘制
(contour、contourf、clabel)
(2)向量场图的绘制
(guiver)
(3)伪彩色图
(pcolor)
2.5维图形绘制
—— 等高线图绘制 ——2.5维图形绘制
—— 等高线图绘制 ——用contour 指令来画出等高线图z = peaks;
contour(z, 30);
%画出30 条等高线2.5维图形绘制
—— 等高线图绘制 ——2.5维图形绘制
—— 等高线图绘制 ——若要画出特定高度的等高线,可执行如下:z = peaks;
contour(z, [0 2 5]);2.5维图形绘制
—— 等高线图绘制 ——2.5维图形绘制
—— 等高线图绘制 ——欲标明等高线的高度,可用clabel 指令。z = peaks;
[c,handle] = contour(z, 10);
clabel(c, handle);2.5维图形绘制
—— 等高线图绘制 ——2.5维图形绘制
—— 等高线图绘制 ——若欲在等高线之间填入颜色,可用contourf指令z = peaks;
contourf(z);2.5维图形绘制
—— 向量场图绘制 ——2.5维图形绘制
—— 向量场图绘制 ——使用quiver 指令可画出平面上的向量场图,特别适用于表示分布于平面的向量场。[x, y, z] = peaks(20);
[u, v] = gradient(z);
contour(x, y, z, 10);
hold on, quiver(x,y,u,v);
hold off2.5维图形绘制
—— 伪彩色图绘制 ——2.5维图形绘制
—— 伪彩色图绘制 ——clf;clear;
[X,Y,Z]=peaks(40);
n=4;
pcolor(X,Y,Z)二、三维立体图形二、三维立体图形1.基本三维立体绘图指令
2.三维立体图形与图轴的基本技巧
3.曲面颜色的控制二、三维立体图形
—— 基本三维立体绘图指令 ——二、三维立体图形
—— 基本三维立体绘图指令 ——plot3:
– plot3 指令可画出三度空间中的曲线。t = linspace(0,20*pi, 501);
% 在 0 及 20*pi 中间取 501 点
plot3(t.*sin(t), t.*cos(t), t);
% 画出tsin(t),tcos(t),t 的曲线二、三维立体图形
—— 基本三维立体绘图指令 ——二、三维立体图形
—— 基本三维立体绘图指令 ——plot3:
– plot3 指令可画出三度空间中的曲线。t=0:pi/50:10*pi; y1=sin(t),y2=cos(t);
plot3(y1,y2,t); title(‘helix’);text(0,0,0,'origin');
xlabel('sin(t)'),
ylabel('cos(t)'),
zlabel('t');
grid;二、三维立体图形
—— 基本三维立体绘图指令 ——二、三维立体图形
—— 基本三维立体绘图指令 ——plot3:
– 亦可同时画出两条三度空间中的曲线。t = linspace(0, 10*pi, 501);
plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);
% 同时画两条曲线nullChina University of Petroleum