1第四讲MATLAB矩阵

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB矩阵简介
从结构上讲,矩阵(数组)是MATLAB数
据存储的基本单元。
从运算角度讲,矩阵形式的数据有多种
运算形式,例如向量运算,矩阵运算,
数组运算等。
二、矩阵的创建
1.直接输入法 最简单的建立矩阵的方法是从键盘直接输 入矩阵的元素。——将矩阵的元素用方括 号括起来,按矩阵行的顺序输入各元素, 同一行的各元素之间用空格或逗号分隔, 不同行的元素之间用分号分隔。如果只输 入一行则就形成一个数组(又称作向量) a=[1 2 3;4 5 6] b=[1 2 3 4 5 6]
部元素;
A(i:i+m,k:k+m)表示取A矩阵第i~i+m行
内,并在第k~k+m列中的所有元素;
例:建立一个5阶的魔方矩阵,完成有关 矩阵的寻访操作
1.矩阵和数组拆分
注:还可利用一般向量和end运算符来表 示矩阵下标,从而获得子矩阵。end表示某 一维的末尾元素下标。
A(i,end)表示取A矩阵i行的最后一个元素
1 2 1 2 4 2 A 2 1 0 3 3 3
0 2 6 6 2 3 3 4
(注意矩阵对角线的计数方法)
diag(X)-----相当于diag(X,0)
diag命令(续)
注:diag命令还可以用来建立对角矩阵
(先要给出主对角线上 的元素)
diga(v,k)----使向量v为所得矩阵的第k条
对角线元素
diag(v)-----使得v为矩阵的主对角元素
实例演示
利用初等变化求矩阵的秩
始每隔e2步长一直到e3的所有元素
1.矩阵和数组拆分
A([m n l])表示取数组或矩阵A中的第m, n,
l个元素
A(:,j)表示取A矩阵的第j列全部元素;
A(i,:)表示A矩阵第i行的全部元素;
A(i:i+m,:)表示取A矩阵第i~i+m行的全部
元素;
1.矩阵和数组拆分
A(:,k:k+m)表示取A矩阵第k~k+m列的全
对以文本格式存储的数据MATLAB也可以
使用相关命令读取数据。详细信息同学
们可以参阅MATLAB帮助信息!相关命令 有 dlmread;textread;fopen等命令
二、矩阵(数组)的创建
3.利用冒号表达式建立一个数组(向量)注意
向量也是特殊的矩阵
一般格式是:e1:e2:e3
其中e1为初始值,e2为步长,e3为终止值
注:randn(‘state’,0)表示将正态随机 数发生器置0
5.用MATLAB函数创建矩阵
注:()中如果输入(m,n)则说明产生一个m 行n列的矩阵(eye()函数除外) 如果输入(m)则产生一个m行m列的方阵 如果输入(m,n,p,„)则产生m*n*p*„阶的 矩阵(此项用在产生高维矩阵) 如果输入(size(A))则产生一个与A大小相 同的矩阵
不是变量名
变量命名命名规则(续)
在MATLAB中,变量名区分字母的大小
写,如变量myvar和MyVar表示两个不同
的变量,sin是MATLAB定义的正弦函数
名,但SIN,Sin等都不是。
2.赋值语句
格式:变量=表达式 其中表达式是用运算符将有关运算量连接 起来的式子,其结果是一个矩阵。 如:X=3;X=[1 2;3 4];Z=a+X
一个实际问题
甲 蛋白质(%) 脂肪(%) 碳水化合物% 20 3 10 乙 16 8 25 丙 10 2 20 丁 15 5 5
问:如何用这四种原料配置出满 足要求的食品?
方程的建立
x1 x2 x3 x4 1 20% x 16% x 10% x 15% x 15% 1 2 3 4 3% x1 8% x2 2% x3 5% x4 5% 10% x1 25% x2 20% x3 5% x4 12% x1 x2 x3 x4 1 20 x 16 x 10 x 15 x 15 1 2 3 4 3 x1 8 x2 2 x3 5 x4 5 10 x1 25 x2 20 x3 5 x4 12
学习内容
一. 变量和数据操作
二. 数组和矩阵的创建
三. 数组和矩阵的寻访和操作 四. 数组和矩阵运算
一、变量和数据操作
1. 变量命名 在MATLAB 中,变量名是以字母开头,后接
字母、数字或下划线的字符序列,但不得
使用空格和标点符号,最多63个字符。如
my_var_201是合法的变量而my,var201就
4.内存变量的管理
2)clear命令------用于删除MATLAB工作 空间中的变量。(注意与clc命令的区别) 3)who和whos命令------用于显示在 MATLAB工作空间中已经驻留的变量名清 单。 who命令只显示出驻留变量的名称 whos在给出变量名的同时,还给出它们 的大小、所占字节数及数据类型等信息。
定数线性采样函数产生向量(续)
注:它与冒号表达式的区别是:
linspace是维数已知的情况下产生向量,
冒号表达式是维数未知,间隔已知。
2 1022
二、创建矩阵
5.采用定数对数采样函数产生向量 调用格式为: y=logspace(a,b,n); 其中a和b是生成向量的第一个和最后一个 元素,n是元素总数。 作用:是10^a和10^b之间产生一等分的n维 向量,如果省略n,则系统默认n等于50.
A(end,j)表示取A矩阵j列的最后一个元素
A(i:end)表示取矩阵第i个元素到最后一 个元素
1.矩阵和数组拆分
2.对角元素抽取函数diag diag(X,k)----抽取矩阵X的第k条对角线的元素,
k=0时即为抽取主对角线,
k>0时为上方第k条对角线,
k<0时为下方第k条对角线
二、创建矩阵
4.采用定数线性采样函数产生向量
调用格式为:x=linspace(a,b,n)
其中a和b是生成向量的第一个和最后一个元素,n 是元素总数。 作用:a和b之间产生一个等分的n维向量,如果省 略n,则系统默认n等于100.
如:x=linspace(1,100,6);
x=linspace(1,100)
冒号表达式创建矩阵(续)
注:e3为尾元素数值限,而非元素值。 如x=1:2:7 若步长e2为1,则可省略此项输入。 如x=1:5 若e1小于e3则e2必须大于0,如x=1:2:12 若e1大于e3则e2必须小于0,如x=12:-2:1 若e1等于e3则只有一个元素, 如x=1:2:1则只输出1
4.用MATLAB函数创建矩阵
注:还有伴随矩阵、稀疏矩阵、魔方矩阵、 对角矩阵、范德蒙等矩阵的创建,这些特殊 矩阵在MATLAB中有专门的函数可以建立,在 此就不一一介绍了。特殊矩阵的建立见相关 MATLAB参考书或帮助文件。
实例演示
例:建立与矩阵A同样大小的零矩阵。设矩阵 A为2×3矩阵。 具体命令如下: A=[1 2 3;4 5 6]; %产生一个2×3阶矩阵A zeros(size(A)) %产生一个与矩阵A同样大小的零矩阵
定数对数采样函数产生向量(续)
如x=logspace(0,5,6);x=logspace(0,5)
注:此命令主要用在数字信号处理中,
在其中又时需要产生对数刻度坐标
5.用MATLAB函数创建矩阵
空阵 [ ] — MATLAB允许输入空阵,当一项
操作无结果时,返回空阵。 rand()—— 随机矩阵 ,元素值在(0,1)内
2.赋值语句(续)
注:只要是赋过值的变量,不管是否在屏幕上
显示过,都存储在工作空间中,以后可随时
显示或调用。变量名尽可能不要重复,否则
会覆盖 。
注:当一个指令或矩阵太长时,可用,•••续行
3.预定义常量
在MATLAB工作空间中,还驻留几个由系统本 身定义的常量。例如,用pi表示圆周率π 的 近似值,用i,j表示虚数单位。 预定义常量有特定的含义,在使用时,应尽 量避免对这些变量重新赋值。 MATLAB预定义的变量还有ans,eps(机器零阀 值),Inf/inf,NaN/nan,realmax,realmin
format命令的格式为:format+格式符 注:格式符决定数据的输出格式,格式符的 形式可以为 compact; losse;bank; short;long;short e;long e等。
实例:以不同的格式显示pi的值
学习内容
一. 变量和数据操作
二. 数组和矩阵的创建
三. 数组和矩阵的寻访和作 四. 数组和矩阵运算
4.内存变量的管理
4)保存和加载内存变量文件
常用格式为:
save 文件名 [变量名表]
load 文件名
[变量名表]
4.内存变量的管理
注1:变量名表中的变量个数不限,只要内
存或文件中存在即可,变量名之间以空格分
隔。当变量名表省略时,保存或装入全部变 量。 注2:内存变量文件的扩展名为.mat。MAT文
附:MATLAB中常见的预定义变量表
实例演示
例:计算下列表达式的值,并显示计算结果。 x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))sin(78*pi/180))/(x+abs(y)) 其中pi和i都是MATLAB预先定义的变量,表 示圆周率π 和虚数单位。 输出结果是:z =-0.3488 + 0.3286i
二、矩阵的创建
注:矩阵或数组中的元素可以是任何
MATLAB表达式 ,可以是实数 ,也可以是
复数。
例如 x=[2 pi/2;sqrt(3) 3+5i]
二、矩阵的创建
2.利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它 专门建立一个M文件。例 mymatrix1.m
利用M文件建立矩阵(续)
思考:如何创建一个在任意区间(a,b)上取值
的随机矩阵

