实验二MATLAB矩阵分析和处理
Matlab中的矩阵操作技巧指南

Matlab中的矩阵操作技巧指南在科学计算和数据处理中,矩阵操作是一个非常重要的环节。
Matlab作为一种功能强大的计算工具,提供了丰富的矩阵操作函数和技巧,帮助用户更高效地处理数据。
本文将为大家介绍一些在Matlab中常用的矩阵操作技巧,希望对广大Matlab用户有所帮助。
一、矩阵的创建和赋值在Matlab中,创建矩阵有多种方式。
可以使用数组、函数、特殊值或其他操作创建矩阵。
下面是一些常见的创建矩阵的方法。
1.1 使用数组创建矩阵使用数组创建矩阵是一种简单直观的方式。
可以通过一维或多维数组来创建矩阵。
```matlabA = [1, 2, 3; 4, 5, 6; 7, 8, 9] % 创建一个3x3的矩阵B = [1, 2, 3; 4, 5, 6] % 创建一个2x3的矩阵```1.2 使用函数创建矩阵除了使用数组,还可以使用Matlab提供的函数来创建矩阵。
常用的函数有zeros, ones, eye等。
```matlabC = zeros(3, 3) % 创建一个3x3的全零矩阵D = ones(2, 4) % 创建一个2x4的全一矩阵E = eye(5) % 创建一个5x5的单位矩阵```1.3 特殊值的矩阵Matlab中还提供了一些特殊值的矩阵,如全1矩阵、全0矩阵等。
```matlabF = ones(3, 3) % 创建一个3x3的全1矩阵G = zeros(2, 4) % 创建一个2x4的全0矩阵```二、矩阵的索引和切片在Matlab中,可以使用索引和切片操作来获取矩阵的元素或对矩阵进行切片操作。
2.1 矩阵的索引可以使用单个索引、行索引或列索引来获取矩阵的元素。
```matlabA = magic(3) % 创建一个3x3的魔方矩阵element = A(2, 3) % 获取第2行第3列的元素row = A(1, :) % 获取第1行的所有元素column = A(:, 2) % 获取第2列的所有元素```2.2 矩阵的切片可以使用切片操作来获取矩阵的子矩阵。
MATLAB)课后实验答案[1]
![MATLAB)课后实验答案[1]](https://img.taocdn.com/s3/m/edc54dcb58f5f61fb7366639.png)
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
MATLAB矩阵

MATLAB矩阵一、MATLAB矩阵的基本概念。
MATLAB矩阵是由数值或符号元素组成的二维数组,它是MATLAB中最基本的数据类型之一。
矩阵中的每个元素都有一个行索引和一个列索引,这样可以方便地对矩阵进行操作和计算。
在MATLAB中,矩阵的表示方式非常简单,只需要使用方括号将元素排列起来即可。
例如,一个3行2列的矩阵可以表示为:A = [1 2; 3 4; 5 6]这个矩阵中有6个元素,分别是1、2、3、4、5和6,它们按照从左到右、从上到下的顺序排列在一起。
在MATLAB中,矩阵的行数和列数分别可以通过size 函数来获取,这样可以方便地了解矩阵的大小和结构。
二、MATLAB矩阵的常见操作。
1. 创建矩阵。
在MATLAB中,可以通过直接输入元素的方式来创建矩阵,也可以通过一些特定的函数来生成特定类型的矩阵。
例如,可以使用zeros函数来创建全零矩阵,使用ones函数来创建全一矩阵,使用eye函数来创建单位矩阵等等。
这些函数可以帮助用户快速地生成需要的矩阵,提高工作效率。
2. 访问元素。
可以通过行索引和列索引来访问矩阵中的元素,也可以使用冒号操作符来访问矩阵的子集。
这样可以方便地获取矩阵中的特定元素或者子矩阵,进行进一步的计算和处理。
3. 矩阵运算。
MATLAB中支持矩阵的加法、减法、乘法、除法等基本运算,也支持矩阵的转置、逆矩阵、行列式等高级运算。
这些运算可以帮助用户进行各种复杂的数学计算和工程分析,解决实际问题。
4. 矩阵函数。
MATLAB中有许多内置的矩阵函数,可以对矩阵进行各种操作和变换。
例如,可以使用svd函数进行奇异值分解,使用eig函数进行特征值分解,使用inv函数求解逆矩阵等等。
这些函数可以帮助用户更方便地进行数学建模和数据处理。
三、MATLAB矩阵的实际应用。
1. 科学计算。
在科学研究中,经常需要对各种复杂的数学模型进行求解和分析,这时MATLAB矩阵就可以发挥重要作用。
例如,可以使用矩阵来表示线性方程组,然后通过矩阵运算来求解方程组的解。
(完整word版)含答案《MATLAB实用教程》

第二章 MATLAB 语言及应用实验项目实验一 MATLAB 数值计算三、实验内容与步骤1.创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a(1(2)用(3)用(42.矩阵的运算(1)利用矩阵除法解线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x 将方程表示为AX=B ,计算X=A\B 。
(2)利用矩阵的基本运算求解矩阵方程。
已知矩阵A 和B 满足关系式A -1BA=6A+BA ,计算矩阵B 。
其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=7/10004/10003/1A ,Ps: format rata=[1/3 0 0;0 1/4 0;0 0 1/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。
已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1104152021X ,计算其特征值和特征向量。
(4)Page:322利用数学函数进行矩阵运算。
已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(1)2(2w )和相频特性Fw=-arctan(2w),w 的范围为[0.01,10],按对数均匀分布。
3.多项式的运算(1)多项式的运算。
已知表达式G(x)=(x-4)(x+5)(x 2-6x+9),展开多项式形式,并计算当x 在[0,20]内变化时G(x)的值,计算出G(x)=0的根。
Page 324(2)多项式的拟合与插值。
将多项式G(x)=x 4-5x 3-17x 2+129x-180,当x 在[0,20]多项式的值上下加上随机数的偏差构成y1,对y1进行拟合。
对G(x)和y1分别进行插值,计算在5.5处的值。
Page 325 四、思考练习题1.使用logspace 函数创建0~4π的行向量,有20个元素,查看其元素分布情况。
Ps: logspace(log10(0),log10(4*pi),20) (2) sort(c,2) %顺序排列 3.1多项式1)f(x)=2x 2+3x+5x+8用向量表示该多项式,并计算f(10)值. 2)根据多项式的根[-0.5 -3+4i -3-4i]创建多项式。
2019年MATLAB)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=,,,,,,时的y 值。
第2章 MATLAB矩阵及其运算第二次

x为标量。 A^3=A*A*A
2.点运算(重要)
在MATLAB中,有一种特殊的运算,其运算
符是在有关算术运算符前面加点,叫点运算。
点运算符有.*、./、.\和.^。 点运算运算规则:两矩阵对应元素进行相关运算, 要求两矩阵的维参数相同。 A=[2,2;2,2];
B=[2,2;1,1];
A.*B;A./B;B.\A; A.^B;
例2-9 建立矩阵A,然后找出大于4的元素的位置。
(1) 建立矩阵A。 A=[4,-65,-54,0,6;56,0,67,-45,0];
(2) 找出大于4的元素的位置。
k=find(A>4) %找元素序号 A(k)
2.4 矩阵分析
2.4.1 对角阵与三角阵 1.对角阵 只有对角线上有非0元素的矩阵称为对角矩阵,
revch=ch(end:-1:1) k=find(ch>=‘a’ &ch<=‘z’ ); ch(k)=ch(k)-(‘a’ -‘A’ ); 应的大写字母? char(ch)
运算。 运算规则:A和B矩阵内的相应位置(下标相同) 的元素相加减。注意:A和B矩阵的维数相同。 (如果A与B的维数不相同,则MATLAB将给出错
误信息,提示用户两个矩阵的维数不匹配。)
标量可以和矩阵进行加减运算,标量与矩阵内 每一元素相加减。A+b=b+A
(2) 矩阵乘法 两个矩阵A和B,矩阵相乘A*B。 运算规则:线性代数?
例2-13 建立一个字符串向量,然后对该向量做如下
处理: (1) 取第1~5个字符组成的子字符串。
(2) 将字符串倒过来重新排列。
(3) 将字符串中的小写字母变成相应的大写字母, 其余字符不变。 (4) 统计字符串中小写字母的个数。
实验二MATLAB程序设计含实验报告

实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。
MATLAB矩阵实验报告

MATLAB程序设计实验班级:电信1104班姓名:龙刚学号:1404110427实验内容:了解MA TLAB基本使用方法和矩阵的操作一.实验目的1.了解MA TLAB的基本使用方法。
2.掌握MA TLAB数据对象的特点和运算规则。
3.掌握MA TLAB中建立矩阵的方法和矩阵的处理方法。
二.实验内容1.浏览MATLAB的start菜单,了解所安装的模块和功能。
2.建立自己的工作目录,使用MA TLAB将其设置为当前工作目录。
使用path命令和工作区浏览两种方法。
3.使用Help帮助功能,查询inv、plot、max、round等函数的用法和功能。
使用help命令和help菜单。
4.建立一组变量,如x=0:pi/10:2*pi,y=sin(x),在命令窗口显示这些变量;在变量窗口打开这些变量,观察其值并使用绘图菜单绘制y。
5.分多行输入一个MA TLAB命令。
6.求表达式的值)610.3424510w-=+⨯()22tanb ca eabcxb c aππ++-+=++,a=3.5,b=5,c=-9.8(20.5ln tz e t=,21350.65it-⎡⎤=⎢⎥-⎣⎦7.已知1540783617A--⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,831253320B-⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A+6B,A2-B+IA*B,A.*B,B*AA/B,B/A[A,B],[A([1,3], :); B^2]8.已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦ 输出A 在[10,25]范围内的全部元素取出A 的前三行构成矩阵B ,前两列构成矩阵C ,右下角3x2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E分别求表达式E<D ,E&D ,E|D ,(~E) | (~D)9.已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A 的特征值和特征向量,分析其数学意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 MATLAB 矩阵分析和处理
一、实验目的
1.掌握生成特殊矩阵的方法。
2.掌握矩阵分析的方法。
4.用矩阵求逆法解线性方程组。
二、实验内容
1.设有分块矩阵⎥⎦
⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S O
RS R E A 。
解: >> E=eye(3);
>> R=rand(3,2);
>> O=zeros(2,3);
>> S=diag(1:2);
>> A=[E R;O S];
A =
1.0000 0 0 0.9501 0.4860
0 1.0000 0 0.2311 0.8913
0 0 1.0000 0.6068 0.7621
0 0 0 1.0000 0
0 0 0 0 2.0000
>> A^2
ans =
1.0000 0 0 1.9003 1.4579
0 1.0000 0 0.4623 2.6739
0 0 1.0000 1.2137 2.2863
0 0 0 1.0000 0
0 0 0 0 4.0000
>> [E R+R*S;O S^2] ans =
1.0000 0 0 1.9003 1.4579
0 1.0000 0 0.4623 2.6739
0 0 1.0000 1.2137 2.2863
0 0 0 1.0000 0
0 0 0 0 4.0000
所以⎥⎦
⎤⎢⎣⎡+=22S O RS R E A .
2.产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,求其行列式的值Hh 和Hp 以及他们的条件数Th 和Tp ,判断哪个矩阵性能更好,为什么?
解:H=hilb(5)
H =
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 0.3333 0.2500 0.2000 0.1667
0.3333 0.2500 0.2000 0.1667 0.1429
0.2500 0.2000 0.1667 0.1429 0.1250
0.2000 0.1667 0.1429 0.1250 0.1111
>> P=pascal(5)
P =
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
>> Hh=det(H)
Hh =
3.7493e-012
>> Hp=det(P)
Hp =
1
>> Th=cond(H)
Th =
4.7661e+005
>> Tp=cond(P)
Tp =
8.5175e+003
由上式看出:帕斯卡矩阵性能更好,因为行列式为1,而希尔伯特矩阵条件数很差,使用一般方法求逆矩阵会因原始数据的微小变动产生不可靠的结果
3.建立一个5x5矩阵,求它的行列式的值、迹、秩和范数
解:a=magic(5)
a =
17 24 1 8 15
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> b=det(a)
b =
5070000
>> c=trace(a)
c =
65
>> d=rank(a)
d =
5
>> e=norm(a)
e =
65.0000
>>
4.已知⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡--=5881252018629A ,求特征值和特征向量,并分析其数学意义 解:A=[-29 6 18;20 5 12;-8 8 5]
A =
-29 6 18
20 5 12
-8 8 5
>> b=eig(A)
b =
-25.3169
-10.5182
16.8351
>> [v,b]=eig(A)
v =
0.7130 0.2803 0.2733
-0.6084 -0.7867 0.8725
0.3487 0.5501 0.4050
b =
-25.3169 0 0
0 -10.5182 0
0 0 16.8351
5.下面是一个线性方程组
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解
(2) 将方程右边向量第三个元素0.52改为0.53,并比较解的变化
(3) 计算系数矩阵A 的条件数并分析结论
解: (1) A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]
A =
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
0.2500 0.2000 0.1667
>> C=[0.95;0.67;0.52]
C =
0.9500
0.6700
0.5200
>> B=A\C
B =
1.2000
0.6000
0.6000
>>
(2)A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]
A =
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
0.2500 0.2000 0.1667
>> C=[0.95;0.67;0.53]
C =
0.9500
0.6700
0.5300
>> B=A\C
B =
3.0000
-6.6000
6.6000
(3)cond(A)
ans =
1.3533e+003
6.建立A 矩阵,试比较sqrtm(A )和sqrt(A ),并分析他们的区别
解:A=magic(3)
A =
8 1 6
3 5 7
4 9 2
>> sqrtm(A)
ans =
2.7065 + 0.0601i 0.0185 + 0.5347i 1.1480 - 0.5948i
0.4703 + 0.0829i 2.0288 + 0.7378i 1.3739 - 0.8207i
0.6962 - 0.1430i 1.8257 - 1.2725i 1.3511 + 1.4155i
>> sqrt(A)
ans =
2.8284 1.0000 2.4495
1.7321
2.2361 2.6458
2.0000
3.0000 1.4142
区别:sqrt是求矩阵里每个元素的平方根,并组成一个新的矩阵。
而sqrtm是求矩阵的方根并组成一个新的矩阵。