MATLAB的数值计算功能Word文件下载.docx

上传人:b****4 文档编号:7821321 上传时间:2023-05-09 格式:DOCX 页数:42 大小:844.10KB
下载 相关 举报
MATLAB的数值计算功能Word文件下载.docx_第1页
第1页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第2页
第2页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第3页
第3页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第4页
第4页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第5页
第5页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第6页
第6页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第7页
第7页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第8页
第8页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第9页
第9页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第10页
第10页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第11页
第11页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第12页
第12页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第13页
第13页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第14页
第14页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第15页
第15页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第16页
第16页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第17页
第17页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第18页
第18页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第19页
第19页 / 共42页
MATLAB的数值计算功能Word文件下载.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB的数值计算功能Word文件下载.docx

《MATLAB的数值计算功能Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB的数值计算功能Word文件下载.docx(42页珍藏版)》请在冰点文库上搜索。

MATLAB的数值计算功能Word文件下载.docx

pi)'

%长度为101的时间采样列向量<

y1=sin(t)*[1,-1];

%包络线函数值,是(101x2)的矩阵<

2>

y2=sin(t).*sin(9*t);

%长度为101的调制波列向量<

t3=pi*(0:

9)/9;

4>

y3=sin(t3).*sin(9*t3);

plot(t,y1,'

r:

'

t,y2,'

b'

t3,y3,'

bo'

)%<

5>

axis([0,pi,-1,1])%控制轴的范围<

6>

图7.2.1-2

【例】用复数矩阵形式画利萨如(Lissajous)图形。

