版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于矩阵的数值运算第一页,共六十七页,2022年,8月28日数值运算的功能
创建矩阵矩阵运算多项式运算线性方程组数值统计线性插值函数优化微分方程的数值解第二页,共六十七页,2022年,8月28日一、命令行的基本操作1.创建矩阵的方法
直接输入法规则:矩阵元素必须用[]括住;矩阵元素必须用逗号或空格分隔;在[]内矩阵的行与行之间必须用分号分隔。第三页,共六十七页,2022年,8月28日>>a=3.3;b=4.4;>>c=[1,a,3;4,5,6;b,7,8]c=1.00003.30003.00004.00005.00006.00004.40007.00008.0000例1:第四页,共六十七页,2022年,8月28日>>m=[123;456],n=[111213;141516]m=123456n=111213141516>>c=m+i*nc=1.0000+11.0000i2.0000+12.0000i3.0000+13.0000i4.0000+14.0000i5.0000+15.0000i6.0000+16.0000i例2:第五页,共六十七页,2022年,8月28日其中符号的作用:逗号和分号的作用逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。
冒号的作用
用于生成等间隔的向量,默认间隔为1。用于选出矩阵指定行、列及元素。循环语句第六页,共六十七页,2022年,8月28日Note:只要是赋过值的变量,不管是否在屏幕上显示过,都存储在工作空间中,以后可随时显示或调用。变量名尽可能不要重复,否则会覆盖。当一个指令或矩阵太长时,可用•••续行例:第七页,共六十七页,2022年,8月28日
用matlab函数创建矩阵空阵[]—matlab允许输入空阵,当一项操作无结果时,返回空阵。
rand(1,N)——产生[01]上均匀分布的随机序列,长度为Nrandn(1,N)——产生均值为0,方差为1的高斯随机序列,即白噪声序列,长度Neye——单位矩阵
zeros——全部元素都为0的矩阵
ones——全部元素都为1的矩阵
此外,还有伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范德蒙等矩阵的创建,就不一一介绍了。Note:matlab严格区分大小写字母,因此a与A是两个不同的变量。matlab函数名必须小写。第八页,共六十七页,2022年,8月28日2.矩阵的修改直接修改可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。指令修改可以用A(,)=来修改。第九页,共六十七页,2022年,8月28日例:<<a=[120;305;789]a=120305789<<a(3,3)=0a=120305780还可以用subs函数修改,matlab6.0还可用find函数修改。第十页,共六十七页,2022年,8月28日1.矩阵加、减(+,-)运算二、矩阵运算规则:相加、减的两矩阵必须有相同的行和列,两矩阵对应元素相加减。矩阵与标量的加减运算是标量与矩阵的所有元素分别进行加减操作。矩阵运算包括:矩阵的四则运算、特征根、奇异解的求解等。第十一页,共六十七页,2022年,8月28日2.矩阵乘()运算规则:
A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。例:a=[123;456;780];b=[1;2;3];c=a*bc=143223
第十二页,共六十七页,2022年,8月28日3.
在matlab中有两种矩阵除运算,矩阵左除和矩阵右除,\和/。如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。
例:
d=[-1;0;2];f=pi*df=-3.141606.2832第十三页,共六十七页,2022年,8月28日例:利用矩阵除法求解线性方程:>>A=[321;50.72;743];b=[5;2;7];X=A\bX=2.26091.7391-5.2609第十四页,共六十七页,2022年,8月28日
a^p——a自乘p次幂方阵>1的整数4.矩阵乘方——a^n,a^p,p^aP=0,结果为与a相同的矩阵,当p<0,只有在a的逆存在时才可定义a^p,其意义为inv(a)^(-p)第十五页,共六十七页,2022年,8月28日
例:
>>
a=[1,2,3;4,5,6;7,8,9];a^2ans=303642668196102126150※当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。第十六页,共六十七页,2022年,8月28日例:
>>
a=[1,2,3;4,5,6;7,8,9];a^0.5ans=0.4498+0.7623i0.5526+0.2068i0.6555-0.3487i1.0185+0.0842i1.2515+0.0228i1.4844-0.0385i1.5873-0.5940i1.9503-0.1611i2.3134+0.2717i>>eig(a)
%求矩阵a的特征值ans=16.1168-1.1168-0.0000第十七页,共六十七页,2022年,8月28日inv(A)——矩阵求逆det(A)——矩阵A所对应的行列式的值eig(A)——矩阵的特征值及特征向量diag(A)——提取A对角元素或生成对角矩阵sqrtm(A)——矩阵A的平方根
logm(A)——矩阵A的自然对数
expm(A)——A的矩阵指数函数
trace(A)——求矩阵的迹
rank(A)——求矩阵的秩5.矩阵的其它运算
第十八页,共六十七页,2022年,8月28日
6.矩阵的一些特殊操作矩阵的变维
例:>>a=[1234;5678;9101112]a=123456789101112>>b=reshape(a,4,3)%把指定的矩阵改变形状,但是元素个数不变
b=161151049382712第十九页,共六十七页,2022年,8月28日矩阵的旋转
例:>>a=[1234;5678;9101112]a=123456789101112>>b=rot90(a)%矩阵逆时针旋转90度b=481237112610159第二十页,共六十七页,2022年,8月28日矩阵的对称交换
例:>>a=[-4-1-2;-30-3;-214]a=-4-1-2-30-3-214>>
flipud(a)%上下对称交换ans=-214-30-3-4-1-2>>
fliplr(a)%左右对称交换ans=-2-1-4-30-341-2第二十一页,共六十七页,2022年,8月28日提取矩阵的上、下三角阵
例:>>a=[-4-1-2;-30-3;-214]a=-4-1-2-30-3-214>>
tril(a)%提取a的下三角阵ans=-400-300-214>>
triu(a)%提取a的上三角阵ans=-4-1-200-3004第二十二页,共六十七页,2022年,8月28日求矩阵的维数(size)或向量的长度(length)例:>>a=[14710;25811;36912]a=147102581136912>>k=size(a)k=34>>A=[123486];n=length(A)n=6第二十三页,共六十七页,2022年,8月28日矩阵的转置运算符
’
可进行矩阵的共轭转置运算,运算符.’可进行矩阵的转置运算,当矩阵元素为实数时,两者结果相同。例、>>A=[123;456]A=123456>>B=A'B=142536第二十四页,共六十七页,2022年,8月28日
7.矩阵的关系运算MATLAB提供了6种关系运算符:关系符号意义<<=>>===~=小于小于或等于大于大于或等于等于不等于它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。第二十五页,共六十七页,2022年,8月28日关系运算符的运算法则为:当两个比较量是标量时,直接比较两数的大小若关系成立,关系表达式结果为1,否则为0。当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。第二十六页,共六十七页,2022年,8月28日当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。第二十七页,共六十七页,2022年,8月28日>>c=(a<4)c=111000000>>a>bans=000001111>>a=[123;456;789]a=123456789>>b=10-ab=987654321例:第二十八页,共六十七页,2022年,8月28日
8.矩阵的逻辑运算在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。设参与逻辑运算的是两个标量a和b,那么,
a&b(与)a,b全为非零时,运算结果为1,否则为0。
a|b(或)a,b中只要有一个非零,运算结果为1。
~a(非)当a是零时,运算结果为1;当a非零时,运算结果为0。MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。逻辑运算的运算法则为:第二十九页,共六十七页,2022年,8月28日
若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。第三十页,共六十七页,2022年,8月28日>>a=[-301;24-5;-7-89]a=-30124-5-7-89>>x=~a%等价于not(a),元素为0时,结果为1,否则为0x=010000000例:>>x1=~(a>0)x1=110001110>>x2=a>-2&a<4x2=011100000第三十一页,共六十七页,2022年,8月28日
数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同。数组加减(.+,.-)9.
数组运算
数组乘除(,./,.\)
ab——a,b两数组必须有相同的行和列,两数组相应元素相乘。对应元素相加减(与矩阵加减等效)a.+ba.-b第三十二页,共六十七页,2022年,8月28日>>a=[123;456;789];b=[246;135;7910];a.*bans=281841530497290
例:>>a=[123;456;789];b=[246;135;7910];a*bans=253746558510985133172
数组相乘矩阵相乘第三十三页,共六十七页,2022年,8月28日a./b=b.\aa.\b=b./a——给出a,b对应元素间的商.a./b=b.\a———都是a的元素被b的对应元素除例:
>>a=[123];b=[456];c1=a.\b,c2=b./ac1=4.00002.50002.0000c2=4.00002.50002.0000第三十四页,共六十七页,2022年,8月28日
数组乘方(.^)—元素对元素的幂例:>>a=[123],b=[456],a=123b=456>>a.^2ans=149>>a.^bans=132729第三十五页,共六十七页,2022年,8月28日三、数据统计处理1、求向量的最大值和最小值格式:
y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。
[y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。求向量X的最小值的函数是min(X),用法和max(X)完全相同。第三十六页,共六十七页,2022年,8月28日例1、求向量x的最大值。>>x=[-43,72,9,16,23,47];y=max(x)
%求向量x中的最大值
[y,l]=max(x)
%求向量x中的最大值及其该元素的位置2、求矩阵的最大值和最小值求矩阵A的最大值的函数常用有2种调用格式:max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。求矩阵A的最小值的函数是min(X),用法和max(X)完全相同。第三十七页,共六十七页,2022年,8月28日例:>>A=[2816;0-230;3614]A=28160-2303614>>max(A)ans=36130>>[y,u]=max(A)y=36130u=332第三十八页,共六十七页,2022年,8月28日sum(X):返回向量X各元素的和。prod(X):返回向量X各元素的乘积。sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。3、求和与求积数据序列求和与求积的函数是sum和prod,其使用方法类似。设X是一个向量,A是一个矩阵,函数的调用格式为:第三十九页,共六十七页,2022年,8月28日sum(A,dim):当dim为1时,该函数等同于sum(A);当
dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。prod(A,dim):当dim为1时,该函数等同于prod(A);当
dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。第四十页,共六十七页,2022年,8月28日例:>>A=[2816;0-230;3614]A=28160-2303614>>sum(A)ans=56750>>prod(A)ans=0-9761920第四十一页,共六十七页,2022年,8月28日4、统计分布的数字特征
mean(X)——返回向量X的算术平均值
mean(A)——返回一个行向量,其第i个元素是A的第i列的算术平均值。
std(X)——返回向量X的样本标准差
std(A)——返回一个行向量,它的各个元素便是矩阵A各列或各行的标准差。
var(X)——返回向量X的样本方差
var(A)——返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。
corrcoef(X)——返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。第四十二页,共六十七页,2022年,8月28日>>X=randn(10000,5);M=mean(X)D=std(X)R=corrcoef(X)例、
生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。M=0.00110.00660.00090.02640.0101D=1.00111.00361.00491.00581.0061R=1.00000.01190.0051-0.0114-0.00110.01191.00000.0093-0.00120.00710.00510.00931.00000.00480.0095-0.0114-0.00120.00481.0000-0.0017-0.00110.00710.0095-0.00171.0000运行结果:第四十三页,共六十七页,2022年,8月28日5、排序格式:sort(X)函数返回一个对X中的元素按升序排列的新向量。sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为:[Y,I]=sort(A,dim)其中dim指明对A的列还是行进行排序。若dim=1,则按列排;若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。第四十四页,共六十七页,2022年,8月28日
matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。P(x)=anxn+an-1xn-1+……+a1x+a0可用系数行向量表示:
P=[anan-1……a1a0]四、多项式运算
1.多项式的表达方式Note:多项式中系数为0的项不能忽略,p中相应元素应置为0。第四十五页,共六十七页,2022年,8月28日>>p=[3,5,1,7]或>>p=[3517]>>p1=[3,0,2,4]或>>p1=[3024]2.多项式因式分解——多项式方程求根利用函数roots()求多项式方程的根,从而因式分解。例:求多项式的根。在MATLAB中表示为:例:多项式,第四十六页,共六十七页,2022年,8月28日用MATLAB语言:>>p=[1,-20.5,137,-297.5];>>r=roots(p)r=8.50007.00005.0000多项式因式分解:第四十七页,共六十七页,2022年,8月28日3.P=poly(ar)——产生特征多项式系数向量若ar是方阵,P就是多项式系数向量;若ar=[ar1ar2…arn],ar的元素是多项式P的根,满足(x-ar1)(x-ar2)…(x-arn)=anxn+an-1xn-1+……+a0。例:展开多项式。>>ar=[207-5];>>p=poly(ar)p=1-225700多项式展开:第四十八页,共六十七页,2022年,8月28日例:求3阶方阵A的特征多项式。>>A=[111213;141516;171819];>>PA=poly(A)%A的特征多项式PA=1.0000-45.0000-18.00000.0000>>PB=poly2str(PA,‘x’)%以x作为自变量,返回三次多项式
PB=x^3-45x^2-18x+1.8303e-014Note:poly2str是一个函数文件。n阶方阵的特征多项式系数存放为1×(n+1)的一维数组。特征多项式系数向量的第一个元素必是1。第四十九页,共六十七页,2022年,8月28日4.
conv多项式乘运算例:a(x)=x2+2x+3;b(x)=4x2+5x+6;求:c(x)=a(x)*b(x)>>a=[123];b=[456];>>c=conv(a,b)%计算两多项式相乘后系数c=413282718>>p=poly2str(c,'x')p=4x^4+13x^3+28x^2+27x+18第五十页,共六十七页,2022年,8月28日5.
deconv多项式除运算例:第五十一页,共六十七页,2022年,8月28日6.多项式微分matlab提供了polyder函数求多项式的微分。命令格式:polyder(p):
求p的微分polyder(a,b):
求多项式a,b乘积的微分[p,q]=polyder(a,b):
求多项式a,b商的微分例:第五十二页,共六十七页,2022年,8月28日五、函数的极值1.固定区间单变量函数的最小值利用fminbnd函数求固定区间单变量函数的最小值。用法:fun:单变量函数的函数名,[x1x2]为给定的计算区间,[x,fval]为最小值点的位置和最小值。第五十三页,共六十七页,2022年,8月28日例:求在区间[0,2]的最小值>>f=inline('x.^3-2*x.^2-5','x');%采用内联函数表示测试函数>>x=0:0.1:2;plot(x,f(x))>>[x,y]=fminbnd(f,0,2)x=1.3333y=-6.1852或:f='x.^3-2*x.^2-5'第五十四页,共六十七页,2022年,8月28日2.固定区间多变量函数的最小值利用fminsearch函数求固定区间多变量函数的最小值。用法:从函数fun的给定点开始搜索附近的最小值点x,fval为最小值点对应的最小值。第五十五页,共六十七页,2022年,8月28日例:求在区间x=0.3,y=0.7附近的最小值点。>>f=inline(‘p(1).^2+p(2).^2+7’,‘p’);%采用内联函数表示测试函数>>[minpoint,minval]=fminsearch(f,[0.3,0.7])minpoint=1.0e-004*-0.1766-0.1636minval=7.0000第五十六页,共六十七页,2022年,8月28日六、代数方程求解求非线性方程式的根的步骤:
定义方程式(形式),可用inline函数定义;代入适当范围的x及其对应f(x)值,画出方程函数曲线,了解该方程式根的大致位置;由图中决定f(x)与x轴相交的大致位置x0,通过fzero函数求出在x0附近的根。第五十七页,共六十七页,2022年,8月28日例:求方程>>f=inline('2*exp(x).*sin(2*pi*x)-0.5','x');>>x=0:0.1:2;y=f(x);plot(x,y)>>r=fzero(f,0.5)r=0.4752>>r=fzero(f,1)r=1.0144>>r=fzero(f,1.5)r=1.4910第五十八页,共六十七页,2022年,8月28日七、数值积分与微分数值积分基本原理求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿-柯特斯(Newton-Cotes)法等都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有关明朝小说的试题及答案
- 2026年玉林市玉州区政务服务中心(窗口人员)招聘笔试备考题库及答案详解
- 2026年鄂州市鄂城区政务服务中心(窗口人员)招聘笔试模拟试题及答案详解
- 2026年德阳市旌阳区政务服务中心(窗口人员)招聘考试参考题库及答案详解
- 2026年佛山市南海区政务服务中心(窗口人员)招聘笔试备考题库及答案详解
- 2026年山南地区工会人员招聘考试模拟试题及答案详解
- 2026廉洁风险自查报告(3篇)
- 生态城专项试题与准确答案
- 2026年上海市松江区卫生健康系统编外卫生专业技术人员招聘笔试参考题库及答案详解
- 2026年宁波市海曙区工会人员招聘考试模拟试题及答案详解
- GB/T 44937.2-2025集成电路电磁发射测量第2部分:辐射发射测量TEM小室和宽带TEM小室法
- 静配中心岗前培训课件
- 钢结构质量管理培训课件
- 老年慢性阻塞性肺疾病稳定期中医辨证干预方案
- 垃圾发电厂安全事故案例
- 化工企业装置紧急停车操作方案
- 中国城市网络形象指数报告(2025)-中国人民大学
- 公路监理计划(排版)
- 电子专用设备装调工职业技能考核试卷及答案
- 中医护理技术问答题库及答案解析
- 八年级上册第二单元 整本书阅读《红星照耀中国》 怎样读红色经典作品 公开课一等奖创新教学设计-【课堂无忧】新课标同步核心素养课堂
评论
0/150
提交评论