1
第一讲 MATLAB简介
1,1 MATLAB与通信仿真
1,1,1 通信电路与系统仿真
1,1,2 MATLAB的发展史
1,1,3 MATLAB语言的主要特点
1,2 MATLAB简介
1,2,1 MATLAB的计算功能
MATLAB的数据结构, 数值计算功能, 符号计算功能( *)。
1,2,2 MATLAB中的计算结果可视化
二维曲线图形三维曲面图形, 句柄图形, 图形用户界面
( GUI) 编程。
2
1,1 MATLAB与通信仿真
1,1,1 通信电路与系统仿真
?一般 来说, 通信电路与系统仿真过程可以分为五个步骤:
( 1)系统建模,根据要分析的通信电路与系统,建立相应的数
学模型。
( 2)仿真算法,找到合适的仿真算法。 MATLAB已经被确认为
准确、可靠的科学计算标准软件。
( 3)仿真语言,应用仿真语言编写计算程序。 MTLAB语言有
非常突出的优点,是 通信电路与系统仿真首选的仿真语言。
( 4)仿真计算,根据初步的仿真结果对该数学模型进行验证。
( 5)系统仿真,进行系统仿真,并认真地分析仿真的结果。
?仿真算法, 仿真语言和仿真程序构成了数字仿真软件。
?数学模型的正确性, 仿真算法的可行性, 仿真程序的准确性
和可靠性,最后编制成一个成熟的仿真软件。
3
1,1,1 通信电路与系统仿真 ( 续)
?通信电路与系统仿真在教学实践中应用越来越普遍。
? 对于改进教学效果, 给学生提供形象化的信息, 激发学生
的学习兴趣、提高学生的自学能力、加强学生对授课内容的
理解等无疑是十分有益的。有利于对学生分析问题的能力和
解决问题的能力的培养。
? 学生掌握了系统仿真的方法以后,不但使他加强了对所学课
程的理解,同时还便于钻研一些他本人感兴趣的问题,有利
于部分学有余力的学生进一步自学的要求。
? 在美国和欧洲大学中,九十年代将 MATLAB正式列入了电
子工程专业研究生和本科生的教学计划,MATLAB是必须
掌握的基本工具。
? 在设计研究单位和工业界,MATLAB也成为工程师们应
该掌握的一种工具,是被认作进行高效 研究, 开发的首选
软件工具。
4
1,1,2 MATLAB的发展史
? MATLAB名字由 MATrix和 LABoratory 两词的前三个字母
组合而成。那是 20世纪七十年代,时任美国新墨西哥大学计
算机科学系主任的 Cleve Moler出于减轻学生编程负担的动机,
为学生设计了一组调用 LINPACK和 EISPACK矩阵软件工具
包库程序的的“通俗易用”的接口,此即用 FORTRAN编写
的萌芽状态的 MATLAB。
? 1984年由 Little,Moler,Steve Bangert合作成立 MathWorks
公司,并把 MATLAB正式推向市场。从这时起,MATLAB的
内核采用 C语言编写,而且除原有的数值计算能力外,还新增
了数据图视功能。
? 1997年仲春,MATLAB5.0版问世,紧接着是 5.1,5.2,以及
和 1999年春的 5.3版。现今的 MATLAB拥有更丰富的数据类型
和结构、更友善的面向对象、更加快速精良的图形可视、更广
博的数学和数据分析资源、更多的应用开发工具。
5
1,1,3 MATLAB语言的主要特点
( 1)具有丰富的数学功能
? 包括矩阵各种运算。如:正交变换、三角分解、特征值、
常见的特殊矩阵等。
?包括各种特殊函数。如:贝塞尔函数、勒让德函数、伽码
函数、贝塔函数、椭圆函数等。
? 包括各种数学运算功能。如:数值微分、数值积分、插值、
求极值、方程求根,FFT, 常微分方程的数值解等。
( 2)具有很好的图视系统
?可方便地画出两维和三维图形。
? 图形用户界面 GUI制作工具,可以制作用户菜单和控件。
使用者可以根据自己的需求编写出满意的图形界面。
?高级图形处理。如:色彩控制、句柄图形、动画等。
6
1,1,3 MATLAB语言的主要特点 ( 续)
( 3)可以直接处理声言和图形文件 。
( 4)具有若干功能强大的应用工具箱。
( 5)使用方便,具有很好的扩张功能。
? 声言文件。如,WAV文件(例,wavread,sound等)。
?图形文件。如,bmp, gif, pcx, tif, jpeg等文件。
? 如,SIMULINK,COMM,DSP,SIGNAL等 16种工具箱。
( 6)具有很好的帮助功能
?可以 M文件转变为独立于平台的 EXE可执行文件。
?使用 MATLAB语言编写的程序可以直接运行,无需编译。
?提供十分详细的帮助文件( PDF, HTML, demo文件)。
?联机查询指令,help指令 (例,help elfun,help exp,help
simulink),lookfor关键词(例,lookfor fourier )。
? MATLAB的应用接口程序 API是 MATLAB提供的十分重要
的组件,由 一系列接口指令组成 。用户就可在 FORTRAN
或 C中, 把 MATLAB当作计算引擎使用 。
7
1,2 MATLAB简介
1,2, 1 MATLAB的计算功能
( 1) MATLAB的数据类型
?现有四种基本数据类型:双精度数组、字符串数组、元胞
数组、构架数组。
?元胞数组( Cell Array) 如同银行里的保险箱库一样。
? 该数组的基本组分是元胞( Cell),以下标来区分。
? 元胞可以存放任何类型、任何大小的数组。
?构架数组( Structure Array) 也能存放各类数据。
? 该数组的基本组分是构架( Structure ),以下标来区分。
? 构架必须在划分“域”后才能使用。
? 数据不能存放于构架,只能存放在域中。
? 构架的域可以存放任何类型、任何大小的数组。
? 不同构架的同名域中存放的内容可不同。( 例 1_2_2 )
? 同一个元胞数组中各元胞的内容可以不同。( 例 1_2_1)
8
( 2) MATLAB的基本数值计算功能
?基本计算功能,MATLAB有强大的函数库。(常用的基本
函数库和常用的三角函数库等)
?矩阵运算 及 数组运算。
?矩阵运算 符,+ 加法,- 减法,* 乘法,^ 幂,\ 左除,
/ 右除,‘ 转置。
?数组运算 符,.+ 加法,.- 减法,.* 乘法,.^ 幂,.\
左除,./ 右除,.‘ 共轭。
?数组 函数和 矩阵 函数 。
例 1_2_3,已知 的采样数据是 维数组。
要计算 。对一般的计算语言来说,必须采用
两层循环才能得到结果。 MATLAB处理这类问题则简洁快
捷得多,它只需直截了当的一条指令 y = exp(-2*t).*sin(5*t),
就可获得同样是 维的 数组。
)( mn?t
)5s in (2 tey t??
)( mn? y
9
( 3) MATLAB的高级数值计算功能
?关系运算 和 逻辑运算。
?多项式:多项式的求根、分解,求导数以及多项式的拟合 。
?数据分析 函数:对 数据集合进行统计分析。例如,求最大
值、最小值、平均值、标准偏差,相关系数等。
?数 值 分析 函数, 求函数极值、函数零点和极点,数 值积 分,
数 值微 分,微 分方程 的 数 值解等。
?付立叶变换 和 付立叶逆变换。
例 1_2_4,在 付立叶变换( Fourier), Z 变换 和拉氏 变
换( Laplace) 中,常有两个多项式之比,MATLAB中提
供函数 residue 执行部分分式展开。
例 1_2_5,应用 数值 积 分,求时间函数 w(t)的 Fourier级数
展开系数。
例 1_2_6,应用 FFT,求时间函数 w(t)的 Fourier级数 展开
系数。
10
( 4) MATLAB的符号计算
?符号表达式和符号 矩阵。
?符号 矩阵 的基本 运算。
?符号计算的两大特点,符号解和任意精度解。
? MATLAB的符号计算借助符号工具箱( Symbolic) 实现 。
? 定义基本符号对象的指令有两个,sym,syms。
? 符号表达式,。 ))'c o s (*)s in (*2(' xxs y my ?
? 符号 矩阵:
)]'2^),e x p (,1);/()(),s i n (),/(1[(' xxxaxbxxas y mm s y ????
? 两个符号 矩阵 的和,symadd( A,B)
? 两个符号 矩阵 的差, symsub( A,B)
? 两个符号 矩阵 的积, symmul( A,B)
? 两个符号 矩阵 的除, symdiv( A,B)
? 符号 矩阵 的求逆, inverse( B)
11
( 4) MATLAB的符号计算( 续)
?符号微积 分。
?符号积 分变换。
?符号代 数方程 的求解。
?符号微 分方程 的求解,[y1,y2,…]=dsolve ( a1,a2,…, a12)
例 1_2_7,应用符号计算法, 求时间函数 w(t)的 Fourier级
数 展开系数。
? 符号表达式的微 分,diff( f)
? 符号表达式的积 分,int( f)
? 线性 方程组 的符号解,X=linsolve( A,B)( 特解 )
? 一般代 数方程 的解,solve( S)
[X,Z]=linsolve( A,B)( 通解 )
12
1,2,2 MATLAB中的计算结果可视化
( 1)二维曲线图形和三维曲面图形
?二维曲线图形。
?三维曲面图形。
? 基本绘图指令,PLOT( Y),PLOT( X,Y)
例 1_2_8,混合式图形的绘制( 矩阵对向量 的图形) 。
? 一个窗口多个图形的绘制,SUBPLOT( M,N,P)
例 1_2_9,一个窗口多个图形的绘制 。
? 三维线性图形。
例 1_2_10,绘制一个三维螺旋线 。
?三维曲面图形。
例 1_2_11,绘制一个三维曲面图形 。
13
( 1)二维曲线图形和三维曲面图形( 续 1)
?特殊二维图形指令:
? 填充的函数折(曲)线图(面域图),area
? 直方图,bar
? 垂直的直方图,barh
? 三维直方图,bar3
? 垂直的三维直方图,bar3h
? 慧星轨迹状的图形,comet
? 误差棒图,errorbar
? 符号函数二维曲线,ezplot
? 沿 X轴分布的复数向量图(羽毛图),feather
? 射线图,compass
? 平面多边形填色, fill
14
( 1)二维曲线图形和三维曲面图形( 续 2)
?特殊二维图形指令:
? 数值 函数二维曲线(泛函绘图指令),fplot
? 向量的统计直方图,hist
? 带有标准的直方图,pareto
? 饼图,pie
? 三维饼图,pie3
?矩阵 折(曲)线图,plotmatrix
? 带状图,ribbon
? 散点图(与相似,但是只有数据点),scatter
? 火柴杆图,stem
? 阶梯图,stairs
15
( 1)二维曲线图形和三维曲面图形( 续 3)
?交互式图形指令:
? 这是与鼠标有关的图形操作指令:
ginput,gtext,legend,zoom 。
? 除 ginput 只能用于二维图形外,其余三个指令对二维、三
维图形均适用 。
? 指令 ginput 与 zoom 经常配合使用,以便从图形获得较准
确的数据 。
? 指令 [x,y] = ginput( n) 用鼠标从二维图形上获得 n 个点
的数据坐标( x,y)。
? 指令 gtext ( arg) 用鼠标把字符串或字符串元胞数组 arg
放置到图形上 。
? 指令 legend ( arg,pos) 在指定位置建立图例 。
? 指令 zoom 是变焦操作(图形放大和缩小) 。
16
( 2) 句柄图形
?图形对象、对象句柄和句柄图形树。
? 句柄图形( Handle Graphics) 是一种面向对象的绘图系统。
该系统提供创建计算机图形所必须的各种软件。它所支持的
指令,可直接创建线,文字,网线、面以及图形用户界面。
前述的 MATLAB高层图形指令 都是以句柄图形软件为基础写
成的,所以句柄图形也称为 低层图形指令 。
? MATLAB把用于数据可视和界面制作的基本绘图要素称
为句柄图形对象。
? 构成 MATLAB句柄图形体系有 12个图形对象:根屏幕、
图形窗、界面控件、轴,界面菜单、线、面、方、块、
象、字、光。
? 每个具体对象都有一个“与生俱来,终生不变”的独
特“身份”,即对象句柄。
? 根屏幕的句柄总是 数 字 0,图形窗的句柄总是正整 数,其
余 对象的句柄则是双精度浮点 数。 ( 句柄图形树 )
17
( 2) 句柄图形( 续)
?图形对象的属性:所有对象都由一组属性来定义它们的特
征。属性由两部分组成:属性名和属性值。
?图形对象属性的设置和使用。
?句柄图形应用举例。
? 图形对象句柄的获得,g c og c ag c f,,
? 函数 返回对象所有属性的当前值。)( h a n d leg et
? 函数 改变句柄图形
对象的属性。
),'Pr',( v a lu eo p e r t y Na m eh a n d les e t
例 1_2_13,任意布置子图和轴外注释 。
例 1_2_14,制作个性化双坐标系 。
例 1_2_15,连续变焦和飞驰图形 。
例 1_2_16,动画制作示例 。
18
( 3)图形用户界面( GUI) 编程 ( ) I n t e r f a c e sU s e rG r a p h ic a l
?控件对象及属性。
?现代的主流应用程序已经从命令行的交互方式转变为以图
形界面为主的交互方式,这主要是由于它给用户带来了操作
和控制的方便与灵活性。 MATLAB能够以比较简单的方式
实现一系列的图形界面功能。
? 控件对象是一类图形界面对象,MATLAB支持 10种控件
对象:坐标轴、静态文本框、可编辑文本框、弹式菜单、
滚动条、框架、命令按钮、单选按钮、复选框、列表框。
? 用户用鼠标在控件对象上进行操作,单击鼠标时,将会
使应用程序作出响应并执行某些预定的子程序。
? 控件对象的属性分为两大类,笫一类是所有控件对象都
具有的公共属性,笫二类是作为图形对象的属性。
? 创建控件对象的 MATLAB函数,uicontrol
19
( 3)图形用户界面( GUI) 编程( 续)
?菜单对象及属性。
?由 M函数文件设计举例。
? 菜单对象(或称下拉式菜单对象)可以让用户在运行应
用程序时,从一批功能选择项中浏览和选择某项功能。在
MATLAB图形窗口中 是默认主
菜单,用户可以创建自己定义的菜单。
H e lpW in d o w sEd itFi le,,,
? 在所有用户菜单属性中,最不可缺的属性是菜单名( )
和回调( )。前者用于识别不同菜单项;后者用于
产生相应的操作,使该菜单项发挥应有的作用。
Label
Callback
? 创建菜单对象的 MATLAB函数,uim enu
例 1_2_18,带下拉式菜单表的用户菜单 。
例 1_2_19,用户菜单的外观设计 。
例 1_2_20,菜单的使能属性与不可见属性设计 。 ( END)
例 1_2_17,控件对象设计 。
20
例 1_2_1 元胞数组 返回
本例演示:元胞数组的创建 。
C_str=char(‘清华大学’,‘电子工程系’ ); %产生字符串
R=reshape(1:9,3,3); %产生( 3X3) 实数阵 R
Cn=[1+2i]; %产生复数标量
S_sym=sym('sin(-3*t)*exp(-t)'); %产生符号函数量
( 1)直接创建法之一:“外标识元胞元素赋值法”
( 2)直接创建法之二:“编址元胞元素内涵的直接赋值法”
A(1,1)={C_str};A(1,2)={R};
A(2,1)={Cn};A(2,2)={S_sym};
A %显示元胞数组类型
B{1,1}=C_str;B{1,2}=R;B{2,1}=Cn;B{2,2}=S_sym;
celldisp(B) %显示元胞数组内容
(张志涌 P82)( M1_ex1_2_1.m)
21
例 1_2_2 构架数组 返回
本例通过温室数据(包括温室名、容积、温度、湿度等)演示:
单构架 green_house的创建和显示。 (它有三个域,name,volume,
parameter。 而 parameter又有三个子域,temperature,humidity。 )
( 1)直接对域赋值法产生“单构架”,即构架数组。
green_house.name=‘一号房’;
%构架的域由(构架名),(域名)标识。
green_house.volume='2000立方米 ';
green_house.parameter.temperature
=[31.2 30.4 31.6 28.7
29.7 31.1 30.9 29.6];
green_house.parameter.humidity
=[62.1 59.5 57.7 61.5
62.0 61.9 59.2 57.5];
( 2)显示“单构架”结构和内容,green_house,。。。
(张志涌 P86)( M1_ex1_2_2.m)
22
例 1_2_3 数组运算 举例 。
返回
(张志涌 P2)
t=rand(10,10);
y=exp(-2*t).*sin(5*t);
( M1_ex1_2_3.m)
演示,clear % 清除工作区变量
whos % 检查工作区变量
M1_ex1_2_3.m % 运行程序
whos % 检查工作区变量( t,y)
23
例 1_2_4 多项式部分分式展开。 返回
num=10*[1 4 5 6 7]; %分子 多项式
den=poly( [-2; -1; -0。 5]); %分母 多项式
[res,poles,k]=residue( num,den)
res =
-6.6667
-60.0000
64.1667
poles =
-2.0000
-1.0000
-0.5000
k =
10 5
上面的结果说明了这个问题,
? ?
? ?? ?? ? 5105.0
1667.64
1
0000.60
2
6667.6
5.012
765410 234 ??
???
??
?
??
???
???? s
ssssss
ssss
(龚剑 P62)
( M1_ex1_2_4.m)
24
例 1_2_5:应用 数值 积 分,求时间函数 w(t)的
Fourier级数 展开系数。 (张志涌 P163)
返回
e ls e
tttw 5.15.0
0
5.0)( ??
??
? ??已知时间函数:
fzzyquad.m? 调用函 数 cos_y,sin_y出问题。
25
例 1_2_6:应用 FFT,求时间函数 w(t)的
Fourier级数 展开系数。 (张志涌 P165)
返回
e ls e
tttw 5.15.0
0
5.0)( ??
??
? ??已知时间函数:
fzzyfft.m,运行指令,[A_fft,B_fft]=fzzyfft。
26
例 1_2_7:应用符号计算法, 求时间函数 w(t)
的 Fourier级数 展开系数。
返回
e ls e
tttw 5.15.0
0
5.0)( ??
??
? ??已知时间函数:
(张志涌 P162)
[A_sym,B_sym]=fzzysym(T,Nf,Nn)
% 采用符号计算求 [0,T]内时间函数的三角级数展开系数。
% 函数的输入输出都是数值量
% Nf 谐波的阶数
% Nn 输出数据的准确位数
% A_sym 第 1元素是直流项,其后元素依次是 1,2,3...次谐波 cos项展开系数
% B_sym 第 2,3,4,...元素依次是 1,2,3...次谐波 sin项展开系数
%------------------------------------------------------------------------------
syms ttt n
if nargin<1;T=2;end
if nargin<2;Nf=6;end
if nargin<3;Nn=32;end
yy=time_fun_s(ttt);
A0=int(yy,ttt,0,T)/T;
As=int(yy*cos(2*pi*n*ttt/T),ttt,0,T);
Bs=int(yy*sin(2*pi*n*ttt/T),ttt,0,T);
A_sym(1)=double(vpa(A0,Nn));
for k=1:Nf
A_sym(k+1)=double(vpa(subs(As,n,k),Nn));
B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));
%-----------------------------------------------------------------------------
function yy=time_fun_s(ttt)
% 该函数是 fzzysym.m的子函数。它由符号变量和表达式写成。
y1=sym('Heaviside(ttt-0.5)')*(ttt-0.5);
yy=y1-sym(‘ Heaviside(ttt-1.5)’ )*((ttt-1.5)+1);
%-----------------------------------------------------------------------------
27
例 1_2_8:混合式图形的绘制 。 返回(龚剑 P132)
% M1_ex1_2_8.m
%===================
y=1:length(peaks);
plot(peaks,y);
%===================
混合式图形的绘制( 矩阵对向量 的图形) 。
28
例 1_2_9:一个窗口多个图形的绘制 。 返回(龚剑 P139)
% M1_ex1_2_9.m
%====================================
subplot(2,2,1),fplot('humps',[0 1])
subplot(2,2,2),fplot('abs(exp(-
j*x*(0:9))*ones(10,1))',[0 2*pi])
subplot(2,2,3),fplot('[tan(x),sin(x),
cos(x)]',2*pi*[-1 1 -1 1])
subplot(2,2,4),fplot('sin(1./x)',[0.0
1 0.1],1e-3)
%====================================
将图形窗口分为四个区域,在每个区域中, 采用横坐标
自适应取点绘图绘制图形。
29
例 1_2_10:绘制一个三维螺旋线 。 返回(龚剑 P140)
% M1_ex1_2_10.m
%=====================================
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
title('Helix'),xlabel('sin(t)'),ylabel
('cos(t)'),zlabel('t')
text(0,0,0,'Origin')
grid
%=====================================
plot3可用来画一个单变量的三维 函数 。
30
例 1_2_11:绘制一个三维曲面图形 。 返回(龚剑 P143)
% M1_ex1_2_11.m
%========================
x=-8:0.5:8;
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
z=sin(R)./R;
mesh(z)
%========================
pause
subplot(2,2,1);meshc(z)
subplot(2,2,2);meshz(z)
%========================
31
例 1_2_12:句柄图形树 返回(张志涌 P398)
Root
根屏幕
Figure
图形窗
Uicontrol
界面控件
Axes

