主要目的:
利己:
作者本人本學期選的課,閉卷考試的,用老師的PPT+自己的注譯=數學實驗系列的文章來複習的
利他:
理工科的課程引入數學系,以提升數學系學子對數學的興趣
分析:
實驗二 Matlab圖形處理
考Matlab基本功
實驗三 數據插值與數據擬合
數據處理:
微積分離散化
插值公式的檢驗
实验二 Matlab 图形处理
1 二维图形及相关函数
1.1 基本的图形命令
plot(Y)
如果
Y
为实向量,则以
Y
的下标作为横坐标,以Y
本身各元素为纵坐标,绘制图形。
如果
Y
为复向量,则将以该向量实部作为横坐标,以虚部为纵坐标,绘制图形。
例
1
:
y=rand(100,1);
plot(y)
x=rand(100,1);
z=x+y.*i;
plot(z)
当
plot
函数有两个输入变量时,则以第一个变量为
横坐标,以
Y
第二个变量为纵坐标,绘制图形。
注
:向量
X,Y
必须结构相同的行向量或列向量或矩阵。
例
2
:
x=0:0.01*pi:2*pi;
y=sin(x).*cos(x);
plot(x,y)
例3
:
>> x=0:0.01*pi:pi;
>> y=[sin(x'),cos(x')];
>> plot([x' ,x'],y);
如果在同一幅图中出现多条曲线,
Matlab
会自动地把不同曲线绘制成不同的颜色。
plot
函数也支持三变量输入,此时第三个输入变量
为图形显示属性设置的选项。
-
实线
-.
虚线
:
点线
y
黄线
例:
>> x=1:0.1*pi:2*pi;
>> y=sin(x);
>> z=cos(x);
分别检查运行结果:
>> plot(x,y, '--k' ,x,z, '-.rd')
>> plot(x,y, '-k' ,x,z, '-.rd')
>> plot(x,y, 'k' ,x,z, '-.rd')
>> plot(x,y, 'k' ,x,z, '-.dr')
1.2 特殊二维图形函数
1) 特殊坐标系的二维图形函数
指区别于均匀直角单
y
轴坐标系而言的。如:
(1) 对数坐标
semilogx, semilogy, loglog
例
1
:
>> x = 0:.1:10;
>> semilogy(x,10.^x)
比较:
>> plot(x,10.^x)
例
2
:
x = logspace(-1,2);
%
缺省情况下
50
个数。
loglog(x,exp(x), '-s')
grid on
(2) 极坐标系
polar(theta,rho)
或
polar(theta,rho, S)
例
1
:
>> x=0:0.01*pi:4*pi;
>> y=sin(x/2)+x;
>> polar(x,y, '-')
(3) 双纵坐标:
plotyy(x1,y1,x2,y2)
plotyy(x1,y1,x2,y2, FUN)
plotyy(x1,y1,x2,y2, FUN1,FUN2)
其中第二种调用方式表示以‘
FUN’
方式绘制图形, ‘
FUN’
可以为
plot, semilogx, semilogy, loglog
等。
第三种调用方式,以‘
FUN1’
绘制
x1,y1; ‘FUN2’
绘制
x2,y2.
例
1
:
>> x=0:0.01*pi:2*pi;
>> y=sin(x);
>> z=exp(x);
>> plotyy(x,y,x,z, 'plot' , 'semilogy')
2) 二维特殊图形函数
指区别于均匀直角单
y
轴坐标系而言的。如:
area
填充绘图
bar
条形图
stairs
阶梯图
pie
饼状图
fplot
函数图
hist
直方图
例1:
x=2:11;
y=rand(10,1);
bar(y);
%
比较
% bar(x,y);
例2:
x=[2 4 6 8];
pie(x,{'math' , 'english' , …
'chinese' , 'music'})
contour
函数,绘制等高线图。
例3:
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z = X.*exp(-X.^2-Y.^2);
%Then, generate a contour plot of Z.
[C,h] = contour(X,Y,Z);
clabel(C,h)
2 三维图形及相关函数
2.1 基本的图形命令
(1) plot3(X,Y,Z)
Plot3
是
plot
函数的三维扩展。
例
1
:
x=0:pi/50:10*pi;
y=sin(x);
z=cos(x);
plot3(x,y,z);
plot3
也可以以矩阵作为输入参数,这时要求3
个输入矩阵必须结构相同。
例
2
:
[x,y]=meshgrid(-2:0.1:2, -2:0.1:2);
z=x.*exp(-x.^2-y.^2);
plot3(x,y,z)
(2) 网格函数
mesh
三维网格图
meshc
将网格与等高线结合
meshz
屏蔽的网格图
meshgrid
网格生成
例:
[x,y]=meshgrid([-4:0.5:4]);
z=sqrt(x.^2 + y.^2);
mesh(z)
(3) 着色函数
surf(X,Y,Z,C)
surf
绘制的图形是一个着色的三维表面。
Matlab
语言对表面着色的方法是:在得到相应的网格后,对每一网格依据该网格所代表的色值(由变量C
控制)而定义这一网格的颜色
例
1
:
k = 5;
n = 2^k-1;
[x,y,z] = sphere(n);
c = hadamard(2^k);
%Hadamard matrices are matrices of
1's and -1's whose columns are orthogonal, H'*H = n*I
surf(x,y,z,c);
%surf(x,y,z);
colormap([1 1 0; 0 1 1])
%
1 1 0 yellow
, 0 0 1 blue
axis equal
2.2 特殊的三维图形函数
bar 3
三维条形图
waterfall
瀑布图
comet3
三维彗星轨迹图
pie3
三维饼状图
例
1
:
[X,Y,Z] = peaks(30);
waterfall(X,Y,Z)
例
2
:
t = -10*pi:pi/250:10*pi;
comet3(sin(t),cos(t),t);
注:
Comet