matlab课件5(2020年整理).ppt
合集下载
第五讲MATLAB程序设计ppt课件

语句组m
otherwise
语句组n
end
(exswitch.m)
第五讲 MATLAB程序设计
18
(3)try语句 语句格式为: try
语句组1 catch
语句组2 end
try语句先试探性执行语句组1,如果语句组1在执行 过程中出现错误,则将错误信息赋给保留的lasterr 变量,并转去执行语句组2。
第五讲 MATLAB程序设计
14
2、选择结构
(1) 条件分支语句——if语句 在MATLAB中,if语句有3种格式。 1) 单分支if语句: if 条件 语句组
end
第五讲 MATLAB程序设计
15
2) 双分支if语句: if 条件
语句组1 else
语句组2 end
第五讲 MATLAB程序设计
16
第五讲 MATLAB程序设计
24
三、程序调试
1 错误分类
一般来说,应用程序的错误有两类:
一类是语法错误,例如函数名的拼写错、表达式 书写错等。
另一类是运行时的错误。指程序的运行结果有错 误,这类错误也称为逻辑错误。
第五讲 MATLAB程序设计
25
2、查找逻辑错误的方法:
◆ 删去语句行末的分号,使显示其运行中间结果 ◆ 利用keyboard 命令实现,return继续程序执行 ◆ 注释掉M 函数文件的函数定义行,使函数文件转
第五讲 MATLAB程序设计
19
例: 矩阵乘法运算要求两矩阵的维数相容,否则会 出 错。先求两矩阵的乘积,若出错,则自动转去 求两矩阵的点乘。(extry.m)
第五讲 MATLAB程序设计
20
3、 循环结构
(1)硬循环语句——for语句
matlab教程(完整版)ppt课件

早在20世纪90年代初,欧美等发达国家的大学就将MATLAB列为一种必须掌握 的编程语言。近几年来,国内的很多大学也将MATLAB列为了本科生必修课程。
与Maple、Mathematica数学计算软件相比,MATLAB以数值计算见长,而 Maple等以符号运算见长,能给出解析解和任意精度解,而处理大量数据的能力 远不如MATLAB。
5/6/2020
.Matlab Language
4
课程安排
课堂教学:共24学时;(1-12周) 上机试验:共24学时。
(2-13周,周二7-8节,九实401、402、403)
学习成绩: 1)上机实验成绩占30%; 2)考勤 10% ; 3) 考试60% (随堂考试)。
主要参考书 ➢ 《精通MATLAB 6.5》张志涌 等编著,北航出版,2003年 ➢ 《高等应用数学问题的Matlab求解》 薛定宇等著,清华大学出
MATLAB软件功能之强大、应用之广泛,已成为为21世纪最为重要的科学计算 语言。可见学习掌握这一工具的重要性。
5/6/2020
.Matlab Language
13
1.2 MATLAB产品的体系结构
围绕着MATLAB这个计算核心,形成了诸多针对不同 习使M实用A际MMTA上LATATMLBLAA产ABTBS间 的呢品LimA或核?由uB围 称 专 Bl离心若本这ilnoM文 标 编 行用绕为k散。c就干身M核 数A是k件 译效准模着模s时AT有模就心 据e窗编 生率的L块S块tT间、块是必i与 可ALm口译 成C。集集AB的S要组一u/基视图i生函BlC,(mCi动n了成个础化是+形oP成数k如Bm+态o仿,解极,于M应(用的位而领l方o标库w文Cp系cA真这不其i是一e且用工开域T详o式lk准或r件eTmos统Sr核一同丰集体发新领具,见eLo的这y的可m可tslA建s心b软的富高的提的域箱可tMu)、种执eCBo以nm模所A件模的x/性高产供工的大以i,专编行)cM被CTB、a开产块资能效品的具算概首+L门t译A文l,任iooA+分发T品完源数编家工箱法有先c用器n件这B何语Lk析的的成库B值程族s具还程到在4A于可,e些一言0lB和to应体不,多计语的箱在序网线、连以以c工产种文k仿用系同那个算言计,不包上帮S续将s提具品件Cie真g程结的么,与。算这t断,查助/时Mn、高箱提,Ca序构功应另些增被找文Al+D程的供而T包+能该外工加称是档S。序L列许生编P,,从A还具。为否。的表多成译B其哪有箱如专 已M程运以的器A中一其的果用 有序及T有部他总你工 相L每A:分公数有具 关个B开司已特箱 的本工始或有别工身具着研1的具所箱0手0究应箱提的多、单用,供使个学,
与Maple、Mathematica数学计算软件相比,MATLAB以数值计算见长,而 Maple等以符号运算见长,能给出解析解和任意精度解,而处理大量数据的能力 远不如MATLAB。
5/6/2020
.Matlab Language
4
课程安排
课堂教学:共24学时;(1-12周) 上机试验:共24学时。
(2-13周,周二7-8节,九实401、402、403)
学习成绩: 1)上机实验成绩占30%; 2)考勤 10% ; 3) 考试60% (随堂考试)。
主要参考书 ➢ 《精通MATLAB 6.5》张志涌 等编著,北航出版,2003年 ➢ 《高等应用数学问题的Matlab求解》 薛定宇等著,清华大学出
MATLAB软件功能之强大、应用之广泛,已成为为21世纪最为重要的科学计算 语言。可见学习掌握这一工具的重要性。
5/6/2020
.Matlab Language
13
1.2 MATLAB产品的体系结构
围绕着MATLAB这个计算核心,形成了诸多针对不同 习使M实用A际MMTA上LATATMLBLAA产ABTBS间 的呢品LimA或核?由uB围 称 专 Bl离心若本这ilnoM文 标 编 行用绕为k散。c就干身M核 数A是k件 译效准模着模s时AT有模就心 据e窗编 生率的L块S块tT间、块是必i与 可ALm口译 成C。集集AB的S要组一u/基视图i生函BlC,(mCi动n了成个础化是+形oP成数k如Bm+态o仿,解极,于M应(用的位而领l方o标库w文Cp系cA真这不其i是一e且用工开域T详o式lk准或r件eTmos统Sr核一同丰集体发新领具,见eLo的这y的可m可tslA建s心b软的富高的提的域箱可tMu)、种执eCBo以nm模所A件模的x/性高产供工的大以i,专编行)cM被CTB、a开产块资能效品的具算概首+L门t译A文l,任iooA+分发T品完源数编家工箱法有先c用器n件这B何语Lk析的的成库B值程族s具还程到在4A于可,e些一言0lB和to应体不,多计语的箱在序网线、连以以c工产种文k仿用系同那个算言计,不包上帮S续将s提具品件Cie真g程结的么,与。算这t断,查助/时Mn、高箱提,Ca序构功应另些增被找文Al+D程的供而T包+能该外工加称是档S。序L列许生编P,,从A还具。为否。的表多成译B其哪有箱如专 已M程运以的器A中一其的果用 有序及T有部他总你工 相L每A:分公数有具 关个B开司已特箱 的本工始或有别工身具着研1的具所箱0手0究应箱提的多、单用,供使个学,
matlab概述PPT课件