Uimenu
界面菜单
Line
线
Surface

Rectangle

Patch

Image

Text

Light

32
例 1_2_13:任意布置子图和轴外注释 。(张志涌 P412) 返回
M1_ex1_2_13.m
本例演示,axes轴位框设计,rectangle的运用、及轴外注释。
所谓轴外注释,实际上是使用了两个轴位框。一个轴位框充
满全部图形窗,其坐标框被隐去,而只写注释文字。而另一
个比较小的轴位框用于绘图。这样从外表看去,注释就处于
那小轴位框的外部。
33
例 1_2_14:制作个性化双坐标系 。 返回(张志涌 P414)
M1_ex1_2_14.m
制作一个双坐标系用来表现高压和低温两个不同量的过
渡过程。
34
例 1_2_15:连续变焦和飞驰图形 。 返回(张志涌 P415)
fly_zzy.m %连续改变相机位置,产生贯穿地球的效果。
earth_zzy(0)%调用函数文件,产生三维地球图形。
通过 CameraPosition设置的不断变化,使地球迎面飞来,贯穿
而过,从地球另一面飞离而去。但在整个飞行过程中,相机
镜头始终对着地球。
35
例 1_2_16:动画制作示例 。 返回(张志涌 P418)
% anim_zzy1.m演示红色小球沿一条封闭螺线运动的实时动画
% 仅演示实时动画的调用格式为
anim_zzy1(K)
% K 红球运动的循环数(不小于 1)
36
例 1_2_17,控件对象设计 。 返回
(张志涌 P426)
对于传递函数为 的归一化二阶系统,制作一
个能绘制该系统单位阶跃响应的图形用户界面。本例演示:
( A) 图形界面的大致生成过程;( B) 静态文本和编辑框
的生成;( C) 坐标方格控制键的形成;( D) 如何使用该
界面。
M1_1_2_17.m
12
1
2 ??? ssG ?
?在编辑框输入 0.3,可以看到 一根曲线 。
?在编辑框输入 0.1:0.1:1,可以看到十根曲线 。
37
例 1_2_18:带下拉式菜单表的用户菜单 。 返回
(张志涌 P431)
本例演示:如何自制一个带下拉菜单表的用户菜单。该菜单能
使图形窗背景颜色设置为兰色或红色。
M1_1_2_18.m
38
例 1_2_19:用户菜单的外观设计 。 返回
(张志涌 P435)
M1_2_19.m
本例演示:(A)把用户菜单 'Option' 设置为顶层的第3菜单项;
(B)下拉菜单被两条分隔线分为三个菜单区;(C)最下菜单
项又有两个子菜单组成。
39
例 1_2_20:菜单的使能与不可见属性设计 。 返回
(张志涌 P437)
本例目标:制作一个带四个子菜单项的顶层菜单项;该下拉菜
单分为两个功能区;每个功能区的两个菜单项是相互对立的,
因此采用使能属性处理;当图形窗坐标轴消隐时,整个坐标分
隔控制功能区不可见。
M1_2_20.m
40
直方图,ex_bar.m 返回
%exm07412_1.m
% 讲座一例( ex_bar.m) THEE 2001/9
%==================================================
x=-2:2;
Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5];
clf,shg
subplot(1,2,1),bar(x',Y','stacked')
xlabel('x'),ylabel('\Sigma y'),colormap(cool)
legend('因素 A','因素 B','因素 C')
subplot(1,2,2),barh(x',Y','grouped')
xlabel('y'),ylabel('x')
%==================================================
41
三维直方图,ex_bar3.m 返回
%exm07412_2.m
% 讲座一例( ex_bar3.m) THEE 2001/9
%==================================================
clf;shg
x=-2:2;
Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5];
subplot(1,2,1),bar3(x',Y',1)
xlabel('因素 ABC'),ylabel('x'),zlabel('y')
colormap(summer)
subplot(1,2,2),bar3h(x',Y','grouped')
ylabel('y'),zlabel('x')
%==================================================
42
数值 函数二维曲线(泛函绘图指令),ex_fplot.m
返回
%exm074112_1.m
% 讲座一例( ex_fplot.m) THEE 2001/9
%====================================================
%clf,shg
[x,y]=fplot('cos(tan(pi*x))',[-0.4,1.4],0,2e-
3);n=length(x);
subplot(1,2,1),plot(x,y)
title('\fontsize{20}\fontname{隶书 }泛函绘图指令效果 ')
t=(-0.4:1.8/n:1.4)';
subplot(1,2,2),plot(t,cos(tan(pi*t)))
title('\fontsize{20}\fontname{隶书 }等分采样绘图 ')
%===================================================
? 该指令的特点在于它的绘图数据点是自适应产生的。
43
基本计算功能 返回
?常用 的 基本数学 函数,
?常用 的 三角 函数,
abs(x),angle(z), sqrt(x), real(z), imag(z), conj(z),
round(x),fix(x), floor(x), ceil(x), rat(x), rats(x),
sign(x),rem(x,y), gcd(x,y), lcm(x,y),exp(x),
pow2(x),log(x),log2(x),log10(x)。
sin(x),cos(x),tan(x), asin(x),acos(x),atan(x),
atan2(x,y),sinh(x),cosh(x),tanh(x), asinh(x),
acosh(x),atanh(x) 。
44
数组 函数和 矩阵 函数 返回
?数组 函数:
?基本 矩阵 函数:
?矩阵分解 函数:
besselj(NU,Z),bessely(NU,Z),beta(Z,W),erf(X),
gamma(X),rat(X,tol),erfinv(Y),ellipke(M,tol),
ellipj(U,M) 。
cond(A),det(A),dot(A,B),eig(A),norm(A,1),
norm(A,2),norm(A,inf),norm(A,’fro’),rank(A),
rcond(A),svd(A),trace(A),expm(A),expm1(A),
expm2(A),expm3(A),logm(A),sqrtm(A),
funm(A,’fun’) 。
cdf2rdf(V, D),chol(A),eig(A),Hess(A), null(A),
LU(A),orth(A),pinv(A),qr(A),qz(A),rref(A),
rst2csf(V, D),schur(A),subspace(A, B),svd(A) 。
45
关系运算 和 逻辑运算 返回
?关系运算:
?逻辑运算:
<,<=,>,>=,==,~= 。
&,|, ~ 。
46
联机查询指令,help指令 返回
例,help elfun,help exp,help simulink
lookfor关键词(例,lookfor fourier )