我是靠谱客的博主 殷勤小熊猫,这篇文章主要介绍基于MATLAB的入门数学运算(附代码)一. 矩阵的表示与转置二. 矩阵的加减乘运算三. 矩阵除法四. 矩阵翻转与乘方五. 点运算符的一些解释六. 矩阵的逻辑与比较运算七. 解析结果的化简与变换,现在分享给大家,希望可以做个参考。

一. 矩阵的表示与转置

假定A为ntimes m矩阵,矩阵转置的数学表示如下:

B=A^T,quad b_{ji}=a_{ij},quad i=1,cdots, n, j=1,cdots,m

如果原矩阵有复数元素,那么会先转置再取各个元素的共轭复数值,即Hermit转置

MATLAB中格式如下:

复制代码
1
B=A'

如果不希望取共轭复数,只需要改为点运算即可,如下格式:

复制代码
1
B=A.'

二. 矩阵的加减乘运算

2.1 加减法

复制代码
1
2
3
4
5
%加法运算 C=A+B %减法运算 D=A-B

注意两矩阵的维数是否相等以及是否存在某个矩阵为标量的情形。

2.2 乘法

矩阵乘法C=AB的数学形式如下:

c_{ij}=sum_{k=1}^m a_{ik}b_{kj},quad i=1,2,cdots,nquad j=1,2,cdots,r

MATLAB的格式如下:

复制代码
1
C=A*B

注意两个矩阵维数的相容性问题。

三. 矩阵除法

3.1 左除法

AX=B,求X

MATLAB的求解格式如下:

复制代码
1
X=AB

如果A为非奇异矩阵,则X=A^{-1}B

如果A不是方阵,则可以利用最小二乘法求解

3.2 右除法

XA=B,求X

MATLAB的求解格式如下:

复制代码
1
X=B/A

如果A为非奇异方阵,则X=BA^{-1}

如果A不是方阵,则可以利用最小二乘法求解

四. 矩阵翻转与乘方

4.1 矩阵的转动

①左右翻转  b_{ij}=a_{i,m+1-j}

复制代码
1
B=fliplr(A)

②上下翻转 c_{ij}=a_{n+1-i,j}

复制代码
1
B=flipud(A)

③逆时针旋转90^circ  d_{ij}=a_{j,n+1-i}

复制代码
1
D=rot90(A)

逆时针旋转180^circ

复制代码
1
D=rot90(rot(A))

4.2 矩阵的乘方

乘方运算通常适用于方阵的形式,MATLAB实现形式如下:

复制代码
1
F=A^x

五. 点运算符的一些解释

一维数组相当于向量,二维数组相当于矩阵,所以实际上矩阵是数组的子集。

数组运算是指数组对应元素之间的运算,也称之为点运算。

矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算时一致的。矩阵的乘法,乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法,乘方和除法的运算符前特地加了一个点。c_{ij}=a_{ij}b_{ij}

5.1 乘法比较

代码形式数学形式
数组乘法A.*Bc_{ij}=a_{ij}b_{ij}
矩阵乘法A*B

c_{ij}=sum^m_{k=1}a_{ik}b_{kj},quad i=1,2,cdots,nquad j=1,2,cdots,r

例题1

MATLAB代码如下:

复制代码
1
2
3
4
5
6
A=[1 2;3 4] B=[4 3;2 1] r2_1=A*B r2_2=A.*B

运行结果:
A =

     1     2
     3     4


B =

     4     3
     2     1


r2_1 =

     8     5
    20    13


r2_2 =

     4     6
     6     4

5.2 除法比较

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
%数组运算 %数除以数组,代表k分别被A的元素除 k./A A.k %数组除法 A.B %左除 B./A %右除 %矩阵运算 %AX=B的解 AB %左除 %XA=B的解 B/A %右除

例题2

MATLAB代码如下:

复制代码
1
2
3
4
5
6
7
8
A=[1 2;3 4]; B=[4 3;2 1]; r3_1=AB r3_2=A.B r4_1=B/A r4_2=B./A

运行结果:


r3_1 =

   -6.0000   -5.0000
    5.0000    4.0000


r3_2 =

    4.0000    1.5000
    0.6667    0.2500


r4_1 =

   -3.5000    2.5000
   -2.5000    1.5000


r4_2 =

    4.0000    1.5000
    0.6667    0.2500
 

