MATLAB实用教程(第2版)郑阿奇第三章
MATLAB软件实用教程

MATLAB软件实用教程第一章 MATLAB简介1.1 MATLAB的起源和发展历程1.2 MATLAB的基本特点1.3 MATLAB在不同领域的应用第二章 MATLAB环境介绍2.1 MATLAB桌面及常见工具2.2 MATLAB命令窗口的使用2.3 MATLAB脚本文件的编写与运行第三章 MATLAB基本操作3.1 变量定义与操作3.2 矩阵与数组的使用3.3 数据类型与转换3.4 基本运算及函数调用第四章 MATLAB图形绘制4.1 二维图形绘制函数的使用4.2 三维图形绘制函数的使用4.3 图形属性设置与美化第五章数据处理与分析5.1 数据导入与导出5.2 数据预处理与清洗方法5.3 常见的数据分析技术5.4 统计学工具在MATLAB中的应用第六章 MATLAB编程基础6.1 程序的控制结构6.2 函数的定义与使用6.3 脚本文件与函数文件的区别与联系6.4 调试与错误处理技巧第七章 MATLAB高级技巧7.1 高效算法设计与优化7.2 并行计算与多线程技术7.3 MATLAB与其他编程语言的结合7.4 机器学习与深度学习算法的应用第八章 MATLAB在工程领域的应用8.1 电子与通信工程8.2 控制与自动化工程8.3 机械与航空航天工程8.4 土木与建筑工程第九章 MATLAB在科学研究中的应用9.1 生命科学与医学研究9.2 环境科学与气候研究9.3 数学建模与仿真9.4 物理学与天文学研究第十章 MATLAB在数据可视化中的应用10.1 数据可视化的重要性10.2 常见的数据可视化方法10.3 MATLAB在数据可视化中的优势与应用第十一章 MATLAB在教育领域的应用11.1 MATLAB在大学课程中的应用11.2 MATLAB在高中教育中的应用11.3 MATLAB教学资源与平台推荐结语:MATLAB作为一款功能强大、广泛应用的科学计算软件,在各个领域都有着广阔的应用前景。
希望本教程能够帮助读者快速掌握MATLAB的基本操作与应用技巧,并进一步发掘其在专业领域中更多的应用可能性。
matlab第三章课件