(在模拟信号时代,Lissajous图形常用来测量信号的频率。

t=linspace(0,2*pi,80)'

%<

X=[cos(t),cos(2*t),cos(3*t)]+i*sin(t)*[1,1,1];

%(80x3)的复数矩阵

plot(X)%<

axissquare%使坐标轴长度相同<

legend('

1'

2'

3'

)%图例

图7.2.1-3Lissajous图

【例】采用模型

画一组椭圆。

th=[0:

2*pi]'

%长度为101的列向量

a=[0.5:

.5:

4.5];

%长度为9的行向量

X=cos(th)*a;

%(101x9)的矩阵

Y=sin(th)*sqrt(25-a.^2);

%(101x9)的矩阵

plot(X,Y),axis('

equal'

),xlabel('

x'

),ylabel('

y'

title('

AsetofEllipses'

图7.2.1-4一组椭圆

【例】观察各种轴控制指令的影响。

演示采用长轴为3.25,短轴为1.15的椭圆。

注意:

采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。

t=0:

2*pi/99:

2*pi;

x=1.15*cos(t);

y=3.25*sin(t);

%y为长轴,x为短轴

subplot(2,3,1),plot(x,y),axisnormal,gridon,

NormalandGridon'

subplot(2,3,2),plot(x,y),axisequal,gridon,title('

Equal'

subplot(2,3,3),plot(x,y),axissquare,gridon,title('

Square'

subplot(2,3,4),plot(x,y),axisimage,boxoff,title('

ImageandBoxoff'

subplot(2,3,5),plot(x,y),axisimagefill,boxoff

ImageandFill'

subplot(2,3,6),plot(x,y),axistight,boxoff,title('

Tight'

图7.2.3.1-1各种轴控制指令的不同影响

【例】通过绘制二阶系统阶跃响应,

clf;

t=6*pi*(0:

100)/100;

y=1-exp(-0.3*t).*cos(0.7*t);

tt=t(find(abs(y-1)>

0.05));

ts=max(tt);

%<

subplot(1,2,1),plot(t,y,'

r-'

LineWidth'

3),gridon%<

axis([0,6*pi,0.6,max(y)])%<

y=1–exp(-alpha*t)*cos(omega*t)'

)%<

text(11,1.25,'

alpha=0.3'

);

text(11,1.15,'

omega=0.7'

holdon;

plot(ts,0.95,'

10);

holdoff%<

7>

text(ts+1.5,0.95,['

ts='

num2str(ts)])

xlabel('

t-->

),ylabel('

y-->

)%<

9>

subplot(1,2,2),plot(t,y,'

3)%<

10>

axis([-inf,6*pi,0.6,inf])%<

11>

set(gca,'

Xtick'

[2*pi,4*pi,6*pi],'

Ytick'

[0.95,1,1.05,max(y)])%<

12>

gridon%<

13>

\ity=1-e^{-\alphat}cos{\omegat}'

)%<

14>

text(13.5,1.2,'

\fontsize{12}{\alpha}=0.3'

)%<

15>

text(13.5,1.1,'

\fontsize{12}{\omega}=0.7'

16>

17>

cell_string{1}='

\fontsize{12}\uparrow'

18>

cell_string{2}='

\fontsize{16}\fontname{隶书}镇定时间'

%<

19>

cell_string{3}='

\fontsize{6}'

%<

20>

cell_string{4}=['

\fontsize{14}\rmt_{s}='

num2str(ts)];

21>

text(ts,0.85,cell_string)%<

22>

\fontsize{14}\bft\rightarrow'

23>

ylabel('

\fontsize{14}\bfy\rightarrow'

24>

图7.2.3.2-1二阶阶跃响应图用MATLAB4.x和5.x版标识时的差别

holdon

【例】利用hold绘制离散信号通过零阶保持器后产生的波形。

t=2*pi*(0:

20)/20;

y=cos(t).*exp(-0.4*t);

stem(t,y,'

g'

stairs(t,y,'

r'

holdoff

图7.2.5.1-1离散信号的重构

双纵坐标图plotyy

【例】画出函数

和积分

在区间

上的曲线。

dx=0.1;

x=0:

dx:

4;

y=x.*sin(x);

s=cumtrapz(y)*dx;

%梯形法求累计积分

plotyy(x,y,x,s),text(0.5,0,'

\fontsize{14}\ity=xsinx'

sint='

{\fontsize{16}\int_{\fontsize{8}0}^{x}}'

text(2.5,3.5,['

\fontsize{14}\its='

sint,'

\fontsize{14}\itxsinxdx'

])

图7.2.5.2-1函数和积分

【例】受热压力容器的期望温度是120度,期望压力是0.25Mpa。

在同一张图上画出它们的阶跃响应曲线。

S1=tf([11],[1321]);

%温度的传递函数对象模型。

S2=tf(1,[111]);

%压力的传递函数对象模型。

[Y1,T1]=step(S1);

%计算阶跃响应

[Y2,T2]=step(S2);

plotyy(T1,120*Y1,T2,0.25*Y2,'

stairs'

plot'

图7.2.5.2-2双纵坐标图演示

subplot

【*例7.2.5.3-1】演示subplot指令对图形窗的分割。

t=(pi*(0:

1000)/1000)'

y1=sin(t);

y2=sin(10*t);

y12=sin(t).*sin(10*t);

subplot(2,2,1),plot(t,y1);

axis([0,pi,-1,1])

subplot(2,2,2),plot(t,y2);

subplot('

position'

[0.2,0.05,0.6,0.45])%<

plot(t,y12,'

b-'

t,[y1,-y1],'

axis([0,pi,-1,1])

图7.2.5.3-1多子图的布置

7.1

三维绘图的基本操作

7.1.1三维线图指令plot3

【*例7.3.1-1】简单例题。

0.02:

2)*pi;

x=sin(t);

y=cos(t);

z=cos(2*t);

plot3(x,y,z,'

x,y,z,'

bd'

),view([-82,58]),boxon,legend('

链'

宝石'

图7.3.1-1宝石项链

7.1.1.1网线图、曲面图基本指令格式

【*例7.3.2.2-1】用曲面图表现函数

clf,x=-4:

y=x;

[X,Y]=meshgrid(x,y);

%生成x-y坐标“格点”矩阵

Z=X.^2+Y.^2;

%计算格点上的函数值

surf(X,Y,Z);

holdon,colormap(hot)

stem3(X,Y,Z,'

)%用来表现在格点上计算函数值

图7.3.2.2-1曲面图和格点

7.1.2透视、镂空和裁切

7.1.2.1图形的透视

【*例7.3.3.1-1】透视演示

[X0,Y0,Z0]=sphere(30);

%产生单位球面的三维坐标

X=2*X0;

Y=2*Y0;

Z=2*Z0;

%产生半径为2的球面的三维坐标

clf,surf(X0,Y0,Z0);

%画单位球面

shadinginterp%采用插补明暗处理

holdon,mesh(X,Y,Z),colormap(hot),holdoff%采用hot色图

hiddenoff%产生透视效果

axisequal,axisoff%不显示坐标轴

图7.3.3.1-1剔透玲珑球

7.1.2.2图形的镂空

【*例7.3.3.2-1】演示:

如何利用“非数”NaN,对图形进行剪切处理。

t=linspace(0,2*pi,100);

r=1-exp(-t/2).*cos(4*t);

%旋转母线

[X,Y,Z]=cylinder(r,60);

%产生旋转柱面数据

ii=find(X<

0&

Y<

0);

%确定x-y平面第四象限上的数据下标

Z(ii)=NaN;

%剪切

colormap(spring),shadinginterp

light('

[-3,-1,3],'

style'

local'

)%设置光源

material([0.5,0.4,0.3,10,0.3])%设置表面反射

图7.3.3.2-1剪切四分之一后的图形

【*例7.3.3.2-2】演示:

如何利用“非数”NaN,对图形进行镂空处理。

P=peaks(30);

P(18:

20,9:

15)=NaN;

%镂空

surfc(P);

colormap(summer)

[50,-10,5]),lightingflat

material([0.9,0.9,0.6,15,0.4])

图7.3.3.2-2镂方孔的曲面

7.1.2.3裁切

【*例7.3.3.3-1】表现切面

clf,x=[-8:

0.2:

8];

ZZ=X.^2-Y.^2;

ii=find(abs(X)>

6|abs(Y)>

6);

%确定超出[-6,6]范围的格点下标

ZZ(ii)=zeros(size(ii));

%强制为0

surf(X,Y,ZZ),shadinginterp;

colormap(copper)

[0,-15,1]);

lightingphong

material([0.8,0.8,0.5,10,0.5])

图7.3.3.3-1经裁切处理后的图形

7.2特殊图形和高维可视化

7.2.1特殊图形指令例示

7.2.1.1面域图area

【*例7.4.1.1-1】面域图指令area。

该指令的特点是:

在图上绘制多条曲线时,每条曲线(除第一条外)都是把“前”条曲线作基线,再取值绘制而成。

因此,该指令所画的图形,能醒目地反映各因素对最终结果的贡献份额。

(1)area的第一输入宗量是单调变化的自变量。

第二输入宗量是“各因素”的函数值矩阵,且每个“因素”的数据取列向量形式排放。

第三输入宗量是绘图的基准线值,只能取标量。

当基准值为0(即以x轴为基准线)时,第三输入宗量可以缺省。

(2)本例第<

条指令书写格式x'

Y'

,强调沿列方向画各条曲线的事实。

x=-2:

2%注意:

自变量要单调变化

Y=[3,5,2,4,1;

3,4,5,2,1;

5,4,3,2,5]%各因素的相对贡献份额

Cum_Sum=cumsum(Y)%各曲线在图上的绝对坐标

area(x'

Y'

0)%<

因素A'

因素B'

因素C'

),gridon,colormap(spring)

x=

-2-1012

Y=

35241

34521

54325

Cum_Sum=

69762

11131087

图7.4.1.1-1面域图表现各分量的贡献

7.2.1.2各种直方图bar,barh,bar3,bar3h

【*例7.4.1.2-1】二维直方图有两种图型:

垂直直方图和水平直方图。

而每种图型又有两种表现模式:

累计式:

分组式。

本例选其两种加以表现。

2;

%注意:

5,4,3,2,5];

%各因素的相对贡献份额

subplot(1,2,1),bar(x'

stacked'

)%“累计式”直方图

\Sigmay'

),colormap(cool)%控制直方图的用色

subplot(1,2,2),barh(x'

grouped'

)%“分组式”水平直方图

图7.4.1.2-1二维直方图

【*例7.4.1.2-2】用三维直方图表现上例数据。

%注意:

subplot(1,2,1),bar3(x'

1)%“队列式”直方图

因素ABC'

),zlabel('

colormap(summer)%控制直方图的用色

subplot(1,2,2),bar3h(x'

)%“分组式”水平直方图

图7.4.1.2-2三维直方图

7.2.1.3饼图pie,pie3

【*例7.4.1.3-1】饼图指令pie,pie3用来表示各元素占总和的百分数。

该指令第二输入宗量为与第一宗量同长的0-1向量,1使对应扇块突出。

a=[1,1.6,1.2,0.8,2.1];

subplot(1,2,1),pie(a,[10100]),legend({'

4'

5'

})

subplot(1,2,2),pie3(a,a==min(a)),colormap(cool)

图7.4.1.3-1饼形统计图

7.2.1.4填色图fill,fill3

【*例7.4.1.4-1】读者试验本例时,注意三点:

MATLAB画任意多边形的一种方法;

保证绘图数据首尾重合,使勾画多边形封闭;

使用图柄对图形的属性进行精细设置。

n=10;

%多边形的边数

dt=2*pi/n;

dt:

2*pi

t=[t,t

(1)];

%fill指令要求数据向量的首位重合,使图形封闭。

fill(x,y,'

c'

axisoff%画填色多边形,隐去坐标轴。

ht=text(0,0,'

\fontname{隶书}\fontsize{32}十边形'

%文字注释,且得图柄。

set(ht,'

Color'

k'

HorizontalAlignment'

Center'

)%依靠图柄设置属性。

图7.4.1.4-1由fiil产生的填色多边形

【例7.4.1.4-2】三维填色指令fill3演示。

(1)X,Y,Z的相应列元素构成一个三维封闭多边形。

本例有4列,因此有4个多边形。

图7.4.1.4-2中的“1,2,3,4”号三角形分别由X,Y,Z的第1,2,3,4列生成。

(2)为使多边形封闭,每列的首尾元素应该重合。

若不重合,则将默认把最后一点与第一点相连,强行使多边形封闭。

(3)该指令的第4输入宗量可取定色单字符(如'

'

等),也可取与X同维的数值矩阵。

(4)所填色彩受C和色图的双重响应。

(5)本例图中三角形的编号是通过“图形窗”编辑而生成的。

X=[0.50.50.50.5;

0.50.50.50.5;

0110];

Y=[0.50.50.50.5;

0011];

Z=[1111;

0000;

0000];

C=[1001;

0101;

0010];

fill3(X,Y,Z,C),view([-1055]),colormapcool

),boxon;

gridon

图7.4.1.4-2三维填色

 

7.2.1.5射线图compass和羽毛图feather

【*例7.4.1.5-1】compass和feather指令的区别。

t=-pi/2:

pi/12:

pi/2;

%在

区间,每

取一点。

r=ones(size(t));

%单位半径

[x,y]=pol2cart(t,r);

%极坐标转化为直角坐标

subplot(1,2,1),compass(x,y),title('

Compass'

subplot(1,2,2),feather(x,y),title('

Feather'

图7.4.1.5-1compass和feather指令的区别

7.2.1.6Voronoi图和三角剖分

【*例7.4.1.6-1】用Voronoi多边形勾画每个点的最近邻范围。

Voronoi多边形在计算几何、模式识别中有重要应用。

从本例图7.4.1.6-1中,可以看到,三角形顶点所在多边形的三条公共边是剖分三角形边的垂直平分线。

rand('

state'

111)

n=30;

A=rand(n,1)-0.5;

B=rand(n,1)-0.5;

%产生30个随机点

T=delaunay(A,B);

%求相邻三点组

T=[TT(:

1)];

%为使三点剖分三角形封闭而采取的措施

voronoi(A,B)%画Voronoi图

axissquare

fill(A(T(10,:

)),B(T(10,:

)),'

%画一个剖分三角形

voronoi(A,B)%重画Voronoi图,避免线被覆盖。

图7.4.1.6-1Voronoi多边形和Delaubay三角剖分

7.2.1.7彩带图ribbon

【*例7.4.1.7-1】用彩带绘图指令ribbon,绘制归化二阶系统

在不同

值时的阶跃响应,如图7.4.1.7-1所示。

对于本例程序,有以下几点值得注意:

(1)程序中使用了ControlToolbox中的两个指令tf和step。

这tf是一个(MATLAB5.x版起用的)“对象”。

(2)本例构作的S是一个单输入8输出系统,作用于该S的step指令也将在一次调用中产生8个子系统的阶跃响应。

(3)在下段程序运行后,有兴趣的读者可显示S,以观察系统是如何描写的。

(4)本例为了得到较好的表现效果,采用了视角、明暗、色图、光照控制。

(5)为使程序有一定通用性,图例采用元胞数组生成。

(6)本例产生的图7.4.1.7-1中,除“

”外,所有标识都是由下段指令产生的。

(7)“

”中的斜向箭头无

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2