当前位置:   article > 正文

數學實驗(Matlab 語言應用)實驗二+實驗三

數學實驗(Matlab 語言應用)實驗二+實驗三

主要目的:

利己:
作者本人本學期選的課,閉卷考試的,用老師的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
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号