5.3 乘方比较

复制代码
1
2
3
4
5
6
%数组运算 A.^k %A的每个元素进行k次方运算 k.^A %以k为底,分别以A的元素为指数求幂值 %矩阵运算 A^k %k个矩阵A相乘

例题3

MATLAB代码如下:

复制代码
1
2
3
4
5
6
7
A=[1 2;3 4] r5_1=A.^2 r5_2=A^2 r6_1=2.^A

运行结果:

A =

     1     2
     3     4


r5_1 =

     1     4
     9    16


r5_2 =

     7    10
    15    22


r6_1 =

     2     4
     8    16

六. 矩阵的逻辑与比较运算

6.1 逻辑运算

在MATLAB中,对double变量来讲,非0就表示逻辑1。逻辑运算的本质就是相应元素间的运算。

  • 与运算(and)   A&C
  • 或运算(or)    A|C
  • 非运算(not)  ~A
  • 异或运算   xor(A,C)

6.2 比较运算

允许各种的比较关系,如下:

>,>=,<,<=,==,~=,find(),all(),any()

例题4

MATLAB代码如下:

复制代码
1
2
3
4
5
6
7
8
A=[1 2 3;4 5 6;7 8 0] find(A>=5) %大于或等于5元素的下标,竖直看 [i,j]=find(A>=5); [i,j] %显示行标和列表 all(A>=5) %某列元素全大于或等于5时,相应元素为1,否则为0 any(A>=5) %某列元素含有大于或等于5时,相应元素为1,否则为0

运行结果:


A =

     1     2     3
     4     5     6
     7     8     0


ans =

     3
     5
     6
     8


ans =

     3     1
     2     2
     3     2
     2     3


ans =

  1×3 logical 数组

   0   0   0


ans =

  1×3 logical 数组

   1   1   1

七. 解析结果的化简与变换

7.1 结果的化简

MATLAB实现:

复制代码
1
2
3
4
s1=simplify(s) %从各种方法中自动选择最简格式 %s为原始表达式,s1为化简后的表达式

现在列举五个常用的化简函数,关于它们详细的信息与格式可以用help命令得出:

  • collect()   合并同类项
  • expand()  展开多项式
  • factor()   因式分解
  • numden()  提取多项式的分子与分母
  • sincos()   三角函数的化简

例题5

P(s)=(s+3)^2(s^2+3s+2)(s^3+12s^2+48s+64)

MATLAB代码如下:

复制代码
1
2
3
4
5
6
7
8
9
syms s; P=(s+3)^2*(s^2+3*s+2)*(s^3+12*s^2+48*s+64); P1=simplify(P) %一系列化简尝试,得出计算机认为的最简形式 P2=factor(P) P3=expand(P)

运行结果:
P1 =(s + 3)^2*(s + 4)^3*(s^2 + 3*s + 2)
 
P2 =[ s + 3, s + 3, s + 2, s + 1, s + 4, s + 4, s + 4]
  
P3 =s^7 + 21*s^6 + 185*s^5 + 883*s^4 + 2454*s^3 + 3944*s^2 + 3360*s + 1152

7.2 变量的替换

复制代码
1
2
3
4
5
6
7
%格式1 f1=subs(f,x1,x1*) %格式2 f1=subs(f,{x1,x2,···,xn},{x1*,x2*,···,xn*}) %f为原表达式,用x*替换x得出新的表达式

例题6

求f(t)在某点的特殊值:

f(t)=cos(at+b)+sin(ct)*sin(dt)

解:

MATLAB代码如下:

复制代码
1
2
3
4
clc;clear; syms a b c d t; %假设这些变量均为符号变量 f=cos(a*t+b)+sin(c*t)*sin(d*t); %定义给定函数f(t) f1=subs(f,{a,b,c,d,t},{0.5*pi,pi,0.25*pi,0.125*pi,4})

运行结果:

f1 =-1

最后

以上就是殷勤小熊猫最近收集整理的关于基于MATLAB的入门数学运算(附代码)一. 矩阵的表示与转置二. 矩阵的加减乘运算三. 矩阵除法四. 矩阵翻转与乘方五. 点运算符的一些解释六. 矩阵的逻辑与比较运算七. 解析结果的化简与变换的全部内容,更多相关基于MATLAB的入门数学运算(附代码)一.内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部