Matlab资料Word文档下载推荐.docx
- 文档编号:22714647
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:28
- 大小:51.22KB
Matlab资料Word文档下载推荐.docx
《Matlab资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Matlab资料Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。
(5)数据元素可以是表达式、数值、变量或函数
>
A=[1234;
5678;
9101112;
13141516]
B=[1,sqrt(25),9,13;
2,6,10,7*2
3+sin(pi),7,11,15
4,abs(-8),12,16]
{2}.通过M文件创建矩阵
当矩阵尺寸较大时,可采用在M文件中创建矩阵。
优点:
方便修改矩阵元素
{3}.通过函数构造矩阵:
使用专门的函数;
可生成某个特定意义的矩阵
方法一:
初值:
步长:
终点
若不指定步长,则默认值为1;
最后一个元素不一定是终点,这取决于区间长度是否是步长的整数倍。
该函数用于创建向量。
【例2-3】
x=0:
pi/4:
2*pi;
%创建0到2间隔为/4的自变量
y=sin(x)%得到在自变量范围内的函数值
v=0:
pi
v=0123
方法二:
linspace(初值,终点,元素个数)
等分间隔;
例如:
m=linspace(0,pi,3)
m=
01.57083.1416
n=linspace(0,3,5)
n=
00.75001.50002.25003.0000
方法三:
常见函数创建特殊矩阵
空阵;
方法:
[]
性质:
存在空阵变量;
空阵中不包括任何元素;
用于MATLAB中的运算传递。
②全0阵zeros()矩阵元素全部由0组成的矩阵或数组
方法:
zeros(n,n)%n×
n方阵
>
zeros(m,n,p,...)%m×
n×
p×
...维矩阵
③全1阵——全部元素均为1的矩阵或数组
ones(n,n)%n×
ones(m,n,p,...)%m×
...非方阵
④单位阵——仅对角线元素为1,其余元素均为0的矩阵或数组
eye(n,n)%n×
eye(m,n)%m×
n非方阵
⑤随机阵——全部元素均为0到1的矩阵或数组
randn(n,n)%n×
randn(m,n,p,...)%m×
p非方阵
{4}通过数据文件构造矩阵:
MATLAB可处理的数据格式有:
(1)文本文件,
(2)*.mat文件,(3)*.xls文件,(4)图形文件和声音文件。
。
以上文件均以矩阵存储的。
2.算术运算
(1).矩阵的加减运算:
+(加)、-(减)
(2).矩阵乘法:
*(乘)
(3)矩阵除法:
/(右除)、\(左除)
①a\b等效于矩阵a的逆左乘矩阵b,即a-1·
b;
②a/b等效于矩阵b的逆右乘矩阵a,即a·
b-1;
(4)矩阵的幂:
^(幂)
(5).矩阵转置:
'
(转置运算符)
【例2-4】两个矩阵分别为和
求两者相加
a=[123;
456;
789];
b=[111;
222;
333];
c=a+b
结果为
【例2-14】矩阵a为,求a的转置。
a=[123;
456;
789];
c=a‘
c=
147
258
369
【例2-15】矩阵a为[1+2i,3+4i],求a的转置。
a=[1+2i3+4i];
c=a‘a’为复数的共轭转置
c=1.000-2.000i
3.000-4.000i
c=a.’a.’为复数的非共轭转置
c=1.000+2.000i
3.000+4.000i
3.矩阵下标与子矩阵提取
(1)A(m,n)%提取第m行,第n列元素
(2)A(:
n)%提取第n列元素
(3)A(m,:
)%提取第m行元素
(4)A(m1:
m2,n1:
n2)%提取第m1行到第m2行和第n1列到第n2列的所有元素
(5)A(m:
end,n)%提取从第m行到最末行和第n列的子块
(6)A(:
)%得到一个长列矢量,该矢量的元素按矩阵的列进行排列
4..关系运算
关系运算符:
<
(小于)lt、<
=(小于或等于)le、>
(大于)gt、>
=(大于或等于)ge、==(等于)eq、~=(不等于)ne。
关系运算符的运算法则:
关系运算将对两个矩阵的对应元素进行比较;
关系运算的两个矩阵必须同维。
【例】绘制0到3pi之间的正弦曲线,并截取pi到2pi之间的曲线。
x=linspace(0,3*pi);
%自变量数组
y=sin(x);
%函数数组
x1=(x<
pi)|(x>
2*pi);
%逻辑数组
y1=x1.*y;
%截断数组
plot(x,y1)
5.逻辑运算
必须是两个同维矩阵或其中一个矩阵为标量才能进行;
MATLAB提供了一些逻辑函数
逻辑函数
功能
All
如果所有的元素都是非零值,返回1;
否则,返回0。
Any
如果有一个元素为非零值,那么返回1;
否则,返回0
Isempty
判断是否空矩阵
Isequal
判断两矩阵是否相同
Isreal
判断是否是实矩阵
Find
返回一个由非零元素的下标组成的向量
【例】矩阵a和b均为2×
3阶矩阵,进行如下逻辑运算。
a=[103;
0-16];
b=[103;
1-16];
isequal(a,b)
ans=0
isreal(a)
ans=1
6.矩阵函数
函数
Det
计算矩阵所对应的行列式的值
Diag
抽取矩阵对角线元素
Eig
求特征值和特征向量
Inv
求矩阵的逆阵
Lu
三角分解
Poly
求特征多项式
Rank
求矩阵的秩
Svd
奇异值分解
求逆矩阵>
X=[1230;
5608;
901112;
0141516];
Y=inv(X)
Y=0.22990.09080.0351-0.0717
0.19400.0798-0.06590.0095
0.1274-0.08350.03220.0176
-0.28920.00840.02750.0377
Y*X%矩阵与其逆阵相乘结果是单位矩阵
ans=1.0000000
01.000000
001.00000
0001.0000
【例2-18】a见下面,计算a的特征值和特征矢量
[c,d]=eig(a)
c=
-0.2320-0.78580.4082
-0.5253-0.0868-0.8165
-0.81870.61230.4082%特征矢量
d=
16.116800
0-1.11680
00-0.0000%特征值
7.矩阵的分解
LU分解法是将方阵分解成一个下三角矩阵(lower)和一个上三角矩阵(upper)
适用场合:
简化大矩阵的行列式值的计算过程;
求解逆矩阵;
求解方程组。
【例2-22】>
a=[123;
[l,u]=lu(a)
l=
0.14291.00000
0.57140.50001.0000
1.000000
u=
7.00008.00009.0000
00.85711.7143
00-0.0000
8.求解线性方程组
例:
求下列方程式的根。
2x1+x2-x3=5
3x1-2x2+2x3=5
5x1-3x2-x3=16
A=[21-1;
3-22;
5-3-1];
b=[5;
5;
16];
X=A\b
X=
2.1429
-1.1429
-1.8571
8.特殊操作
①重新排列
reshape(a,m,n,p,...)
将矩阵或数组a重新排列为m×
...排列按照先排列、再排行、然后排列第三维、第四维......
①重新排列reshape
[例2-25]矩阵a为4×
4矩阵,将其重新排列为1×
16的一维矢量和2×
4×
2三维数组。
a=pascal(4)
a=>
c=reshape(a,2,4,2)
1111c(:
:
1)=
12341113
136101124
141020c(:
2)=
16110
310420
②矩阵的翻转和旋转
fliplr(a)%矩阵a左右翻转left&
right
flipud(a)%矩阵a上下翻转up&
down
flipdim(a,n)%矩阵a的第n维翻转
rot90(a)%矩阵a逆时针旋转90o
1.>
A=magic(3)
A=
816
357
492
flipud(A)
ans=
2.>
rot90(A)
ans=
672
159
834
③矩阵的抽取
c=diag(a,n)%c为矩阵a的第n条对角线所创建的元素矢量,n=0或不指定时抽取主对角线。
a=diag(c,n)%创建对角矩阵a,矢量c作为a的第n条对角线元素。
c=tril(a,n)%抽取矩阵a的n条对角线下面的部分。
c=triu(a,n)%抽取矩阵a的n条对角线上面的部分。
这两条命令中的c为与a同维矩阵
二.向量
1.构造
(1).逐个输入
a=[139101516]%采用空格和逗号分隔构成行向量
b=[1;
3;
9;
10;
15;
16]%采用分号隔开构成列向量
(2).利用冒号表达式“:
”生成向量
x=1:
2:
9%初值=1,终值=9,步长=2
z=1:
5%初值=1,终值=5,默认步长=1
(3).利用函数生成向量
x=linspace(1,9,5)%初值=1,终值=9,元素数目=5
2.运算
(1).点积:
dot函数
(2).叉积:
cross函数
例>
a=[123];
b=[456];
c=dot(a,b)
d=cross(a,b)
c=32
d=-36-3
三.数组
数组运算方式是一种元素对元素的运算(不按照线性代数的规则);
除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加一个圆点来生成,即.*、./、.\、.^。
【例】已知两数组,求两数组的相应运算。
x=[123;
456;
789];
y=[987;
654;
321];
x+y%数组和矩阵的加法规则相同
101010
x.*y%数组乘法:
对应元素相乘
91621
242524
21169
四.多项式
1.在MATLAB中,多项式用行向量表示:
P=[a0a1…an-1an]
2.生成与表达
1.系数矢量直接输入poly2sym
[例3-1]创建多项式x3-4x2+3x+2
poly2sym([1-432])%将系数矢量转换为符号形式
ans=x^3-4*x^2+3*x+2
2.特征多项式输入poly
[例3-2]求矩阵a的特征多项式系数,并转换为多项式
p=poly(a);
%求解特征多项式
poly2sym(p)
ans=x^3-6*x^2-72*x-27?
?
3.根矢量创建
[例3-3]根据根矢量[-0.5,-0.3+0.4i,-0.3-0.4i]创建多项式
r=[-0.5-0.3+0.4i,-0.3-0.4i]
p=poly(r)
p=
1.00001.10000.55000.1250
pr=real(p)%对于含复数根的根矢量需用real函数滤除虚部
pr=
1.01.10000.55000.1250
ppr=poly2sym(pr)
ppr=
x^3+11/10*x^2+11/20*x+1/8
4.多项式的算术运算①参加加减运算的多项式应该具有相同的阶次。
②多项式乘法采用conv函数,除法由deconv函数完成。
5.求根求多项式的根采用roots函数。
6.求值①函数polyval可以将某个特定数值代入多项式②函数polyvalm可以求出当多项式中的未知数为方阵时的值。
7.求微分使用polyder函数对多项式求微分。
【例3-4】求多项式3x2+2x+1在5、7、9处的值。
分析:
求多项式在标量处的值,可采用polyval函数。
p=[3,2,1];
polyval(p,[5,7,9])
86162262
【例3-6】求多项式x5-5x4+3x3-6x2+4x-10的根。
采用roots函数。
a=[1,-5,3,-6,4,-10];
r=roots(a)
r=
4.6130
0.7621+0.9789i
0.7621-0.9787i
-0.5685+1.0419i
-0.5685-1.0419i
【例3-9】求多项式3x4-5x3+2x2-6x+10的微分。
采用polyder函数。
p=[3-52-610];
p1=polyder(p)%求解1次微分
p1=12-154-6
p2=polyder(p1)
p2=36-304
poly2sym(p1)%转换为多项式
ans=12*x^3-15*x^2+4*x-6
p3=polyder(p,2)
p3=24-308-12
%polyder(A,B)实现的是多项式A*B的一次导数(微分)
例:
设矩阵A和B满足关系式AB=A+2B
已知A=423求B
110
-123
分析:
由AB=A+2B,可得(A-2E)B=A,故B=(A-2E)-1A
A=[423;
110;
-123];
B=inv(A-2*eye(3))*A
B=
3.0000-8.0000-6.0000
2.0000-9.0000-6.0000
-2.000012.00009.0000
将表达式(x-4)(x+5)(x2-6x+9)展开为多项式形式,并求其对应的一元n次方程的根。
分析:
采用conv函数和roots函数
p=conv([1-4],conv([15],[1-69]))
px=poly2str(p,’x’)
x=roots(p)
五.有关符号运算的几个基本概念:
1.符号对象——用来存储代表非数值的字符符号,可以是符号常量、符号变量、符号函数以及各种符号表达式。
2.符号常量——形式上是数值,但已是一个符号对象。
通过将数值常量作为sym()函数的输入参量可建立。
3.符号变量——内容可变的符号对象。
4.符号表达式、符号函数和符号方程——由符号常量、符号变量、符号函数用运算符或专用函数连接而成的符号对象。
5.符号矩阵——元素是符号对象的矩阵。
六.符号变量及符号表达式
●符号变量和符号表达式在使用前必须说明
1.sym函数
f1=sym(‘ax^2+bx+c’)%创建符号变量f1和一个符号表达式
2.syms函数
clear
symsabcx
whos
NameSizeBytesClass
a1x1126symobject
b1x1126symobject
c1x1126symobject
x1x1126symobject
默认的符号变量:
i和j通常作为虚数单位
如>
a=1+2i
a=
1+2i
七符号表达式的运算
1算术运算
运算符“+”、“-”、“*”、“/”、“\”、“^”、“.*”、“.\”、“./”、“.^”分别实现符号对象的加、减、乘、左除、右除、符号数组的乘、左除、右除、幂运算
2关系运算
符号对象的关系运算,没有“大于”“小于”等的概念,只有是否“等于”的关系概念。
即==或~=
符号对象没有逻辑运算。
3.函数运算
1.合并、化简、展开等函数
(1)factor(S):
将表达式S因式分解;
(2)expand(S):
将表达式S展开;
(3)collect(S,n):
将表达式S中的自变量n合并同次幂项;
(4)simplify(S):
利用代数中的函数规则化简表达式S;
(5)[n,d]=numden(S):
将表示式S转变成分子与分母形式,其中n为分子,d为分母。
2.反函数finverse(f,v)对指定自变量为v的函数f(v)求反函数
3.复合函数compose(f,g)求f=f(x)和g=g(y)的复合函数f(g(y))compose(f,g,z)求f=f(x)和g=g(y)的复合函数f(g(z))
4.表达式替换函数
(1)subs(S):
用赋值语句中给定值替换表达式S中所有同名变量
(2)subs(S,old,new):
用符号或数值变量new替换S中的符号变量old
八符号极限,微积分
1.极限
1.limit(F)计算符号表达式F在默认自变量趋于0时极限
2.limit(F,a)计算符号表达式F在默认自变量趋于a时极限
3.limit(F,x,a)计算符号表达式F在x趋向于a条件下的极限
4.limit(F,x,a,’right’)和limit(F,x,a,’left’)计算符号表达式F在x趋于a条件下的右极限和左极限。
clear
symsax
limit(1/x,x,0)
NaN
limit(1/x,x,0,’left’)
-Inf
limit(((x+a)/(x-a))^x,x,inf)
exp(2*a)
2.微分
1.diff(f)求表达式f对默认自变量的一次微分值;
2.diff(f,t)对指定自变量t的一次微分值;
3.diff(f,n)对默认自变量的n次微分值;
4.diff(f,t,n)对指定自变量t的n次微分值。
已知f(x)=ax2+bx+c,求f(x)的微分
symsabcx
f=a*x^2+b*x+c
diff(f)%对默认自变量x求微分
2*a*x+b
diff(f,2)%对x求2次微分
2*a
diff(f,a)%对自变量a求微分
x*2
diff(diff(f),a)%对x和a求偏导
2*x
3.积分
1.int(f)对默认自变量的积分值;
2.int(f,t)对指定自变量t的不定积分值;
3.int(f,a,b)对默认自变量的定积分值,积分区间为[a,b];
4.int(f,t,a,b)对指定自变量t的定积分值,积分区间为[a,b]
int(‘被积表达式’,‘积分变量’,‘积分下限’,‘积分上限'
)——定积分—无积分上下限时为不定积分
已知f(x)=ax2+bx+c,求f(x)的积分
f=a*x^2+b*x+c
int(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 资料