第03讲MATLAB语言应用.docx
- 文档编号:25020047
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:20
- 大小:41.41KB
第03讲MATLAB语言应用.docx
《第03讲MATLAB语言应用.docx》由会员分享,可在线阅读,更多相关《第03讲MATLAB语言应用.docx(20页珍藏版)》请在冰豆网上搜索。
第03讲MATLAB语言应用
第三讲MATLAB语言应用
【目录】
一、矩阵运算2
(1)概述2
(2)矩阵的加减法2
(3)矢量积与转置3
(4)复数的共轭与转置3
(5)矩阵的乘法4
(6)矩阵的除法5
(7)矩阵的乘幂6
(8)解线性方程6
二、多项式运算7
(1)多项式的表示8
(2)多项式的值8
(3)多项式的根8
(4)多项式的系数9
(5)多项式的积:
9
(6)多项式的商:
9
(7)多项式的导数10
(8)多项式的曲线拟合10
三、字符运算11
(1)字符数组11
(2)字符与数值的转换11
(3)字符串比较12
四、符号运算12
(1)符号定义12
(2)因式分解13
(3)简化13
(4)反函数14
(5)求和14
(6)diff(f,v,n)-求导15
(7)int(f,v,a,b)-积分15
五、Notebook操作15
【正文】
一、矩阵运算
(1)概述
矩阵与数组在数据形式上是一致的,但在运算上是有区别的。
Matlab的线性工具箱在目录matfun中。
几个常用的函数:
norm-矩阵的范数
rank-矩阵的秩
det-方阵的行列式的值
inv-逆矩阵
(2)矩阵的加减法
大小相等的矩阵才能加减:
【例】
A=pascal(3)
B=magic(3)
C=A+B
D=A-B
A=
111
123
136
B=
816
357
492
C=
927
4710
5128
D=
-70-5
-2-3-4
-3-64
(3)矢量积与转置
【例】
A=[1,2,3]%行向量
B=[3;5;9]%列向量
C=A*B%点积
D=B*A%叉积
E=D'%D的转置
A=
123
B=
3
5
9
C=
40
D=
369
51015
91827
E=
359
61018
91527
(4)复数的共轭与转置
若A为复数矩阵,则A'表示A的共轭,A.'表示转置。
【例】
A=[3+2i,5+3i;2+8i,9+5i]
B=A'%表示共轭
B=A.'%表示转置
A=
3.0000+2.0000i5.0000+3.0000i
2.0000+8.0000i9.0000+5.0000i
B=
3.0000-2.0000i2.0000-8.0000i
5.0000-3.0000i9.0000-5.0000i
B=
3.0000+2.0000i2.0000+8.0000i
5.0000+3.0000i9.0000+5.0000i
(5)矩阵的乘法
【例】
A=[1,2,3;3,5,6;2,3,1]%定义两个3×3的矩阵
B=[5,2,8;9,6,3;2,5,6]
C=A*B%矩阵的乘积:
(C≠D)
D=B*A
E=A.*B%数组的相乘:
(E=F)
F=B.*A
A=
Columns1through2
12
35
23
Column3
3
6
1
B=
Columns1through2
52
96
25
Column3
8
3
6
C=
Columns1through2
2929
7266
3927
Column3
32
75
31
D=
Columns1through2
2744
3357
2947
Column3
35
66
42
E=
Columns1through2
54
2730
415
Column3
24
18
6
F=
Columns1through2
54
2730
415
Column3
24
18
6
(6)矩阵的除法
【例】
A=[1,2,3;3,5,6;2,3,1]%定义两个3×3的矩阵
B=[5,2,8;9,6,3;2,5,6]
C=A/B%矩阵的除法
D=A*B^(-1)
E=A*inv(B)
F=A./B%数组的除法
A=
123
356
231
B=
528
963
256
C=
0.0879-0.02560.3956
0.07690.10260.8462
-0.25270.28210.3626
D=
0.0879-0.02560.3956
0.07690.10260.8462
-0.25270.28210.3626
E=
0.0879-0.02560.3956
0.07690.10260.8462
-0.25270.28210.3626
F=
0.20001.00000.3750
0.33330.83332.0000
1.00000.60000.1667
(7)矩阵的乘幂
A=[1,2,3;3,5,6;2,3,1]%定义1个3×3的矩阵
C=A^3%矩阵的乘幂
D=A*A*A
E=A^(-0.1)
F=A.^3%数组的乘幂
A=
123
356
231
C=
112185183
267440429
129211196
D=
112185183
267440429
129211196
E=
Columns1through2
1.0860-0.3139i-0.1373+0.1088i
-0.1790+0.1506i0.9192-0.1466i
0.0065+0.0417i-0.0352+0.0835i
Column3
0.0368+0.0499i
-0.0883+0.1753i
0.8702-0.2132i
F=
1827
27125216
8271
(8)解线性方程
若:
AX=B-解为X=B\A;
若:
XA=B-解为X=B/A。
【例】
A=[234;541;132]
B=[1;2;3]
X=A\B
A=
234
541
132
B=
1
2
3
X=
-0.8148
1.6667
-0.5926
【例】
A=[234;541;132]
%B=[475;147;526]
B=2*A
X=A\B
A=
Columns1through2
23
54
13
Column3
4
1
2
B=
Columns1through2
46
108
26
Column3
8
2
4
X=
Column1
2.0000
0
0
Column2
0.0000
2.0000
-0.0000
Column3
0
0
2.0000
二、多项式运算
(1)多项式的表示
对于多项式:
,可以表示为:
p=[10-2-5]
(2)多项式的值
【例】
p=[10-2-5]
polyval(p,5)%代表x=5时p的值
A=[94;68;27]
polyval(p,A)%返回一个矩阵
p=
10-2-5
ans=
110
A=
94
68
27
ans=
70651
199491
-1324
(3)多项式的根
【例】
p=[10-2-5]
r=roots(p)%返回所有根的列向量
p=
10-2-5
r=
2.0946
-1.0473+1.1359i
-1.0473-1.1359i
(4)多项式的系数
【例】
p=[10-2-5]
r=roots(p);
q=poly(r)%返回的q与p相同,两者运算互逆
p=
10-2-5
q=
Columns1through3
1.00000-2.0000
Column4
-5.0000
(5)多项式的积:
a=[123]%表示:
b=[456]%表示:
c=conv(a,b)%表示多项式的乘积
a=
123
b=
456
c=
413282718
(6)多项式的商:
【例】
a=[123];b=[456];c=conv(a,b)
[q,r]=deconv(c,b)%c-被除数,b-除数,q-商,r-余数
c=
413282718
q=
123
r=
00000
(7)多项式的导数
p=[1234]%
k=polyder(p)%
p=
1234
k=
343
(8)多项式的曲线拟合
用p=polyfit(x,y,n)函数进行最小二乘法拟合,n为返回多项式的次数。
【例】
x=[12345];
y=[5.543.1128290.7498.4];
p=polyfit(x,y,1)
x2=1:
0.1:
5;y2=polyval(p,x2);
plot(x,y,'o',x2,y2);gridon
p=
Column1
123.3400
Column2
-176.8800
三、字符运算
(1)字符数组
字符数组就是字符串。
【例】
name=['zhangweiping';'ksjfksdjfskd']%创建了一个14个字符的数组
name(3)%返回a
n1=name(end:
-1:
1)
name=
zhangweiping
ans=
a
n1=
gnipiewgnahz
(2)字符与数值的转换
【例】
name='zhangweiping';
name1=double(name)%字符转换为数值
name2=char(name1)%数值转换为字符
name1=
Columns1through7
1221049711010332119
Columns8through14
10110532112105110103
name2=
zhangweiping
(3)字符串比较
格式:
strncmp(s1,s2,n)-比较两串前n位字符
【例】
strcmp('hello','help')
strncmp('hello','help',3)
ans=
0
ans=
1
四、符号运算
(1)符号定义
【例】
y=sym('2*sin(x)*cos(x)')
y=simple(y)
y=
2*sin(x)*cos(x)
y=
sin(2*x)
【例】
symsfai1fai2;
y=sym('sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2)')
y=simple(y)
y=
sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2)
y=
sin(fai1-fai2)
(2)因式分解
【例】
symsx;
f=x^4-5*x^3+5*x^2+5*x-6
factor(f)
f=
x^4-5*x^3+5*x^2+5*x-6
ans=
(x-1)*(x-2)*(x-3)*(x+1)
【例】
factor(1025)
ans=
5541
(3)简化
【例】化简:
symsx;
f=(1/x^3+6/x^2+12/x+8)^(1/3)
g1=simple(f)
g2=simple(g1)
f=
(1/x^3+6/x^2+12/x+8)^(1/3)
g1=
(2*x+1)/x
g2=
2+1/x
【例】化简
symsx;
f=cos(x)+(-sin(x)*sin(x))^(1/2)
g1=simple(f)
g2=simple(g1)
f=
cos(x)+(-sin(x)^2)^(1/2)
g1=
cos(x)+i*sin(x)
g2=
exp(i*x)
(4)反函数
【例】求f=x^2的反函数
symsx;
f=x^2
g=finverse(f)
f=
x^2
Warning:
finverse(x^2)isnotunique.
>InF:
\MATLAB6p5\toolbox\symbolic\@sym\finverse.matline43
g=
x^(1/2)
(5)求和
【例】求
symsk;
f=1/(2*k-1)^2-(-1)^k/k
s=simple(symsum(f,1,inf))
f=
1/(2*k-1)^2-(-1)^k/k
s=
1/8*pi^2+log
(2)
(6)diff(f,v,n)-求导
symsx;
f=cos(x)+(-sin(x)*sin(x))^(1/2)
df1=diff(f,x,1)
df1=simple(df1)
df1=simple(df1)
f=
cos(x)+(-sin(x)^2)^(1/2)
df1=
-sin(x)-1/(-sin(x)^2)^(1/2)*sin(x)*cos(x)
df1=
i*(i*sin(x)+cos(x))
df1=
i*exp(i*x)
(7)int(f,v,a,b)-积分
五、Notebook操作
Matlab与Word的连接
安装:
notebook-setup
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第03讲 MATLAB语言应用 03 MATLAB 语言 应用