![量化投资:以MATLAB为工具](https://wfqqreader-1252317822.image.myqcloud.com/cover/746/47378746/b_47378746.jpg)
0.5 数学运算
(34)如何计算积分?
符号积分可以使用int函数来实现,比如计算sin(x)的积分,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_1.jpg?sign=1739297520-YpOL8L7mElp0h2gzMgqZgY3Ekk7t1I9o-0-739a265a1a7ad69f0666530fc9c9eeec)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_2.jpg?sign=1739297520-JGpImeXwwHbX0zD9tufCXEyQZcSWfrRf-0-547bd23cde5f5d6399a19eca49ad8fa3)
数值积分可以使用integral函数实现,比如计算sin(x)从0到π的积分,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_3.jpg?sign=1739297520-BJu11vj7Hbn55e28FvpPFf8YfI1VNLBH-0-6cb0c625fba9bf50897630b8afc5c0ca)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_4.jpg?sign=1739297520-mCoEcOepbzaoHNQanKGv8uU9tRTq9s4C-0-4ae8bfbbed5df6cd058516d026fe64d7)
(35)MATLAB如何进行复数计算?
参看complex函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_5.jpg?sign=1739297520-t0z6tw21qUkbgvV3wbDkPEZ6riGjw84k-0-34a5e355d142d92bf718d45d7df65abb)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_6.jpg?sign=1739297520-sGVHQu3kP44gjdM2zTVX7GG6BepMCK2r-0-9676dd50505986a6c3ba3edcbee3f8ab)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_1.jpg?sign=1739297520-nrR0DKY2QCuRHyK8IBEIxQCAHkDtzyC0-0-cc3ce9f886a397d7796e9d7465ba9d6b)
(36)如何生成对角矩阵?
使用diag函数可以构造对角矩阵或者取得一个矩阵的对角元素,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_2.jpg?sign=1739297520-6wid3nz6Ol7iU8EC85DAR7nAwzp0RjIM-0-2fa454aca45d4c962d85aec8fa7fe2a7)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_3.jpg?sign=1739297520-7HYGpDQj5kfPAkoYondaSk4CuIQUt8dB-0-ef22352e169fed38192bbe9043cf8f65)
(37)求矩阵的特征值和特征向量的函数是什么?
参考eig函数。
(38)如何构造上(下)三角矩阵?
参考tril和triu函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_4.jpg?sign=1739297520-Zic5js4WFOkMi0DvAKrklJLJ3GAkmH7B-0-9367b1f99071dc5f120e25d5f4e0c9f5)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_5.jpg?sign=1739297520-rNZcMBitA4UJbtDWP37hNl2ZZy3zzYfa-0-251111581d1924c26e0ce16a6ddff6e6)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_34_1.jpg?sign=1739297520-0v9PfYNNkj1RlkVjUjoj4CqGeGLrjkso-0-2364b9d24a9882caf529f2df68c7006a)
(39)MATLAB常用的运算符号有哪些?
除了常见的加(+)、减(-)、乘(*)、除(分为左除“\”和右除“/”),幂次方(^)运算,MATLAB还有点乘(.*)、点除(分为点左除“.\”和点右除“./”)、点幂次方(.^)运算。
这里要特别说明的是当A、B为矩阵时,n为标量数值时,A+B,A-B,A*B,A\B,A/B,A^n表示的是相关的矩阵运算(A、B的维数需要满足相关矩阵运算的要求),其中A\B,A/B,A^n的定义分别为:
(1)当A是一个方阵时,则A\B=inv(A)*B,其中inv为MATLAB的函数,表示求矩阵的逆;
(2)当A是一个m*n的矩阵(m≠n),B是一个m*1的列向量,则X=A\B是线性系统AX=B的最小二乘解;
(3)当B是一个方阵时,则A/B=A*inv(B),其中inv为MATLAB的函数,表示求矩阵的逆;
(4)当A是一个m*n的矩阵(m≠n),B是一个m*1的列向量,则X=A/B是线性系统XB=A的最小二乘解;
(5)A\B与A/B的转换关系为A/B=(B'\A')';
(6)A^n表示n个矩阵A相乘。
当A、B为矩阵时,点乘(.*)、点除(分为点左除“.\”和点右除“./”)和点幂次方(.^)运算表示的是相关矩阵的元素之间的运算。
看下例,加深一下对MATLAB常用的运算符号的理解。
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_34_2.jpg?sign=1739297520-MD7Vv3xSd8kCdzsbNQh7Pk8Q6gmLlyyj-0-3b752badb8caff2e4eb751eb1b3650cb)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_1.jpg?sign=1739297520-aQ9QRKsUAzXCXNF1zD21DRrKdYgr3E5x-0-96bbf4c9206ad36e10477d0a86f428a7)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_2.jpg?sign=1739297520-0TZF30a9OrKvIGabwFjuL8WKe7nXq9dH-0-356e7fa2bfce3f65dbc396174541bbae)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_36_1.jpg?sign=1739297520-tEcQF8tYYaNdAnY0W8qhu4CD3Z29ODn3-0-b866becaa04975cac55eeb48d8811010)
(40)如何求矩阵各行(列)的均值?
使用mean函数可以进行均值的计算,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_1.jpg?sign=1739297520-ofsOWeKI34BiMIKkh2EpiPhM3kl0B5YO-0-0f903d55b9d04f5341dbc345ff056711)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_2.jpg?sign=1739297520-xSdtEa3ymk6IgYHGvsPe31M03iNYeozg-0-3d73ffa1f5b4bbcd6001fa927b826320)
(41)如何计算组合数或得到所有组合?
nchoosek函数可以用来计算组合数,并给出所有元素的组合,factorial函数可以用来计算阶乘,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_3.jpg?sign=1739297520-j2q2zYkWYFhWYxQTKTYMmbq51lkTNYE3-0-f233b725a0408f7237826c91e4bd2b1a)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_4.jpg?sign=1739297520-k3B7Xe0UuYtHMbG8ErOVwJ4XiukLzzaX-0-5e56083a24dbc1bbb38d1f131b7f20f9)
(42)如何在MATLAB里面求(偏)导数?
使用diff函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_1.jpg?sign=1739297520-pxqEtyyZrnOaXh41PLdzEQTbLlUhC4Vn-0-edc8a21b1efaa3b51cb95c468e5ec818)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_2.jpg?sign=1739297520-wgPGqYUjD9ktE5J0suqLZWdKl8cGfUxB-0-d3b9c381cbbfc5e7d3a01c03a6d16e6a)
(43)如何求一元方程的根?
使用solve函数可以求解方程的根,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_3.jpg?sign=1739297520-1VBi1mD9zJJngjTulafzUwlWAVGZ2Mgn-0-0c57fb3a9ecc35749cf3e0e35291f983)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_4.jpg?sign=1739297520-cOaS56FUMkUYLDZTMWGmSo1w1t8uoYQO-0-76135b617b5fa60a5efbf135f585b6d2)
(44)如何模拟高斯(正态)分布数据?
使用random('Normal',Mean_Value,STD_Value,N,M)可以产生N*M个来自于均值为Mean_Value、标准差为STD_Value的高斯(正态)分布数据。
其中'Normal'是个参数选项,改变这个参数可以生成其他的分布数据(相应地后面的分布参数也需要修改),主要的分布如表0-1所示。
表0-1 主要分布及其参数名字
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_5.jpg?sign=1739297520-XqXYo3dTRIBhZtpolNW3NcWbgHCRx8TZ-0-10194ed60cbeabca04b5ae42edfd9f8b)
(续表)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_39_1.jpg?sign=1739297520-1gKfhk3UdmwR9DsySMnIkiCxYsM7cn4D-0-6bfd02d30d1e8b302ee02c0eaf88281d)