【例】A=[1 2 3;4 5 6],求其主对角线和第1条对角线 的元素
【例】产生一个主对角线元素分别为[1 2 -1 4]的对角 阵和第-1条对角线元素分别为[1 2 3]的对角阵。
2.三角阵 三角阵又进一步分为上三角阵和下三角阵, 所谓上三角阵,即矩阵的对角线以下的元素全为 0的一种矩阵,而下三角阵则是对角线以上的元 素全为0的一种矩阵。 (1) 上三角矩阵
矩阵求值 MATLAB提供的部分矩阵求值函数如下表所示
向量和矩阵的范数
矩阵或向量的范数用来度量矩阵或向量在 某种意义下的长度。范数有多种方法定义,其 定义不同,范数值也就不同。
在MATLAB中,求向量或矩阵的范数函数为:V (1) norm(V)或norm(V,2):计算X的2—范数。 (2) norm(V,1):计算X的1—范数。 (3) norm(V,inf):计算X的∞—范数。
方阵的行列式
把一个方阵看作一个行列式,并对其按行列式 的规则求值,这个值就称为矩阵所对应的行列式 的值。在MATLAB中,求方阵A所对应的行列式的 值的函数是 det(A)。
线性代数中定义行列式为0的矩阵为奇异矩阵。
3.1.2 线性方程组 附加:矩阵求逆
若方阵A,B满足等式A*B = B*A = I (I为单位矩阵) 则称A为B的逆矩阵,或称B为A的逆矩阵。这时 A,B都称为可逆矩阵(或非奇异矩阵、或满秩矩 阵),否则称为不可逆矩阵(或奇异矩阵、或降秩 矩阵)。
【例】试用矩阵求逆解法求解矩阵A为系 数矩阵的线性代数方程组Ax=b的解。 A=[1 -1 1;5 -4 3;2 1 1]; b=[2;-3;1]; x=inv(A)*b x = -3.8000 1.4000 7.2000
2. 直接解法
第2章 MATLAB数值计算 MATLAB实用教程(第2版)[郑阿奇主编][电子教案]
![第2章 MATLAB数值计算 MATLAB实用教程(第2版)[郑阿奇主编][电子教案]](https://img.taocdn.com/s3/m/c45b6649700abb68a882fb0a.png)
产生m×n的全0矩阵
产生m×n的全1矩阵
产生均匀分布的随机矩阵,元素取值范 围0.0~1.0。 产生正态分布的随机矩阵
产生N阶魔方矩阵(矩阵的行、列和对角 线上元素的和相等) 产生m×n的单位矩阵
2.2.2 矩阵元素
1. 矩阵的下标(Subscript) (1) 全下标方式 一个m×n的a矩阵的第i行第j列的元素表示 为a(i,j)。 (2) 单下标方式 以m×n的矩阵a为例,若元素a(i,j)则对应 的“单下标”为s= (j-1)×m+i。a(1,2)
4. 矩阵和数组的数学函数
MATLAB中exp、sqrt、sin、cos等数学函数可以 直接使用在数组上,这些运算是分别对数组的每个 元素进行运算。
expm、sqrtm、logm等数学函数用于矩阵运算。
比较:round 、fix 、floor 、ceil 比较:sqrt、sqrtm
5. 关系操作和逻辑操作
'(矩阵转置)、^(矩阵幂)和.'(数组转置)、.^( 数组幂) ~(逻辑非) *(乘)、/(左除)、\( 右除)和.*(点乘)、./(点左除)、.\(点右除) + 、-(加减): (冒号) <、<=、>、>=、~= &( 逻辑与) |(逻辑或) &&(先决与) ||(先 决或)
2.2.5多维数组 (Multidementional Arrays)
三维数组用三个下标表示,在二维数组的基础 上增加了一维称为页,三维数组可以看成“长方 体”。
三维数组的元素存放遵循“单下标”的编号规 则:第一页第一列下接该页的第二列,下面再接 第三列,依此类推;第一页的最后列下面接第二 页第一列。
多维数组的创建
MATLAB程序设计教程(第二版)第三章实验报告

for i=1:n
a=((2*i*i*2)/((2*i-1)*(2*i+1)))*a;
end
disp(a);
clear
i=1:n;%用prod函数实现
b=prod((2.*i).*(2.*i)./((2.*i-1).*(2.*i+1)))
6.建立 矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
班级
Class
姓名
Name
学号
ID
指导老师
Teacher
课程名称
Course
MATLAB
编制日期
Date
实验名称
Title
MATLAB程序设计
一、实验目的(ExperimentTarget)
1.掌握利用if语句、switch语句实现选择结构的方法。
2.掌握利用for语句、while语句实现循环结构的方法。
>> lx2_1
请输入一个百分制分数100
A
>> lx2_1
请输入一个百分制分数90
A
>> lx2_1
请输入一个百分制分数80
B
>> lx2_1
请输入一个百分制分数70
C
>> lx2_1
请输入一个百分制分数60
D
>> lx2_1
请输入一个百分制分数30
E
>> lx2_1
请输入一个百分制分数123
输入出错
(1)
clear
n=input('输入一个数:');%用循环结构实现
>> lx51
MATLAB实用教程第三讲

补充:医学图像处理
• MATLAB图像处理工具箱支持四种图像类型,分别为真 彩色图像(RGB)、索引色图像、灰度图像(I)和二值 图像(BW)。许多图像处理工作对图像类型有特定的要 求,比如要对一幅索引图滤波,首先要把它转换成真彩色 图像或灰度图像,直接滤波的结果是毫无意义的。 • 在图像处理工具箱中有类型转换函数可以实现各种图像类 型之间的相互转换,如rgb2gray、ind2gray、im2bw 等。 • 在MATLAB中,改变图像文件格式的方法是:先用阅读 函数将文件读入工作空间,然后用写入函数以适当的格式 保存文件。由此可以方便的实现医学图像格式与其他格式 之间的相互转换,以利于医学图像的传输和应用。
绘制多边形
任意多边形及多边形区域是用Patch对 象表示的,该对象由patch函数创建。 使用patch函数生成面片,有两种方 法,一种是顶点/颜色法,通过指定每个小 面的顶点坐标和颜色来创建;另一种是顶 点/小面法,通过指定所有顶点的坐标和各 小面的顶点和颜色来创建。
绘制文本
文本用Text对象表示,该对象由text函数创 建,text函数是创建文本图形对象的低级函数。使 用它将文本字符串放在指定的位置上。 下面创建多种形式的文本:
例:把一个TIF格式的图像li2.tif转换 成DICOM格式的图像li2.dcm。
x=imread('li2.tif'); %将转换文件读入工作空间 imshow(x) %如图(a)显示的TIF格式图像 st=dicomwrite(x,‘li2.dcm’); %转换为DICOM格式 I=dicomread('li2.dcm'); %读入DICOM文件 imshow(I) %如图(b)显示的DICOM格式图像
第3章(213) 教材配套课件

第 3 章 MATLAB的仿真测量仪器
图3-9 七踪信号显示在同一示波器上的仿真框图
第 3 章 MATLAB的仿真测量仪器
图3-10 七踪信号显示在同一示波器上
第 3 章 MATLAB的仿真测量仪器
其次是有一个Constant(常数矢量), 它是一个7列的行 矢量。 在运行时叠加在信号发生器输出的7列数据流上, 譬如 第7列信号的每一个值加上了3.6, 相当于直流电平增加了3.6 V, 在示波器上波形垂直平移了3.6 V(等效于调节了示波器 的垂直位移旋钮)。 应用这样的方法可以将每一列信号移动 到希望摆放的位置。 示波器参数设置时, 应考虑到多踪信号 与常数矢量叠加后, 在垂直方向占有较大的空间。 Y量程的 上、 下限Y max、 Y min设置范围不够大时, 有的信号就 看不见了(在屏幕外)。 表3-9~表 3-11分别显示信号源、 常 数、 示波器的主要参数。 表3-12显示了图3-9仿真系统的 Simulation Parameters(仿真时间参数)的设置。
3.3.1 示波器
无论是通信还是信号与系统分析, 电子工程领域的绝大 多数信号是时间的函数, 系统的时间域特性也用冲激响应来 描述。 从事信号与系统的分析和试验离不开时间域的测量仪 器。
让人们最先想到的时间域的测量仪器就是普通示波器和 数字存储示波器。
示波器最基本的构成如下:
第 3 章 MATLAB的仿真测量仪器
表3-6显示了Generic Numeric LED(通用数字发光二极管) 的主要参数。 通过参数设置可以得到不同的背景色, 发光二 极管的开启、 关闭的颜色, 笔画的宽度、 间距, 显示器的位 数等。
第 3 章 MATLAB的仿真测量仪器
第 3 章 MATLAB的仿真测量仪器
matlab第3章ppt课件

fplot('[sin(x),cos(x)]',[0,2*pi,-1.5,1.5],1e-3,'r.')
观察上述语句绘制的正余弦曲线采样点的分布,可发现
曲线变化率大的区段,采样点比较密集。
16
1.图形窗口的分割 分割后的图形窗口由若干个绘图区并绘制图形。同一图形窗口中的不同图形称 为子图。 subplot(m,n,p) 该函数将当前图形窗口分成m × n个绘图区,即每行n个,共m 行,区号按行优先编号,且选定第p个区为当前活动区。在每 一个绘图区允许以不同的坐标系单独绘制图形。
18
2.图形叠加
一般情况下,绘图命令每执行一次就刷新当前图形窗口,
图形窗口原有图形将不复存在。若希望在已存在的图 形上再叠加新的图形,可使用图形保持命令hold。 hold on/off命令控制是保持原有图形还是刷新原有图 形。例如:
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
8
表 3.1 线型选项
选项
线型
-
实线(默 认值)
:
虚线
--
双画线
-.
点画线
表 3.2 颜色选项
选项 颜色
b( blue )
蓝色
g( green )
绿色
r(red)
红色
c(cyan)
青色
选项 颜色
m(magenta) 品红色
y(yellow)
黄色
k(black)
黑色
w( whit e)
白色
表 3.3 选项 . O(字母) X(字母) + * s(square )
令来控制。grid on/off命令控制是画还是不画网格 线,box on/off命令控制是加还是不加边框线。
数学建模 matlab 教程

变量名 = 起点: 步长: 终点
例2: 请同学们输入 x = 0:0.1:pi 然后打开 Workspace Browser, 双击变量 x, 观察其取值范围
1. 2. 3.
4.
起点是 0 步长确实是 0.1 最后一个点是 3.1000 最后一个点的精确值
思考题 30 个 0.1 相加是多少?
必须满足矩阵运算的规则 矩阵对应元素之间的运算,运算符前 加.
例4 x*x与 x.*x 以及 norm(x)^2
例5 绘制
sin( x), x [ , ] 2 2
x = linspace(-pi/2, pi/2, 20); y = sin(x); plot(x,y);
坐标轴不好看?请输入
Menu & Toolbar
和所有的 Windows 程序一样, 都有 Menu 和 Toolbar。
Start 菜单
将大量的 MATLAB 有用的信息集中到这个 菜单上。跟 Windows 的开始菜单的功能很 相像。
最大窗口, 人机交互主要方式。 >> 叫做命令行提示符。
问题: 提示符在提示什么?
变量名 = linspace( 起点, 终点, 总点数)
例3: 请同学们输入 x = linspace(0,pi,30) 然后打开 Workspace Browser, 双击变量 x, 观察其取值范围
变量名 = logspace( 起点, 终点, 总点数)
作为函数的自变量
基本函数表(p. 50 表 2.5)
代表向前或向后调回Command History中的命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 实用教程
符号运算的功能
符号线性代数(linear algebra) 因式分解、展开和简化(simplification and substitution) 符号代数方程求解(solving equations) 符号微积分(Calculus) 符号微分方程
例:
>> f=sym('x^3-6*x^2+11*x-6') >> x=5 >> subs(f) >>subs(f,5) >>subs(f,’x’,5) 可以用来计算多项式的值,以及化简。 MATLAB 实用教程
3.3.4 求反函数和复合函数
1. 求反函数 对于函数 f(x) ,存在另一个函数 g(.) 使得 g(f(x)) =x成立,则函数g(.)称为函数f(x)的反函数。 g=finverse(f,v) %对指定自变量v的函数f(v)求反函数 2. 求复合函数 运用函数 compose 可以求符号函数 f(x) 和 g(y) 的复 合函数。 compose(f,g,z)%求f(x)和g(y)的复合函数f(g(z))
MATLAB 实用教程
3.4.3 符号积分(Integration)
积分有定积分和不定积分,运用函数 int 可 以求得符号表达式的积分,即找出一个符号表 达式F使得diff(F)=f,也可以说是求微分的逆 运算。 int(f,’t’) %求符号变量t的不定积分 int(f,’t’,a,b) %求符号变量t的定积分 int(f,’t’,’m’,’n’) %求符号变量t的定积分
第3章 MATLAB符号计算 Using Symbolic Math Toolbox
3.1 符号表达式的建立 3.2符号表达式的代数运算 3.3符号表达式的操作和转换 3.4 符号极限、微积分和级数求和 3.5 符号积分变换 3.6符号方程的求解
MATLAB 实用教程
MATLAB具有符号数学工具箱(Symbolic Math Toolbox) 。 符号计算是可以对未赋值的符号对象(可以 是常数、变量、表达式)进行运算和处理。
MATLAB 实用教程
1. 符号运算中的运算符 (1)基本运算符 运算符“+”,“-”,“*”,“\”,“/”,“^” 分别实现符号矩阵的加、减、乘、左除、右除、求幂 运算。 运算符“.*”,“./”,“.\”,“.^”分别实现符号数 组的乘、除、求幂,即数组间元素与元素的运算。 运算符“′”,“.′”分别实现符号矩阵的共轭转置、 非共轭转置。 (2)关系运算符 运算符“= =”、“~=”分别对运算符两边的符号对象 进行“相等”、“不等”的比较。
syms arg1 arg2 …,参数
MATLAB 实用教程
例如: >> f1=sym(‘a*x^2+b*x+c’) %创建表达式 >> syms a b c x %创建变量 >> f2=a*x^2+b*x+c %创建表达式 >> syms('a','b','c','x') >> f3=a*x^2+b*x+c
将符号矩阵转化为数值矩阵 函数调用格式: numeric(A)
EX:>> a=sym('2/3') >> b=numeric(a)
MATLAB 实用教程
3.3符号表达式的操作和转换 3.3.1符号表达式中自由变量的确定
自由变量的确定原则(The Default Symbolic Variables)
MATLAB 实用教程
Байду номын сангаас
3.3.5 符号表达式的转换
1. 符号表达式与多项式的转换 构成多项式的符号表达式 f(x) 可以与多项式系数 构 成 的 行 向 量 进 行 相 互 转 换 , MATLAB 提 供 了 函 数 sym2poly和poly2sym实现相互转换。
2. 提取分子和分母 如果符号表达式是一个有理分式(两个多项式之比), 可以利用numden函数来提取分子或分母,还可以进行 通分。 [n,d]=numden(f)
MATLAB 实用教程
EX:提取分子和分母系数。 >> f=sym('(1+2*s)/(s^2+2*s+1)') >> pretty(f) 1+2s -----------2 s +2s+1 >> [n,d]=numden(f) >> n1=sym2poly(n) >> d1=sym2poly(d)
MATLAB 实用教程
3.3.3 符号表达式的替换(Substitutions)
subs函数:对符号表达式中符号变量的替换。 subs(s)%用给定值替换符号表达式s中的所有变量 subs(s,new)%用new替换符号表达式s中的自由变量 subs(s,old,new) %用new替换符号表达式s中的old变量
任意精度的VPA型运算可以使用digits和vpa命令来 实现。 digits(n) %设定默认的精度 S=vpa(s,n) %将s表示为n位有效位数的符号对象
MATLAB 实用教程
3.2.3 符号对象与数值对象的转换
将数值矩阵转化为符号矩阵 函数调用格式:sym(A)
EX:>> A=[1/3,2.5;1/0.7,2/5] >> sym(A)
MATLAB 实用教程
3.5.3 Z变换及其反变换
1. ztrans函数 F=ztrans(f,n,z) %求时域序列f的Z变换F 说明:返回结果F是以符号变量z为自变量; 当参数 n 省略,默认自变量为 'n' ;当参数 z 省 略,返回结果默认为'z'的函数。 2. iztrans函数 f=iztrans(F,z,n) %求F的z反变换f >> syms a n z t
MATLAB 实用教程
3 2 x - 6 x + 11 x - 6 。
horner:将多项式形式写成嵌套形式
-6+(11+(6+x)*x)*x
factor:将表达式写成因式形式
(x-1)*(x-2)*(x-3)
expand:将表达式写成多项式形式 simplify:对表达式进行化简 例如: k=sym('cos(x)^2-sin(x)^2') simplify(k) 2*cos(x)^2-1 simple :寻求表达式的多种简化形式,使之包含 最少数目的字符
MATLAB 实用教程
3.5 符号积分变换 3.5.1傅里叶变换及其反变换
3.5.2拉普拉斯变换及其反变换
1. Laplace变换 F=laplace(f,t,s) %求时域函数f的Laplace变换F 说明:返回结果 F为 s的函数,当参数 s省略,返回 结果 F默认为 's'的函数;f为 t的函数,当参数 t省略, 默认自由变量为't'。 2. Laplace反变换 f=ilaplace(F,s,t) %求F的Laplace反变换f >> syms a t s >> F1=laplace(sin(a*t),t,s) %sinat的Laplace变换 F1 =a/(s^2+a^2)
3.3.2符号表达式的化简 (Simplificate)
同一个多项式的符号表达式可以表示成三种 形式: 多项式形式的表达方式:f(x)=x3+6x2+11x-6 因式形式表达方式:f(x)=(x-1)(x-2)(x-3) 嵌套形式的表达方式:f(x)=x(x(x-6)+11)-6
pretty:给出排版形式的输出结果 collect:将表达式写成多项式形式. x^3-6*x^2+11*x-6
MATLAB 实用教程
3.1.2 创建符号变量和表达式
(Creating Symbolic Variables and Expression)
1. 使用sym命令创建符号变量和表达式 sym(‘ 变量’ , 参数 ) % 把变量定义为符号对 象
2.使用syms命令创建符号变量和符号表达式 syms(‘arg1’, ‘arg2’, …,参数)
MATLAB 实用教程
3.2符号表达式的代数运算 3.2.1符号表达式的代数运算 由于MATLAB采用了重载技术,使得符号表达 式的运算符和基本函数都与数值计算中的几乎 完全相同 。 例如: 例如: >> f=sym('2*x^2+3*x+4') >> A+2 >> g=sym('5*x+6') >> A.’ >> f+g >> f*g >> det(A) >> A^2
符号表达式()中的参数一定要用' 号括起来。
MATLAB 实用教程
' 单引
3.1.3 符号矩阵
例如,使用sym命令创建的符号矩阵: >> A=sym('[a,b;c,d]') 例如,使用syms命令创建相同的符号矩阵: >> syms a b c d >> A=[a b;c d] 比较符号矩阵与字符串矩阵 : >> B=‘[a,b;c,d]’ %创建字符串矩阵 >> C=[a,b;c,d] %创建数值矩阵 ??? Undefined function or variable 'a'.