————a+(b-a)*rand()
eye()—— 单位矩阵
5.用MATLAB函数创建矩阵
zeros ()——全部元素都为0的矩阵;
ones() ——全部元素都为1的矩阵;
randn() ——产生均值为0,方差为1的标
准正态分布随机矩阵。
4.内存变量的管理
1) 内存变量的删除与修改 MATLAB工作空间窗口专门用于内存变量的管理。 在工作空间窗口中可以显示所有内存变量的属 性。当选中某些变量后,再单击Delete按钮,
就能删除这些变量。当选中某些变量后,再单
击Open按钮,将进入变量编辑器。通过变量编 辑器可以直接观察变量中的具体元素,也可修 改变量中的具体元素。
分析方程组的解
需要研究线性方程组的下列几个问题: 方程组是否有解?有解时,解的个数是多少? 如何解?也就是解的存在性和唯一性问题。 有多解时,这些解之间的关系如何?所得的 解针对实际问题是否合理? 无解时,如何找出最接近实际问题的近似解?
线性方程组解的情况
有多解 有解 线性方程组 解的情况 无解 有唯一解 找出近似解 有合理解 无合理解 解集的性质
友情提示
第四讲 MATLAB矩阵运算
—— MATLAB 具有出色的矩阵运算能
力,可以解决线性代数中关于矩阵的
一切运算!
引例:一个实际问题
某食品厂收到某种食品的订单,要求这 种食品由甲、乙、丙、丁四种原料做成, 且该食品中含蛋白质、脂肪和碳水化合 物的比例分别为15%、5%和12%。而甲、 乙、丙、丁原料中含蛋白质、脂肪和碳 水化合物的百分比由下表给出。
件的生成和装入由save和load命令来完成。
5.数据的输出格式
MATLAB用十进制数表示一个常数,具体 可采用日常记数法和科学记数法(如 3.5e5)两种表示方法。 在一般情况下,MATLAB内部每一个数据 元素都是用双精度数来表示和存储的。
5.数据的输出格式
数据输出时用户可以用format命令设置或 改变数据输出格式,
学习内容
一. 变量和数据操作
二. 数组和矩阵的创建
三. 数组和矩阵的寻访和操作 四. 数组和矩阵运算
1.矩阵和数组拆分
1.利用冒号表达式可获得一矩阵的子矩阵 A(i)表示取数组或者矩阵的第i个元素(矩阵 的元素是按列排序)
A(i,j)表示取A矩阵第i行、第j列的元素
A(e1:e2:e3)表示取数组或矩阵A的第e1元素开
相关文档
最新文档