74
2020年9月
28日
8
MATLAB语言的特点:
• 语言简洁紧凑,语法限制不严,程序设计
自由度大,可移植性好 • 运算符、库函数丰富 • 图形功能强大 • 界面友好、编程效率高 • 扩展性强,拥有非常丰富的工具箱
2020年9月
28日
9
MATLAB语言的功能:
•强大的数值(矩阵)运算功能
•广泛的符号运算功能
0
-0 .2
-0 .4
-0 .6
-0 .8
-1
2020年9月 0
1
2
3
4
5
6
28日
6
用四种方法描述cos(x)*sin(y)图形
1
0 .5
0
-0 .5
-1 4
2
2020年90月 28日
-2
-4
-5
0
1
0 .5
0
-0 .5
-1 4
2 0 -2 -4 -5
4
3
2
1
0
-1
-2
5
-3
-4
-4
-2
0
5 0
2
2020年9月
28日
20
五、基本运算
•1+2+3+4+5
•x=1+2+3+4+5
•a=2,b=3,a*b
•x=15;y=20;z=2*x+3*y
•计算半径为3的圆面积:
r=3;
area=pi*r^2
2020年9月
28日
21
六、matlab与dos兼容命令
1.dir— 可列出指定目录下的文件和子目 录清单 例如: •dir 可显示当前目录下的所有文件 •dir c:\matlab •dir c:\matlab\*.m
matlab教程ppt(完整版)

