null《MATLAB实验仿真与算法设计》
教学课件
《MATLAB实验仿真与算法设计》
教学课件
制作:谢红梅
Xiehm@nwpu.edu.cn
本课程的要求和目标本课程的要求和目标假定学生对矩阵和计算机编程有了解; 通过学习基本掌握matlab的编程特点和使用技巧;
三次作业提交(50%)
考试(50%)Matlab简介Matlab简介matlab把数组数据结构,编程特性和图形用户界面集成在一起了.
以matlab6为例进行讲解,命令、编辑、图形等窗口,新的matlab桌面.6比5的优点包括:平台通用、效率更高 软件特点和教学内容
Matlab软件已经经受了多年考验,它优秀的数值计算能力和卓越的数据可视化能力使它在众多数学软件中脱颖而出。在欧美高等学校,它已经成为许多课程的基本教学工具,是攻读学位的大学生、硕士生、博士生必须掌握的基本技能。
本课程将重点讲解Matlab的核心部分,并简要介绍几个主要的工具箱。以众多的例子讲解如何高效、充分地使用Matlab进行实验仿真与算法设计。最后,力求将软件的编程使用与线性代数、数理统计、信号分析与处理、通信系统等课程内容结合起来。软件特点和教学内容本课程的内容本课程的内容 matlab的数组数据结构、编程特性、图形用户界面、Simulink仿真工具箱、外部编程接口。
以matlab6为例进行讲解, 命令、编辑、图形等窗口, 新的matlab桌面。matlab6比5的优点包括:平台通用、效率更高。
学时分配学时分配Matlab的基础知识:安装和环境(主要讲工作空间、命令与变量、程序编辑器等),(约4学时)
Matlab的数值计算及数据可视化,符号运算(约20学时)
讲解多个例子,加深学生对信号分析预处理基本概念和方法(如卷积、滤波、谱分析等)的理解和掌握。(8学时)
课外学生动手做一个实用的仿真程序。 教材教材[美]D.Hanselman,B.Littlefield,Mastering Matlab6,Person Education CD一张(中包含PDF文挡和HTML文挡)或网上下载软件和matlab的相关书籍参考资料参考资料«Matlab与Simulink工程应用»
«Simulink建模及动态仿真»
«数字信号处理及其Matlab实现»
«现代通信系统—使用Matlab »
«Matlab工程数学应用»
«用Maple和Matlab解决科学计算问题» (第三版)基本特性基本特性简单的数学运算
变量(命名规则、保留字、特殊变量)
标点(,; % … Ctrl-c)
复数: real+imag*sqrt(-1),abs*exp(j*angle)
浮点数:不是所有的数都有精确的
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示(realmax,realmin,eps)
丰富的数学函数(演草纸式的编程语言)
重要补充:变量使用前不需要定义,直接使用。缺省的数据类型使双精度浮点型。如果为其它的数据类型,最好用注释语句标出。Matlab桌面Matlab桌面管理工作区(who whos clear)
整理内存碎片(pack)
数字显示
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
系统信息(computer version ver)
Matlab 搜索路径(file中的set path 和matlabpath, addpath, rmpath)M脚本文件M脚本文件含义(将指令输入到一个简单的文本文件中,然后告诉matlab打开并执行该文件中的指令,这些文件成为脚本m文件)
编辑运行
开始和结束脚本文件举例举例p11=input('enter the P11= ');
p12=input('enter p12= ');
p21=input('enter p21= ');
p22=input('enter p22= ');
p31=input('enter p31= ');
p32=input('enter p32= ');
p33=input('enter p33= ');
fmark=(p11*0.4+p12*0.6)*0.2+(p21*0.4+p22*0.6)*0.5+(p31*0.5+p32*0.2+p33*0.3)*0.3
% show a variable’s value with its name
disp(fmark); %show variable’s value without its name;
数组数组生成数组: x=[1 2 3]用指定每个元素值的方法;用冒号(first:last或first:increment:last )运算符;用特殊函数如linspace(first,last,n); logspace(first,last,n) 等都可以生成数组(行向量)。
数组寻址: 下标 法x(5); 冒号 x(1:end);用其它数组
数组方向:空格(逗号)隔开一个行中的元素
分号隔开的不同的行 区别
共轭转置‘ 和.’转置的使用数组运算数组运算标量—数组运算+ - * / 将相应的运算用到所有元素上
两个具有相同维数的数组之间元对元的运算+ - .* ./ .\ .^
标准数组 eye(m,n), ones, zeros, rand, randn
数组处理方法:插入, 提取,删除(a=[]),重排数组的子集 (p45例子将数组a的行或列按照逆序排列) P53
表格
关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载
数组寻址a(row,c),a(r,:),a(:,c),a(:),a(k),a(x),
数组排序[xs,idx]=sort(a,pxfsh);
例:数组运算./和 .\的区别 a=reshape(1:12,4,3).‘;
b=[1 1 1 1;2 2 2 2;3 3 3 3];
c=a./b
c =
1.0000 2.0000 3.0000 4.0000
2.5000 3.0000 3.5000 4.0000
3.0000 3.3333 3.6667 4.0000例:数组运算./和 .\的区别例:数组运算./和 .\的区别例:数组运算./和 .\的区别a=reshape(1:12,4,3).‘;
b=[1 1 1 1;2 2 2 2;3 3 3 3];
c=a.\b
c =
1.0000 0.5000 0.3333 0.2500
0.4000 0.3333 0.2857 0.2500
0.3333 0.3000 0.2727 0.2500子数组搜索子数组搜索返回单一索引和返回多个(行、列)索引的使用和区别。1-D: I=find(x); (返回数组x元素不为零的单一索引)。
2-D: [i,j]=find(A>5)或k=find(A>5)
找最大最小值及它们的位置:
1-D: mx=max(x); my=min(x)
2-D为例: mmx=max(max(a));(直观,但不推荐)
[mmx,I]=max(a(:)),
找出所有的最大和最小值I=find(x==mx)
例min /max函数的应用
其它数组函数其它数组函数处理:(翻/旋转、提取部分元素生成另一数组)
flipud,fliplr, rot90,diag,
reshape(a,[nr,nc,…])=reshape(a,nr,nc,…), diag,triu,tril等
数组生成:kron(a,b) ,
repmat(a,[rm,rn]=repmat(a,rm,rn)),
数组大小:size,length,numel, sub2ind,ind2sub;
作业1作业1信号的产生与变换
数字信号处理中y(n)=x(-n)的画图实现;其中
体会:数组和内存利用(内存影响计算效率,
措施:延迟拷贝、使用隐式变量、预先
分配内存)。
多维数组多维数组三维及以上维数组生成 ones(r,c,p,…) etc
将数组变形成任意维 reshape(B,2,3,3)
将数组复制成任意维 repmat(c,[1 1 3]
沿指定维连接 cat(3,a,b,c) 对应于;或 ,运算符
删除大小等于1的维squeeze, 数组的维数ndims
flipdim(M,1),沿指定维轮换顺序(此处为行)
shiftdim(M,2),第二个参数为正时,维轮换;第二个参数为负时,将数组的维数扩大。
思考:与flipdim和 shiftdim,permute(a,order)所对应的二维函数和使用注意事项。单元数组和结构单元数组和结构类似于C语言中的结构体,这两种数据类型允许用户将相异但相关的数组集成到一个变量中。
Matlab最常用的5种数据类型包括double, char, logical, cell, struct。
单元:通过数字进行元素寻址。{}代表是一个单元,寻址单元的值,()用来标示单元。
结构:使用被称作域的名字对结构元素进行寻址。字符串 精通matlab综合辅导与指南\8Chap6.doc字符串 精通matlab综合辅导与指南\8Chap6.doc构造: (1)用单引号括起来的简单文本 ‘this;that’
(2)Char, strvchar,strcat
字符串与数字间的相互转换
double(s) Char(u) ; Char(u)当u为负值和 大于255时的做法;
字符串值
函数
关系和逻辑运算
精通matlab综合辅导与指南\9Chap5.doc
关系和逻辑运算
精通matlab综合辅导与指南\9Chap5.doc
关系运算符:> < == ~=
逻辑运算符:& | ~
优先级
其他扩充函数如:xor any all ;isnan(varname) isa(对象,类名) inpolygon(X, Y, XV, YV) figflag等
如何使用matlab的帮助系统如何使用matlab的帮助系统 help
Help 某工具箱名
Help 某函数名
Lookfor
Doc
Type
帮助窗口
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
控制
精通matlab综合辅导与指南\10Chap7.doc流程控制
精通matlab综合辅导与指南\10Chap7.docFor 循环
While循环
If_else_end
Swtich case 语句
Try catch模块For循环的几点说明For循环的几点说明For循环不能通过在For循环中给循环变量重新赋值来终止循环
为了重复执行命令,For循环语句中等号右侧的数组可以是任何合法的数组生成语句。
For循环可以任意嵌套。
若有等效的数组方法就可以解决的问题,应该避免使用For循环。
数组应该在For循环之前(或者在循环的过程中)就预先分配好内存。函数m文件
精通matlab综合辅导与指南\11Chap8.doc函数m文件
精通matlab综合辅导与指南\11Chap8.doc构造规则
输入和输出参数
函数工作区
函数和matlab 搜索路径
命令函数二元性
用feval 进行函数运算:效率高 a=feval(‘myfunc’,x) 等价 a=myfunc(x)m文件调试和分析
精通matlab综合辅导与指南\10Chap7.docm文件调试和分析
精通matlab综合辅导与指南\10Chap7.doc调试m文件以发现和纠正错误(语法错误和运行错误)
调试工具matlab中类似于c语言的debug ,breakpoints
调试方法:1 去分号2添加显示变量3加入keyboard命令4加%使函数m文件变成脚本m文件执行
文件依赖性(使用depfun)
分析m文件以进行代码优化,工具profile on , profile report文件和目录管理文件和目录管理通过GUI和命令窗口函数实现目录管理工具和改变当前目录
1.本机数据文件save filename var1 var2 var3;
Load(‘filename’,’var1’,’var2’,’var3’) ;EXIST('A','file') checks for files or directories.
2.数据的导入和导出(imread/imwrite支持多种图象)文件格:JPEG,TIFF,BMP,PNG,HDF,PCX,XWD
3.低级文件I/O(文件开/闭;二进制,格式化读/写等;fopen/fclose;fread/fwrite;fscanf/fprintf etc
4.目录管理集合函数、位函数和基函数集合函数、位函数和基函数Isequal 只有当两个数组有相同的维数和相同值时,才为真。对结构,除上述要求外还需要各自的域有相同的顺序。其他还有Unique, ismember,union,intersect,setxor,setdiff等集合函数。
Bitand, bitcmp,bitor,bitset,bitget,bitshift
a=dec2bin(17), bin2dec(a),
dec2hex,hex2dec, (2~36之间的任何基)
dec2base,base2dec
时间运算时间运算T=clock返回值是数组, T1=now 返回值是双精度日期数字
日期格式转换
Datanum(year,month,day,…)
datestr(t1,dataform)
日期函数 weekday, eomday,calendar(2004,1)
计时函数 tic,toc; cputime,etime等
图形标签 例1501 例1502字符串日期数字矩阵代数矩阵代数线性方程组Ax=y的求解(x=A\y=inv(A)*y),
这对三种情况均有效:
恰定(惟一解)
超定(最小二乘解)
欠定(对应x中零元素最多的解)
区别是结果的理解与分析不同
u.B=v的解,u=v/B
矩阵函数
稀疏矩阵和稀疏矩阵函数:创建sparse(i,j,s)
数据分析数据分析数据分析1mm6files\mm1701.m
数据分析2精通matlab综合辅导与指南\17Chap9.doc
例子对一个数组的一列进行排序,然后将这个排序后的顺序应用到剩下的所有列上 数据处理
精通matlab综合辅导与指南\18Chap11.doc数据处理
精通matlab综合辅导与指南\18Chap11.doc应用:实验数据的处理:包括曲线拟合 、数据 插值
多项式曲线拟合和过拟合的消除三次样条函数(spline,ppval,unmkpp,pchip,mppint,mmppder)
数据插值:一维函数interp1,二维函数interp2 Polyfit(x,y,n),polyval;
注意:
首先,不能要求有独立变量范围以外的结果, 其次,独立变量必须是单调的。即独立变量在值上必须总是增加的或总是减小的。
其他高级函数 Delaunay convhull
多项式
精通matlab综合辅导与指南\19Chap10.doc多项式
精通matlab综合辅导与指南\19Chap10.doc求根 (roots) 求多项式(poly)
加法 +和mmpadd;
乘法(con)除法(decon)
导数polyder和积分polyint
求值Polyval (运行mm1901)
有理多项式n(x)/d(x){polyder(n,d),roots(n),roots(d),residue(n,d)/residue(r,p,k)付立叶分析
精通matlab综合辅导与指南\21Chap14.doc付立叶分析
精通matlab综合辅导与指南\21Chap14.doc信号处理的基础
离散付立叶变换F(k)=FFT{f(n)}
函数fft,fftshift等的用法
付立叶级数 例2101优化优化一维函数寻0, 寻最大、最小值
fzero(‘ fname ‘ , xo) 寻找xo附近的标量函数的零点
fmin(‘ fname ‘ ,[lb ub]) 寻找上下限内的标量最小值
fimis(‘ fname ‘ , xo) 寻找xo附近的向量最小值
多维函数寻最大、最小值
绘图fplot(‘ fname ’, [lb ub])绘出上下限之间的函数积分和微分积分和微分积分:
trapz(x , y)给定数据点x和y,计算y=f(x)下的梯形面积积分。精度更高的求积分quad,QUADL和dblquad
微分:
diff(x)数组元素间的差至近似差分,梯度gradient,曲率del2微分方程(ODE)(1)微分方程(ODE)(1)IVP微分方程解法程序
[t , y]=ode45(‘fname’ , [tspan] , yo)用4阶/5阶龙格-库塔算法解微分方程组
other 6 ODE solvers: ODE23, ODE113, ODE15S, ODE23S, ODE23T, ODE23TB
设置选项:OPTIONS=ODESET (‘name1’,value1,…), ODEGET;
微分方程 (ODE)(2)微分方程 (ODE)(2)output functions:
ODEPLOT,ODEPHAS2,ODEPHAS3, ODEPRINT;
evaluating solution: DEVAL; ODE
examples:RIGIDODE,BALLODE, ORBITODE
边界值问题(BVP)和偏微分方程问题基本用法(连续时间系统仿真1)基本用法(连续时间系统仿真1)1、微分方程变形:ydot=ldefile(t,y)m文件的编写
function ydot=vdpol(t,y,mu)
%VDPOL van der Pol equation.
% Ydot=VDPOL(t,Y)
% Ydot(1) = Y(2)
% Ydot(2) = mu*(1-Y(1)^2)*Y(2)-Y(1)
% mu = 2
%ydot = [y(2,:); mu*(1-y(1,:)^2)*y(2,:)-y(1,:)];
ydot = [y(2); mu*(1-y(1)^2)*y(2)-y(1)];
2、求解命令的编写2401.doc基本用法(连续时间系统仿真2)基本用法(连续时间系统仿真2)例 :微分方程的数值解法是在科学与工程计算中经常遇到的问题。著名的 Lorenz 模型的状态方程表示为:
若令 ,且初值为 ,e 为一个小常数,假设 洛伦兹.doc离散系统仿真离散系统仿真Filter
Con
SIMULINK动态仿真SIMULINK动态仿真 SIMULINK动态仿真是MATLAB软件包之一,用于可视化的动态系统仿真,适用于连续、离散系统,也适用于线性和非线性系统。
1)启动SIMULINK,进入SIMULINK窗口;
2)在SIMULINK窗口下,借助模块库,创建系统 框图模型并调整模块参数。
3)两种方式( SIMULINK模型窗口、matlab command 窗口sim)下,设置仿真参数后, 启动仿真。
4)输出仿真结果:利用scope模块,利用变量返 回值、利用to workspace模块。
SIMULINK动态仿真(2)SIMULINK动态仿真(2)模块平衡点(trim)和线性化(linmod、linmod2、dlinmod等)
子系统创建及封装
S-函数
非线性系统优化设计作业2:系统时间响应和动态仿真作业2:系统时间响应和动态仿真 应用4阶龙格-库塔法和使用simulink软件包仿真程序,求如下系统的响应。作业2 分析求解(1)作业2 分析求解(1) 运用四阶龙格-塔库公式编程实现
公式:x(n+1)=x(n)+h/6(k1+2*k2+2*k3+k4)
k1=f[x(n),t(n)]
k2=f[x(n)+h/2*k1,t(n)+h/2]
k3=f[x(n)+h/2*k2,t(n)+h/2]
k4=f[x(n)+h*k3,t(n)+h]
编程实现编程实现1.定义函数dydt
function ydot=dydt(t,y)
%VDPOL van der Pol equation.
% Ydot=VDPOL(t,Y)
% Ydot(1) = Y(2)
% Ydot(2) = Y(3)
% Ydot(3) = Y(4)
% Ydot(4) = Y(5)
% Ydot(5) = Y(6)
% Ydot(6) = -a0*Y(1)-a1*Y(2)-a2*Y(3)-a3*Y(4)-a4*Y(5) –a5*Y(6)+1
% ydot =[Y(2);Y(3);Y(4);Y(5);Y(6); …
-a0*Y(1)-a1*Y(2)-a2*Y(3)-a3*Y(4)-a4*Y(5) –a5*Y(6)+1]
编程实现编程实现ydot =[y(2);y(3);y(4);y(5);y(6); …
-186.5*y(1)-840*y(2)-904.4*y(3)-237.3*y(4)-76.1*y(5)-8.8*y(6)+1]
2.在workspace键入
»tspan=[0:0.1:5];
» y0=[0;0;0;0;0;0];
»[t,y]=ode45('dydt',tspan,y0);
» z= -0.2*y(:,1)+1187.6*y(:,2)+3699.6*y(:,3)+327*y(:,4)+65*y(:,5);
» plot(z)
或者遍写M文件 参见 work2.m 作业2 分析求解(2)作业2 分析求解(2)用simulink系统仿真求解
(1)常微分方程模型(时域分析)
(2)传递函数模型
(3)状态方程模型方法一:常微分方程模型方法一:常微分方程模型 分析:系统的输入变量为u(t),输出变量为y(t),系统微分方程是:
D6y+8.8*D5y+76.1*D4y+237.3*D3y+904.4*D2y+840*Dy+186.5*y=65*D4u+327*D3u+3699.6*D2u+1187.6*Du- 0.2*u
实现:运用微分模块、加法器、比例器构造系统求解
参见work21.mdl
方法二:传递函数模型方法二:传递函数模型分析:将方程两边分别取拉普拉斯变换(Laplace),求传递函数G(s)。
y(t)Y(s), u(t)U(s),
(a6s6+ a5s5+ a4s4+ a3s3+ a2s2+ a1s + a0) Y(s)
=(b4s4+ b3s3+ b2s2+ b1s+ b0) U(s)
G(s)=Y(s)/U(s)
= (b4s4+ b3s3+ b2s2+ b1s+ b0) / (a6s6+ a5s5+ a4s4+ a3s3+ a2s2+ a1s + a0)
实现:用传递函数模块建立系统
参见work22.mdl方法三:状态方程模型方法三:状态方程模型思路:复杂问题简单化。用n个一阶的微分方程去替换一个n阶的微分方程。
形式:X’(t)=AX(t)+BU(t)
Y(t)=CX(t)+DU(t)
其中X(t)= [x(1),x(2),…,x(n)]
X’(t)=[x’(1),x’(2),…,x’(n)]
=[x(2),x(3),…x(n),x’(n)]
x’(n)用包含 x(1),x(2),…,x(n),u(t)的式子表示
状态方程模型(2)状态方程模型(2)方法: 重在求A、B、C、D矩阵
由常微分方程写出状态方程组
x’(1)=x(2)
x’(2)=x(3)
x’(3)=x(4)
x’(4)=x(5)
x’(5)=x(6)
x’(6)=-a0x(1)-a1x(2)-a2x(3)-a3x(4)-a4x(5) – a5x(6)+u
y(t)=b0x(1)+ b1x(2)+b3x(3)+b4x(4)
则可以得到各矩阵
状态方程模型(3)状态方程模型(3)A=[0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
-a0 -a1 -a2 -a3 -a4 -a5]
B=[0 0 0 0 0 1]’
C=[b0 b1 b2 b3 b4 0]
D=0
运用simulink的状态空间模块,输入数据求解
参见work23.mdl Symbolic 符号运算(1)Symbolic 符号运算(1)Symbolic 是应用Symbolic Math Toolbox,以符号(如a,b,c,x,y,z)为对象的一种数学运算。适用于数学推理、可变精度运算等。
在Matlab界面下调用‘sym’、‘syms’ 等函数。例例syms t
M = (1-t^2)*exp(-1/2*t^2);
P = (1-t^2)*sech(t);
ezplot(M);
hold on;
ezplot(P) 运行结果 Symbolic 符号运算(2) Symbolic 符号运算(2)代数运算、三角运算
微、积分(diff、int)
函数整理与化简(combine、simplify、simple)
可变精度计算(vpa、digits)
解方程(代数solve、微分方程dsolve)
线性代数与矩阵运算(determ、linsolve)
变换(laplace、fourier、ztrans)
Symbolic 符号运算(3)
——函数整理与简化Symbolic 符号运算(3)
——函数整理与简化将复杂的表达式进一步简化
例:验证积分
syms A t tao w
yf=int(A*exp(-i*w*t),t,-tao/2,tao/2)
Yf=simple(yf)syms A t tao w
Yf =
2*A*sin(1/2*tao*w)/w Symbolic 符号运算(4)
——可变精度计算Symbolic 符号运算(4)
——可变精度计算可以设置任意多的有效计算位数进行计算
digits(16)
p0=sym('1+sqrt(5)/2')
p1=sym((1+sqrt(5))/2)
e01=vpa(abs(p0-p1))
% 32位缺省精度下观察p0,p1间误差
p0 =1+sqrt(5)/2
p1 =7286977268806824*2^(-52)
e01 =.5000000000000001例:以n位相对精度计算Symbolic 符号运算(5)
——解方程Symbolic 符号运算(5)
——解方程 solve & dsolve
例:图示微分方程的通解和奇解 的关系例解:例解:y=dsolve('y=x*Dy-(Dy)^2','x')
clf,hold on,ezplot(y(2),[-6,6,-4,8],1) % 画奇解
cc=get(gca,‘Children’); % 取奇解曲线的图柄
set(cc,‘Color’,‘r’,‘LineWidth’,5) % 把奇解画成粗红线
for k=-2:0.5:2;ezplot(subs(y(1),'C1',k),[-6,6,-4,8],1);
end % 画解
hold off,title(‘\fontname{隶书}\fontsize{16}通解和奇解’) 运行结果注意注意Symbolic(符号运算)中的dsolve只能给出解析解,而不能给出数值解。
例:当运行y=dsolve(‘D6y+a5*D5y+a4*D4y+a3*D3y+a2*D2y+a1*Dy+a0*y=b4*D4u+b3*D3u+b2*D2u+b1*Du+b0*u’,‘t’) 时, 由于没有解析解,运行结果会出现:
Warning: Explicit solution could not be found.
> In D:\MATLAB6p5\toolbox\symbolic\dsolve.m at line 326
In d:\MATLAB6p5\work\example2.m at line 6 Symbolic 符号运算(6)
——线性代数与矩阵运算Symbolic 符号运算(6)
——线性代数与矩阵运算Determ(即det)、linsolve
syms a11 a12 a21 a22;
A=[a11,a12;a21,a22]
DA=determ(A)
IA=inv(A)
DA =a11*a22-a12*a21
IA =[ a22/(a11*a22-a12*a21), -a12/(a11*a22-a12*a21)]
[ -a21/(a11*a22-a12*a21), a11/(a11*a22-a12*a21)]例:求矩阵 的行列式值,逆。Symbolic 符号运算(7)
——变换Symbolic 符号运算(7)
——变换laplace、fourier、ztrans
syms t s;syms a b positive
Dt=sym('Dirac(t-a)');
Ut=sym('Heaviside(t-b)');
Mt=[Dt,Ut;exp(-a*t)*sin(b*t),t^2*exp(-t)];MS=laplace(Mt,t,s)
MS =[ exp(-a*s), exp(-b*s)/s]
[ b/((s+a)^2+b^2), 2/(s+1)^3]
例:求 的Laplace变换 参考文献 参考文献张志涌 等编著,«精通Matlab 6.5版» (第五章 符号计算),北京航空航天大学出版社,2003.
陈怀琛 编著,« Matlab 及其在理工课科中的应用指南»(§10.1),西安电子科技大学出版社,2000.图形绘制(1):二维图形 图形绘制(1):二维图形 plot函数 mm2501 例2502-2503
颜色(8)、线型(4)、标记(13) 例2504
图形格栅、轴框、标签 mm2505
标注text(x,y,string)和gtext(string); mm2506
定制图形坐标轴:axis和xlim,ylim,zlim,例2507
多个图形: hold命令
二维图形高级篇二维图形高级篇多个图形窗口figure
子图 subplot eg.mm2509
交互式画图工具:legend; zoom eg.mm2510
屏幕刷新eg.mm2511
特殊的二维图形 eg.mm2511-2520 例2512
轻松绘图:fplot,ezplot,ezpolar,(2-D);
文本格式: TeX
例2524(2)三维图(2)三维图 曲线图;网眼图 ;表面图;等高线图
Plot3 surf(c/l) contour
更多(包括立体可视化)请参看matlab图形手册graph.pdfmeshgrid,
mesh(c/z)/
waterfall;图形绘制(3)图形绘制(3)二维图形 (plot函数、标注)
三维图:曲线图 例2601;网眼图 例2604;表面图;等高线图
轻松绘图:fplot,ezplot,ezpolar,(2-D); ezcontour,ezmesh,ezmeshc,ezplot3,ezsurf,ezsurfc.(3-D)
使用颜色和光照 : 颜色表的理解、使用、显示、生成和改变;
用颜色来表示第四维
光照模式
例2619图象、影片和声音图象、影片和声音例: Fs = 11025;
y = wavrecord(5*Fs, Fs, 'int16');
wavplay(y, Fs);
Record and play back 5 seconds of 16-bit audio sampled at 11.025 kHz.打印和导出图形打印和导出图形大多数的应用程序可以导入Matlab 支持的图形文件格式,但对结果图形的编辑能力有限。如果在图形打印或导出之前得到编辑并设置适当的选项,就能获得最佳的输出效果。
常用的格式:PostScript,EPS,EMF,TIFF
Matlab自身支持这些格式,并且可用GhostScript将它们转换成其他格式。句柄图形和图形用户界面句柄图形和图形用户界面表1 图形对象继承层次图(英文)
表2 GUI对象层次结构(中文)对话框对话框Matlab中所提供的标准对话框包括:文件选择、颜色选择、字体选择、M文件对话框等。
程序举例:打开一个存在于本机上的feibao.bmp图像文件,对该图像做边缘检测,最后将结果存于同一目录下feibao1.bmp。
M文件源程序planeED.mMatlab 类和OOPMatlab 类和OOP基本的数据类型——类
创建和使用数据类型被称为面向对象的编程
OOP的关键内容是运算符和函数过载
创建类、下标、转换函数
优先级、继承和集合Matlab 编程接口Matlab 编程接口访问matlab数组
从matlab中调用C,Fortran
从C,Fortran调用matlab
有关编程技巧的一些示例有关编程技巧的一些示例例1(数组元素上下倒置)mm6files\updown3.m ,mm6files\updown4.m,mm6files\updown5.m
例2 范德蒙矩阵的生成
例3 重复值的创建和计数
小结:向量化程序(优点是程序简洁, 高度向量化程序的缺点是代码难于阅读)
预先分配内存,适当使用for循环和matlab的一些函数可提高程序运行效率;用tic和 toc函数测试程序运行效率。有关各种应用的一些示例有关各种应用的一些示例信号处理(一维、二维)
通信问题
系统分析与仿真(TP391.9)
财经问题的解答
教学课件的制作
数学问题的解答
1.试飞测试数据的数据特性分析 1.试飞测试数据的数据特性分析 2.通信信号模拟和检测2.通信信号模拟和检测3.财经问题3.财经问题一笔100,000 元的贷款要按每月等额偿付d元的方式付清。利息实在未付余额的基础上以每年10%的利率按月计入(如第一个月之后总债等于100000+(0.1/10)*100000)。
求每月的偿付额d,使得这笔贷款30年还清,并求在30年期间付款的总数目。