实验二MATLAB矩阵分析和处理
- 格式:doc
- 大小:43.50 KB
- 文档页数:6
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) 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中,矩阵的表示方式非常简单,只需要使用方括号将元素排列起来即可。
例如,一个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矩阵就可以发挥重要作用。
例如,可以使用矩阵来表示线性方程组,然后通过矩阵运算来求解方程组的解。
第二章 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]创建多项式。
实验一 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 值。
实验二 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程序设计实验班级:电信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 的特征值和特征向量,分析其数学意义。
实验一 MATLAB基本操作一、实验目的1、了解MATLAB应用程序环境2、掌握MATLAB语言程序的书写格式和MATLAB语言程序的结构。
3、掌握在MATLAB应用环境下编写程序4、掌握MATALB调试过程,帮助文件5、掌握MATLAB语言上机步骤,了解运行一个MATLAB程序的方法。
6、本实验可在学习完教材第一章后进行。
二、主要仪器及耗材PC电脑,MATLAB6.5软件三、实验内容和步骤1、MATLAB语言上机步骤:(1)、进入系统在C盘或其他盘上找到MATLAB或MATLAB6.5,然后双击其图标打开文件夹。
然后进行编辑源程序->编译->连接->执行程序->显示结果(2)、常用命令编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
2、有下面的MATLAB程序。
(1)数值计算功能:如,求方程 3x4+7x3 +9x2-23=0的全部根p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根(2)绘图功能:如,绘制正弦曲线和余弦曲线x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));(3)仿真功能:如,请调试上述程序。
3、熟悉MATLAB环境下的编辑命令,具体见附录一。
三、实验步骤1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
四、实验注意事项1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论对策成功或失败的原因。
2、总结MATLAB程序的结构和书写规则。
五、思考题1、matlab到底有多少功能?2、MATLAB的搜索路径3、掌握使用MATLAB帮助文件实验二 MATLAB 矩阵及其运算一、 实验目的1、了解矩阵的操作,包括矩阵的建立、矩阵的拆分、矩阵分析等2、了解MATLAB 运算,包括算术运算、关系运算、逻辑运算等3、掌握字符串的操作,了解结构数据和单元数据。
matlab矩阵运算实验报告Matlab矩阵运算实验报告一、引言矩阵运算是数学和工程领域中的重要概念之一,它在各个领域中都有广泛的应用。
Matlab作为一种强大的数学软件工具,提供了丰富的矩阵运算功能,可以帮助我们进行高效的数值计算和数据处理。
本实验报告将介绍Matlab中的矩阵运算功能,并通过实例展示其在实际问题中的应用。
二、矩阵运算的基本概念矩阵是由若干个数按照行和列排列形成的一个矩形阵列,它是线性代数中的基本工具。
在Matlab中,矩阵可以通过直接输入数值或使用内置函数生成。
矩阵运算包括加法、减法、乘法、转置等操作,这些操作可以对矩阵的每个元素进行运算,也可以对整个矩阵进行运算。
三、矩阵运算的实例分析1. 矩阵的创建与赋值在Matlab中,可以使用以下命令创建一个矩阵,并对其进行赋值操作:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这样就创建了一个3行3列的矩阵A,并对其进行了赋值。
可以通过输入A来查看矩阵A的内容。
2. 矩阵的加法与减法矩阵的加法和减法是按照对应元素进行运算的。
例如,对于两个3行3列的矩阵A和B,可以使用以下命令进行加法运算:C = A + B;同样地,可以使用以下命令进行减法运算:D = A - B;这样就得到了矩阵C和D。
3. 矩阵的乘法矩阵的乘法是按照行乘以列的方式进行的。
例如,对于一个3行2列的矩阵A和一个2行4列的矩阵B,可以使用以下命令进行乘法运算:C = A * B;这样就得到了一个3行4列的矩阵C。
4. 矩阵的转置矩阵的转置是将矩阵的行和列进行交换的操作。
例如,对于一个3行2列的矩阵A,可以使用以下命令进行转置操作:B = A';这样就得到了一个2行3列的矩阵B。
四、矩阵运算的应用实例矩阵运算在实际问题中有着广泛的应用。
以下是一个简单的实例,通过矩阵运算来解决线性方程组的问题。
假设有一个线性方程组:2x + y = 4x + 3y = 6可以将其表示为矩阵形式:A = [2, 1; 1, 3];B = [4; 6];通过矩阵运算可以求解出未知数x和y的值:X = A \ B;这样就得到了未知数x和y的值。
《MATLAB及应用A》第二次上机作业一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:MATLAB运行结果:二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB中复制)。
MATLAB源程序:x=linspace(0,6);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;各条命令语句的功能如下:y1、y2、y3的值分别为:三、教材第55页习题三,第3题。
MATLAB源程序:MATLAB运行结果:四、选择题(1) i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后,a, b, c的值分别是多少?()(A) a=4, b=4, c=2.0000i(B) a=4, b=2.0000i, c=2.0000i(C) a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i(2) 求解方程x4-4x3+12x-9 = 0 的所有解,其结果为()(A) 1.0000, 3.0000, 1.7321, -1.7321(B) 1.0000, 3.0000, 1.7321i, -1.7321i(C) 1.0000i, 3.0000i, 1.7321, -1.7321(D) -3.000-0i, 3.0000i, 1.7321, -1.7321五、求[100,1000]之间的全部素数(选做)。
MATLAB源程序: MATLAB运行结果:一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:>> a=(0:-1:-9) %产生一个行向量aa =0 -1 -2 -3 -4 -5 -6 -7 -8 -9>> b=pow2(a) %对行向量a中的每一个元素分别求幂函数b =1.0000 0.5000 0.2500 0.1250 0.0625 0.0313 0.0156 0.007 8 0.0039 0.0020>> h=100*b %对行向量b中的每一个元素分别乘以100h =100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0. 7813 0.3906 0.1953>> s1=sum(h) %对行向量h中的元素求和s1 =199.8047>> s=s1*2-100 %求出第10次落下时经过的高度s =299.6094>> h10=h(10)/2 %求出第10次反弹的高度h10 =0.0977二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB 中复制)。
线性代数的MATLAB 软件实验一、实验目的1.熟悉矩阵代数主要MATLAB 指令。
2.掌握矩阵的转置、加、减、乘、除、乘方、除法等MATLAB 运算。
3.掌握特殊矩阵的MATLAB 生成。
4.掌握MATLAB 的矩阵处理方法。
5.掌握MATLAB 的矩阵分析方法。
6.掌握矩阵的特征值与标准形的MATLAB 验算。
7.掌握线性方程组的MATLAB 求解算法。
二、实验原理1.线性方程组 【基本观点】自然科学和工程实践很多问题的解决都涉及线性代数方程组的求解和矩阵运算.一方面,许多问题的数学模型本身就是一个线性方程组,例如结构应力分析问题、电子传输网分析问题和投入产出分析问题;另一方面,有些数值计算方法导致线性方程组求解,如数据拟合,非线性方程组求解和偏微分方程组数值解等.n 个未知量m 个方程的线性方程组一般形式为⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++.,,22112222212111212111m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a (3.1) 令,,,2121212222111211⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=m n mn m m n n b b b b x x x x a a a a a aa a a A则得矩阵形式Ax=b. (3.2)若右端b=0,即Ax=0, (3.3)则称方程组为齐次的.方程组(3.1)可能有唯一解,可能有无穷多解,也可能无解,主要取决于系数矩阵A 及增广矩阵(A,b )的秩.若秩(A )=秩(A,b )=n,存在唯一解,其解理论上用Cramer 法则求出,但由于这种方法要计算n+1个n 阶行列式,计算量太大通常并不采用;若秩(A )=秩(A,b )<n,存在无穷多解,其通解可表示为对应齐次方程组(3.3)的一个基础解系与(3.2)的一个特解的叠加;若秩(A )≠秩(A,b ),则无解,这时一般寻求最小二乘近似解,即求x 使向量Ax-b 模最小.P50矩阵左除的数学思维:恒等变形Ax=b 方程两边的左边同时除以A ,得:b AAx A11=,即:b A b Ax 11-==MATLAB 的实现(左除):x=A\b 2.逆矩阵 【基本观点】方阵A 称为可逆的,如果存在方阵B ,使 AB=BA=E,这里E 表示单位阵.并称B 为A 的逆矩阵,记B=1-A .方阵A 可逆的充分必要条件是A 的行列式det A ≠0.求逆矩阵理论上的公式为*1det 1A AA =-, (3.4)这里*A 为A 的伴随矩阵.利用逆矩阵,当A 可逆时,(3.2)的解可表示为b A x 1-=.由于公式(3.4)涉及大量行列式计算,数值计算不采用.求逆矩阵的数值算法一般是基于矩阵分解的方法.3.特征值与特征向量 【基本观点】对于方阵A ,若存在数λ和非零向量x ,使,x Ax λ= (3.5) 则称λ为A 的一个特征值,x 为A 的一个对应于特征值λ的特征向量.特征值计算归结为特征多项式的求根.对于n 阶实数方阵,特征多项式在复数范围内总有n 个根。
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x);(2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1—x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x—3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(—x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x—1)/(x—2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。
本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。
实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。
首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。
通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。
接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。
最后,我计算了矩阵C和矩阵D的点积,并将结果输出。
实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。
我选择了一组实验数据,包括时间和温度两个变量。
首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。
接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。
最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。
实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。
我选择了一个函数f(x)进行积分计算。
首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。
接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。
为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。
实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。
我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。
接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。
为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。
通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。
实验二 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是求矩阵的方根并组成一个新的矩阵。