饼图
展示部分与整体的关系,通过扇形面积或角度表 示占比。
三维图形
01
02
03
04
三维散点图
在三维空间中展示两个变量之 间的关系,通过点的位置展示
数据。
三维曲面图
通过曲面表示两个或多个变量 之间的关系,可以展示数据的
分布和趋势。
三维等高线图
表示三维空间中数据的分布和 变化,通过等高线的形状和密
集程度展示数据。
处理运行过程中出现的错误和 异常情况。
通过优化算法和代码结构,提 高程序的运行效率。
对代码进行重新组织,使其更 易于阅读和维护。
03
MATLAB可视化
绘图基础
散点图
描述两个变量之间的关系,通过点的分布展示数 据。
条形图
比较不同类别的数据大小,通过条形的长度或高 度进行比较。
折线图
展示时间序列数据或多个变量之间的关系,通过 线条的走势呈现数据变化。
控制系统仿真
使用MATLAB进行控制系统仿真 ,模拟系统动态性能。
控制系统优化
对控制系统进行优化设计,如权 重优化、多目标优化等。
THANK YOU
感谢聆听
对图像进行几何变换,如缩放、旋转、平移 等操作。
动画制作
帧动画
通过一系列静态图像的连续播放,形 成动态效果。
路径动画
让对象沿指定路径移动,形成动态效 果。
变形动画
让对象从一个形状逐渐变形为另一个 形状,形成动态效果。
交互式动画
允许用户通过交互操作控制动画的播 放、暂停、回放等操作。
04
MATLAB在科学计算中的应用
对函数进行数值积分和微分, 用于解决定积分和微分方程问 题。
数值优化
展示部分与整体的关系,通过扇形面积或角度表 示占比。
三维图形
01
02
03
04
三维散点图
在三维空间中展示两个变量之 间的关系,通过点的位置展示
数据。
三维曲面图
通过曲面表示两个或多个变量 之间的关系,可以展示数据的
分布和趋势。
三维等高线图
表示三维空间中数据的分布和 变化,通过等高线的形状和密
集程度展示数据。
处理运行过程中出现的错误和 异常情况。
通过优化算法和代码结构,提 高程序的运行效率。
对代码进行重新组织,使其更 易于阅读和维护。
03
MATLAB可视化
绘图基础
散点图
描述两个变量之间的关系,通过点的分布展示数 据。
条形图
比较不同类别的数据大小,通过条形的长度或高 度进行比较。
折线图
展示时间序列数据或多个变量之间的关系,通过 线条的走势呈现数据变化。
控制系统仿真
使用MATLAB进行控制系统仿真 ,模拟系统动态性能。
控制系统优化
对控制系统进行优化设计,如权 重优化、多目标优化等。
THANK YOU
感谢聆听
对图像进行几何变换,如缩放、旋转、平移 等操作。
动画制作
帧动画
通过一系列静态图像的连续播放,形 成动态效果。
路径动画
让对象沿指定路径移动,形成动态效 果。
变形动画
让对象从一个形状逐渐变形为另一个 形状,形成动态效果。
交互式动画
允许用户通过交互操作控制动画的播 放、暂停、回放等操作。
04
MATLAB在科学计算中的应用
对函数进行数值积分和微分, 用于解决定积分和微分方程问 题。
数值优化
matlab介绍与应用PPT教学课件

3. 命名原则
4. *变量名区分大小写;*变量名长度不超过31位;
5. *变量名以字母开头,变量名中可以包含字母、数字、
下划线,但不能使用标点。
2020/12/10
10
MATLAB语言
在没有特殊声明的情况下,MATLAB语言将所识别的 一切变量视为局部变量。若要定义全局变量,在给该 变量前加关键字global。一般全局变量常用大写的英文 字符表示。
2.1 MATLAB的运行方式 有两种运行方式:
一、直接交互命令行操作方式
二、.m文件编辑运行操作方式
2020/12/10
5
MATLAB语言
在MATLAB中.m文件分为两种:
一、类似DOS的批处理文件,包含了一连串的MATLAB 的指令,既不接受输入参数,也不返回输出参数,称为 脚本(script)。
MATLAB语言
MATLAB 语言
2020/12/10
1
MATLAB语言 一些命令:
1. “show workspace” 命令
是打开MATLAB的工作空间浏览器的命令。工作空间浏 览器能够显示可进行操作的变量的集合以及各变量的各 种属性。
也可以用键入命令的方式
Who 仅显示变量名
Whos 显示同工作空间一样的信息
(4)函数主体:函数主体在函数说明后,是所有进行具 体运算和赋值程序的代码。
(5)注解:在MATLAB中,还可以对某一行的具体内容 进行注解。
注:MATLAB通过判断.m文件的第一行是否有关键字 “function”来识别该文件是否为函数文件。如果一个m文 件是脚本文件,那么在该文件中不允许再出现函数定义语 句。但可以调用在同一工作空间的函数文件中定义的函数
matlab教程ppt(完整版)

`int8()`,
`char()`, `logical()`等。
流程控制结构
顺序结构
按照代码的先后顺序执行 。
选择结构
通过条件语句实现分支选 择,包括`if`、`else`、 `elseif`等。
循环结构
通过循环语句实现重复执 行代码块,包括`for`、 `while`等。
函数编写
函数定义
使用`function`关键字定义函数, 指定输入和输出参数。
介绍MATLAB中的机器学习工具箱,包括工具箱中的函数、算 法和使用方法等。
通过实际案例演示如何使用MATLAB进行机器学习,包括数据 预处理、特征选择、模型训练和评估等。
THANKS
[ 感谢观看 ]
信号的傅里叶变换
介绍傅里叶变换的基本原理 ,以及如何使用MATLAB进 行信号的傅里叶变换和逆变 换。
滤波器设计
介绍滤波器的基本原理和设 计方法,以及如何使用 MATLAB进行滤波器的设计 和实现。
信号处理实例
通过实际案例演示如何使用 MATLAB进行信号处理,包 括信号的频谱分析、滤波、 降噪等。
数值计算基础
数值类型
介绍MATLAB中的数值类型,包括双精度、单精 度、复数等。
变量声明
解释如何声明和初始化变量,以及如何使用 MATLAB的数据类型。
运算符
介绍基本的算术运算符、关系运算符和逻辑运算 符及其用法。
方程求解
代数方程求解
介绍如何使用MATLAB求解一元和多元代数方程。
微分方程求解
介绍如何使用MATLAB求解常微分方程和偏微分方程。
MATLAB应用领域
MATLAB是一种用于算法开发、数据 可视化、数据分析和数值计算的高级 编程语言和交互式环境。
matlab教程ppt(完整版)

矩阵的数学运算
总结词
详细描述
总结词
详细描述
掌握矩阵的数学运算,如求逆 、求行列式、求特征值等。
在MATLAB中,可以使用inv() 函数来求矩阵的逆,使用det() 函数来求矩阵的行列式,使用 eig()函数来求矩阵的特征值。 例如,A的逆可以表示为 inv(A),A的行列式可以表示 为det(A),A的特征值可以表 示为eig(A)。
• 总结词:了解特征值和特征向量的概念及其在矩阵分析中的作用。 • 详细描述:特征值和特征向量是矩阵分析中的重要概念。特征值是满足Ax=λx的标量λ和向量x,特征向量是与特征值对
应的非零向量。特征值和特征向量在许多实际问题中都有应用,如振动分析、控制系统等。
04
MATLAB图像处理
图像的读取与显示
变量定义
使用赋值语句定义变量,例如 `x = 5`。
矩阵操作
学习如何创建、访问和操作矩 阵,例如使用方括号 `[]`。
函数编写
学习如何创建自定义函数来执 行特定任务。
02
MATLAB编程
变量与数据类型
01
02
03
变量命名规则
MATLAB中的变量名以字 母开头,可以包含字母、 数字和下划线,但不应与 MATLAB保留字冲突。
了解矩阵的数学运算在实际问 题中的应用。
矩阵的数学运算在许多实际问 题中都有应用,如线性方程组 的求解、矩阵的分解、信号处 理等。通过掌握这些运算,可 以更好地理解和解决这些问题 。
矩阵的分解与特征值
• 总结词:了解矩阵的分解方法,如LU分解、QR分解等。
• 详细描述:在MATLAB中,可以使用lu()函数进行LU分解,使用qr()函数进行QR分解。这些分解方法可以将一个复杂的 矩阵分解为几个简单的部分,便于计算和分析。
matlab教程ppt(完整版)

,展示数据和模型结果。
数据处理
应用MATLAB的信号处理和统计 分析函数库,进行数据预处理、
特征提取和模型训练。
机器学习与深度学习
机器学习
介绍MATLAB中的各种机器学习算法,如线性回归、决策 树、支持向量机等,以及如何应用它们进行分类、回归和 聚类。
深度学习
介绍深度学习框架和网络结构,如卷积神经网络(CNN) 、循环神经网络(RNN)等,以及如何使用MATLBiblioteka B进行 训练和部署。感谢观看
THANKS
符号微积分
进行符号微分和积分运算,如极限、导数和 积分。
符号方程求解
使用solve函数求解符号方程。
符号矩阵运算
进行符号矩阵的乘法、转置等运算。
05
MATLAB应用实例
数据分析与可视化
数据分析
使用MATLAB进行数据导入、清 洗、处理和分析,包括描述性统
计、可视化、假设检验等。
可视化
利用MATLAB的图形和可视化工 具,如散点图、柱状图、3D图等
数值求和与求积
演示如何对数值进行求和与求积 操作。
数值计算函数
介绍常用数值计算函数,如sin、 cos、tan等。
方程求解
演示如何求解线性方程和非线性方 程。
03
MATLAB编程基础
控制流
01
02
03
04
顺序结构
按照代码的先后顺序执行,是 最基本的程序结构。
选择结构
通过if语句实现,根据条件判 断执行不同的代码块。
数据分析
数值计算
MATLAB提供了强大的数据分析工具,支 持多种统计分析方法,可以帮助用户进行 数据挖掘和预测分析。
MATLAB可以进行高效的数值计算,支持 多种数值计算方法,包括线性代数、微积 分、微分方程等。
数据处理
应用MATLAB的信号处理和统计 分析函数库,进行数据预处理、
特征提取和模型训练。
机器学习与深度学习
机器学习
介绍MATLAB中的各种机器学习算法,如线性回归、决策 树、支持向量机等,以及如何应用它们进行分类、回归和 聚类。
深度学习
介绍深度学习框架和网络结构,如卷积神经网络(CNN) 、循环神经网络(RNN)等,以及如何使用MATLBiblioteka B进行 训练和部署。感谢观看
THANKS
符号微积分
进行符号微分和积分运算,如极限、导数和 积分。
符号方程求解
使用solve函数求解符号方程。
符号矩阵运算
进行符号矩阵的乘法、转置等运算。
05
MATLAB应用实例
数据分析与可视化
数据分析
使用MATLAB进行数据导入、清 洗、处理和分析,包括描述性统
计、可视化、假设检验等。
可视化
利用MATLAB的图形和可视化工 具,如散点图、柱状图、3D图等
数值求和与求积
演示如何对数值进行求和与求积 操作。
数值计算函数
介绍常用数值计算函数,如sin、 cos、tan等。
方程求解
演示如何求解线性方程和非线性方 程。
03
MATLAB编程基础
控制流
01
02
03
04
顺序结构
按照代码的先后顺序执行,是 最基本的程序结构。
选择结构
通过if语句实现,根据条件判 断执行不同的代码块。
数据分析
数值计算
MATLAB提供了强大的数据分析工具,支 持多种统计分析方法,可以帮助用户进行 数据挖掘和预测分析。
MATLAB可以进行高效的数值计算,支持 多种数值计算方法,包括线性代数、微积 分、微分方程等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) [V,D]=eig(A,’nobalance’):本格式的功能与格 式 (2) 一 样 , 只 是 格 式 (2) 是 先 对 A 作 相 似 变 换 (balance),然后再求其特征值与相应的特征向量; 而本格式则事先不作相似变换;
二、矩阵的特征值与特征向量
(4) E=eig(A,B):由eig(A,B)返回NN阶方阵A 和B的N个广义特征值,构成向量E。
一、 特殊矩阵的实现
3.单位矩阵:主对角线的元素值为1、其余元素值为0的 矩阵称为单位矩阵。它可以用MATLAB内部函数eye建立, 使用格式与zeros相同。
4.数量矩阵:主对角线的元素值为一常数d、其余元素 值为0的矩阵称为数量矩阵。显然,当d=1时,即为单位 矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。
056 009 000 C=triu(A,1) D=triu(A,-1)
9.下三角阵:使用格式为tril(A)、tril(A,k) tril的功能是从矩阵A中提取下三角部分构成下三角阵。 用法与triu相同。
一、 特殊矩阵的实现
10.空矩阵
在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵 在数学意义上讲是空的,但在MATLAB里确是很有用的。例如
一、 特殊矩阵的实现
【例4】试分别用triu(A)、triu(A,1)和、triu(A,-1)从矩 阵A提取相应的上三角部分构成上三角阵B、C和D。
MATLAB程序如下:
A=[1 2 3;4 5 6;7 8 9;9 8 7]; % 一个已知的43阶矩阵A % 构成各种情况的上三角阵B、C和D B=triu(A) B= 1 2 3
2. 矩阵求逆解法 利用求系数矩阵A的逆阵A-1,我们可以得到矩 阵求逆解法。对于线性代数方程组Ax=b,等号两 侧各左乘A-1,有:
A-1Ax=A-1b 由于A-1A=I,故得:
x=A-1b
四、矩阵求逆及其线性代数方程组求解
【例8】试用矩阵求逆解法求解例6.20中矩阵 A为系数矩阵的线性代数方程组Ax=b的解。
二、矩阵的特征值与特征向量
对于NN阶方阵A,所谓A的特征值问题是: 求数λ和N维非零向量x(通常为复数),使之满 足下式:
A. x=λ x 则称λ为矩阵A的一个特征值(特征根),而 非零向量x为矩阵A的特征值λ所对应的特征向量。 对一般的N N阶方阵A,其特征值通常为复 数,若A为实对称矩阵,则A的特征值为实数。
四、矩阵求逆及其线性代数方程组求解
【例7】试用inv函数求方阵A的逆阵A-1赋值给
B,且验证A与A-1是互逆的。
A=[1 -1 1;5 -4 3;2 1 1]; B=inv(A)
B= -1.4000 0.2000 2.6000
A*B ans =
1.0000 0.0000
0.4000 -0.2000 -0.6000
A=rand(3) A=
0.9501 0.2311 0.6068 det(A) ans = 0.4289
0.4860 0.8913 0.7621
0.4565 0.0185 0.8214
四、 矩阵求逆及其 线性代数方程组求解
四、矩阵求逆及其线性代数方程组求解
1 . 矩阵求逆 若方阵A,B满足等式
A*B = B*A = I (I为单位矩阵) 则称A为B的逆矩阵,或称B为A的逆矩阵。这 时A,B都称为可逆矩阵(或非奇异矩阵、或满秩 矩阵),否则称为不可逆矩阵(或奇异矩阵、或降 秩矩阵)。
一、 特殊矩阵的实现
2.幺矩阵:所有元素值为1的矩阵称为幺矩阵。 幺矩阵可以用ones函数实现。它的调用格式与 zeros函数一样。
【例1】 试用ones分别建立32阶幺矩阵、和与 前例矩阵A同样大小的幺矩阵。
用ones(3,2) 建立一个3 2阶幺阵: ones(3,2) % 一个32阶幺阵
ans =1 1 11 11
(5) [V,D]=eig(A,B):由eig(A,B)返回方阵A和B 的N个广义特征值,构成N N阶对角阵D,其对 角线上的N个元素即为相应的广义特征值,同时 将返回相应的特征向量构成NN阶满秩矩阵,且 满足AV=B V D。
二、矩阵的特征值与特征向量
【例5】试用格式(1)求下列对称矩阵A的特征 值;用格式(2)求A的特征值和相应的特征向量, 且验证之。
A=[0.1 0.2 0.3;0.4 0.5 0.6]; B=find(A>1.0) B=[]
这里[ ]是空矩阵的符号,B=find(A>1.0)表示列出矩阵A中值大于 1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另外, 也可以将空矩阵赋给一个变量,如:
B=[ ] B=[]
二、矩阵的特征值 与特征向量
一、 特殊矩阵的实现
【例3】 已知矩阵A,试从矩阵A分别提取主 对角线及它两侧的对角线构成向量B、C和D。
MATLAB程序如下:
A=[1 2 3;4 5 6];
% 建立一个已知的23阶矩阵A
% 按各种对角线情况构成向量B、C和D
B=diag(A)
B= 1
5
C=diag(A,1)
C= 2
6
D=diag(A,-1)
A=[2 -5 4;1 5 -2;-1 2 4]
A = 2 -5 4 1 5 -2 -1 2 4
b=[5;6;5]
b= 5 6 5
然后只需输入命令x=A\b即可求得解x:
x=A\b
x = 2.7674 1.1860 1.3488
一、 特殊矩阵的实现
一、 特殊矩阵的实现
常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角 形矩阵等,这类特殊矩阵在线性代数中具有通用性;还 有一类特殊矩阵在专门学科中有用,如有名的希尔伯特 (Hilbert)矩阵、范德蒙(Vandermonde) 矩阵等。
三、行列式的值
三、行列式的值
MATLAB提供的内部函数det用来计算矩阵的行列式的 值。设矩阵A为一方阵(必须是方阵),求矩阵A的行列式 值的格式为:det(A)。注意:本函数同样能计算通过构造 出的稀疏矩阵的行列式的值。关于如何构造稀疏矩阵, 将在本章最后一节介绍。
【例6】利用随机函数产生一个三阶方阵A,然后计算 方阵之行列式的值。
【例2】已知向量v,试建立以向量v作为主对角线的 对角阵A;建立分别以向量v作为主对角线两侧的对角线 的对角阵B和C。
MATLAB程序如下:
一、 特殊矩阵的实现
% 按各种对角线情况构成相应的对角阵A、B和C
v =[1;2;3]; % 建立一个已知的向量A A=diag(v) A= 1 0 0
020 003 B=diag(v,1) B= 0 1 0 0 0020 0003 0000 C=diag(v,-1) C= 0 0 0 0 1000 0200
1.零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可
以用zeros函数实现。zeros是MATLAB内部函数,使用格式 如下:
zeros(m):产生m m阶零矩阵; zeros(m,n):产生m n阶零矩阵,当m=n时等同于 zeros(m); zeros(size(A)):产生与矩阵A同样大小的零矩阵。
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
四、矩阵求逆及其线性代数方程组求解
3. 直接解法 对于线性代数方程组Ax=b,我们可以运用左 除运算符“\”象解一元一次方程那样简单地求解:
x=A\b
当系数矩阵A为N*N的方阵时,MATLAB会自行用高 斯消去法求解线性代数方程组。若右端项b为N*1的列向 量,则x=A\b可获得方程组的数值解x(N*1的列向量); 若右端项b为N*M的矩阵,则x=A\b可同时获得同一系数 矩 阵 A 、 M 个 方 程 组 数 值 解 x ( 为 N*M 的 矩 阵 ) , 即 x(:,j)=A\b(:,j),j=1,2,…M。
二、矩阵的特征值与特征向量
(1) E=eig(A):由eig(A)返回方阵A的N个特征值, 构成向量E;
(2) [V,D]=eig(A):由eig(A)返回方阵A的N个特征 值,构成NN阶对角阵D,其对角线上的N个元素 即为相应的特征值,同时将返回相应的特征向量赋 予NN阶方阵V的对应列,且A、V、D满足AV=V D;
• A =[ • 1.0000 1.0000 0.5000 • 1.0000 1.0000 0.2500 • 0.5000 0.2500 2.0000 ];
执行eig(A)将直接获得对称矩阵A的三个实特 征值:
二、矩阵的特征值与特征向量
eig(A) ans = -0.0166
1.4801 2.5365 而下列命令则将0.0166 1.4801 2.5365
D= 4
一、 特殊矩阵的实现
8.上三角阵:使用格式为triu(A)、triu(A,k) 设A为mn阶矩阵,triu(A)将从矩阵A中提取主 对角线之上的上三角部分构成一个m n阶上三 角阵;triu(A,k)将从矩阵A中提取主对角线第|k|条 对角线之上的上三角部分构成一个mn阶上三角 阵。注意:这里的k与diag(A,k)的用法类似,当k >0,则该对角线位于主对角线的上方第k条;当 k<0,该对角线位于主对角线的下方第|k|条;当 k=0,则等同于triu (A)
四、矩阵求逆及其线性代数方程组求解
1 1 1 x1 2 5 4 3 x2 3 2 1 1 x3 1
1 1 1 y1 3
5
4
3
y2
4
2 1 1 y3 5
四、矩阵求逆及其线性代数方程组求解
解法1:分别解方程组 (1)Ax=b1;(2)Ay=b2
5.对角阵:对角线的元素值为常数、其余元素值为0的 矩阵称为对角阵。我们可以通过MATLAB内部函数diag, 利用一个向量构成对角阵;或从矩阵中提取某对角线构 成一个向量。使用
二、矩阵的特征值与特征向量
(4) E=eig(A,B):由eig(A,B)返回NN阶方阵A 和B的N个广义特征值,构成向量E。
一、 特殊矩阵的实现
3.单位矩阵:主对角线的元素值为1、其余元素值为0的 矩阵称为单位矩阵。它可以用MATLAB内部函数eye建立, 使用格式与zeros相同。
4.数量矩阵:主对角线的元素值为一常数d、其余元素 值为0的矩阵称为数量矩阵。显然,当d=1时,即为单位 矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。
056 009 000 C=triu(A,1) D=triu(A,-1)
9.下三角阵:使用格式为tril(A)、tril(A,k) tril的功能是从矩阵A中提取下三角部分构成下三角阵。 用法与triu相同。
一、 特殊矩阵的实现
10.空矩阵
在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵 在数学意义上讲是空的,但在MATLAB里确是很有用的。例如
一、 特殊矩阵的实现
【例4】试分别用triu(A)、triu(A,1)和、triu(A,-1)从矩 阵A提取相应的上三角部分构成上三角阵B、C和D。
MATLAB程序如下:
A=[1 2 3;4 5 6;7 8 9;9 8 7]; % 一个已知的43阶矩阵A % 构成各种情况的上三角阵B、C和D B=triu(A) B= 1 2 3
2. 矩阵求逆解法 利用求系数矩阵A的逆阵A-1,我们可以得到矩 阵求逆解法。对于线性代数方程组Ax=b,等号两 侧各左乘A-1,有:
A-1Ax=A-1b 由于A-1A=I,故得:
x=A-1b
四、矩阵求逆及其线性代数方程组求解
【例8】试用矩阵求逆解法求解例6.20中矩阵 A为系数矩阵的线性代数方程组Ax=b的解。
二、矩阵的特征值与特征向量
对于NN阶方阵A,所谓A的特征值问题是: 求数λ和N维非零向量x(通常为复数),使之满 足下式:
A. x=λ x 则称λ为矩阵A的一个特征值(特征根),而 非零向量x为矩阵A的特征值λ所对应的特征向量。 对一般的N N阶方阵A,其特征值通常为复 数,若A为实对称矩阵,则A的特征值为实数。
四、矩阵求逆及其线性代数方程组求解
【例7】试用inv函数求方阵A的逆阵A-1赋值给
B,且验证A与A-1是互逆的。
A=[1 -1 1;5 -4 3;2 1 1]; B=inv(A)
B= -1.4000 0.2000 2.6000
A*B ans =
1.0000 0.0000
0.4000 -0.2000 -0.6000
A=rand(3) A=
0.9501 0.2311 0.6068 det(A) ans = 0.4289
0.4860 0.8913 0.7621
0.4565 0.0185 0.8214
四、 矩阵求逆及其 线性代数方程组求解
四、矩阵求逆及其线性代数方程组求解
1 . 矩阵求逆 若方阵A,B满足等式
A*B = B*A = I (I为单位矩阵) 则称A为B的逆矩阵,或称B为A的逆矩阵。这 时A,B都称为可逆矩阵(或非奇异矩阵、或满秩 矩阵),否则称为不可逆矩阵(或奇异矩阵、或降 秩矩阵)。
一、 特殊矩阵的实现
2.幺矩阵:所有元素值为1的矩阵称为幺矩阵。 幺矩阵可以用ones函数实现。它的调用格式与 zeros函数一样。
【例1】 试用ones分别建立32阶幺矩阵、和与 前例矩阵A同样大小的幺矩阵。
用ones(3,2) 建立一个3 2阶幺阵: ones(3,2) % 一个32阶幺阵
ans =1 1 11 11
(5) [V,D]=eig(A,B):由eig(A,B)返回方阵A和B 的N个广义特征值,构成N N阶对角阵D,其对 角线上的N个元素即为相应的广义特征值,同时 将返回相应的特征向量构成NN阶满秩矩阵,且 满足AV=B V D。
二、矩阵的特征值与特征向量
【例5】试用格式(1)求下列对称矩阵A的特征 值;用格式(2)求A的特征值和相应的特征向量, 且验证之。
A=[0.1 0.2 0.3;0.4 0.5 0.6]; B=find(A>1.0) B=[]
这里[ ]是空矩阵的符号,B=find(A>1.0)表示列出矩阵A中值大于 1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另外, 也可以将空矩阵赋给一个变量,如:
B=[ ] B=[]
二、矩阵的特征值 与特征向量
一、 特殊矩阵的实现
【例3】 已知矩阵A,试从矩阵A分别提取主 对角线及它两侧的对角线构成向量B、C和D。
MATLAB程序如下:
A=[1 2 3;4 5 6];
% 建立一个已知的23阶矩阵A
% 按各种对角线情况构成向量B、C和D
B=diag(A)
B= 1
5
C=diag(A,1)
C= 2
6
D=diag(A,-1)
A=[2 -5 4;1 5 -2;-1 2 4]
A = 2 -5 4 1 5 -2 -1 2 4
b=[5;6;5]
b= 5 6 5
然后只需输入命令x=A\b即可求得解x:
x=A\b
x = 2.7674 1.1860 1.3488
一、 特殊矩阵的实现
一、 特殊矩阵的实现
常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角 形矩阵等,这类特殊矩阵在线性代数中具有通用性;还 有一类特殊矩阵在专门学科中有用,如有名的希尔伯特 (Hilbert)矩阵、范德蒙(Vandermonde) 矩阵等。
三、行列式的值
三、行列式的值
MATLAB提供的内部函数det用来计算矩阵的行列式的 值。设矩阵A为一方阵(必须是方阵),求矩阵A的行列式 值的格式为:det(A)。注意:本函数同样能计算通过构造 出的稀疏矩阵的行列式的值。关于如何构造稀疏矩阵, 将在本章最后一节介绍。
【例6】利用随机函数产生一个三阶方阵A,然后计算 方阵之行列式的值。
【例2】已知向量v,试建立以向量v作为主对角线的 对角阵A;建立分别以向量v作为主对角线两侧的对角线 的对角阵B和C。
MATLAB程序如下:
一、 特殊矩阵的实现
% 按各种对角线情况构成相应的对角阵A、B和C
v =[1;2;3]; % 建立一个已知的向量A A=diag(v) A= 1 0 0
020 003 B=diag(v,1) B= 0 1 0 0 0020 0003 0000 C=diag(v,-1) C= 0 0 0 0 1000 0200
1.零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可
以用zeros函数实现。zeros是MATLAB内部函数,使用格式 如下:
zeros(m):产生m m阶零矩阵; zeros(m,n):产生m n阶零矩阵,当m=n时等同于 zeros(m); zeros(size(A)):产生与矩阵A同样大小的零矩阵。
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
四、矩阵求逆及其线性代数方程组求解
3. 直接解法 对于线性代数方程组Ax=b,我们可以运用左 除运算符“\”象解一元一次方程那样简单地求解:
x=A\b
当系数矩阵A为N*N的方阵时,MATLAB会自行用高 斯消去法求解线性代数方程组。若右端项b为N*1的列向 量,则x=A\b可获得方程组的数值解x(N*1的列向量); 若右端项b为N*M的矩阵,则x=A\b可同时获得同一系数 矩 阵 A 、 M 个 方 程 组 数 值 解 x ( 为 N*M 的 矩 阵 ) , 即 x(:,j)=A\b(:,j),j=1,2,…M。
二、矩阵的特征值与特征向量
(1) E=eig(A):由eig(A)返回方阵A的N个特征值, 构成向量E;
(2) [V,D]=eig(A):由eig(A)返回方阵A的N个特征 值,构成NN阶对角阵D,其对角线上的N个元素 即为相应的特征值,同时将返回相应的特征向量赋 予NN阶方阵V的对应列,且A、V、D满足AV=V D;
• A =[ • 1.0000 1.0000 0.5000 • 1.0000 1.0000 0.2500 • 0.5000 0.2500 2.0000 ];
执行eig(A)将直接获得对称矩阵A的三个实特 征值:
二、矩阵的特征值与特征向量
eig(A) ans = -0.0166
1.4801 2.5365 而下列命令则将0.0166 1.4801 2.5365
D= 4
一、 特殊矩阵的实现
8.上三角阵:使用格式为triu(A)、triu(A,k) 设A为mn阶矩阵,triu(A)将从矩阵A中提取主 对角线之上的上三角部分构成一个m n阶上三 角阵;triu(A,k)将从矩阵A中提取主对角线第|k|条 对角线之上的上三角部分构成一个mn阶上三角 阵。注意:这里的k与diag(A,k)的用法类似,当k >0,则该对角线位于主对角线的上方第k条;当 k<0,该对角线位于主对角线的下方第|k|条;当 k=0,则等同于triu (A)
四、矩阵求逆及其线性代数方程组求解
1 1 1 x1 2 5 4 3 x2 3 2 1 1 x3 1
1 1 1 y1 3
5
4
3
y2
4
2 1 1 y3 5
四、矩阵求逆及其线性代数方程组求解
解法1:分别解方程组 (1)Ax=b1;(2)Ay=b2
5.对角阵:对角线的元素值为常数、其余元素值为0的 矩阵称为对角阵。我们可以通过MATLAB内部函数diag, 利用一个向量构成对角阵;或从矩阵中提取某对角线构 成一个向量。使用