![量化投资:以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=1739288708-dqh2zRpJ3ZUO74dfApV7sOhNQgJmCusI-0-de83142a6b63afa984d70af2aececfc7)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_2.jpg?sign=1739288708-3HYTc6jqL2XQ8WwbvQUdA5w3ExcVWMDg-0-744af6d872801f26e2d609ca606282d8)
数值积分可以使用integral函数实现,比如计算sin(x)从0到π的积分,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_3.jpg?sign=1739288708-HkVDL1Bj6p7YZwiQVICLROk7ukv1egO1-0-a154576c4326014dcf9e42fed6aefbaf)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_4.jpg?sign=1739288708-KXOhvJGvqze7byp72c3zyIFPHbg7e1Ge-0-197fc06a686f8794cc40579175e3a0d7)
(35)MATLAB如何进行复数计算?
参看complex函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_5.jpg?sign=1739288708-7MJ7d7fOirWOQz8hWvAjO5eSYME7axVB-0-c84a33e6b34dcb4c5ec25ad3b917bef8)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_6.jpg?sign=1739288708-u5r7dpOs1Van1d2Ky1fr3QX3nNLsFT3G-0-b3a4dc040606b3e60b1fb882f97757c7)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_1.jpg?sign=1739288708-ejy7x5R4ORLyvZkDtMH9eiVlnXi37yTP-0-e1a4b450c96c27b92d6808fdb56ae357)
(36)如何生成对角矩阵?
使用diag函数可以构造对角矩阵或者取得一个矩阵的对角元素,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_2.jpg?sign=1739288708-FtasnoROvHKA2BfcBQGiRP2pnFM1ZCzQ-0-82f9780a5007f1688c7e5b6c4cd73868)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_3.jpg?sign=1739288708-Yb8PKSTJTYkZAdfRFlmNH6yAlqYquO57-0-57e773c37e1cfe26f48282f79e320d3b)
(37)求矩阵的特征值和特征向量的函数是什么?
参考eig函数。
(38)如何构造上(下)三角矩阵?
参考tril和triu函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_4.jpg?sign=1739288708-DvvmmkXARnjenJdkJBYsSNH8LfIOnkYy-0-c21b04d4ff90d837580aba9a0f111594)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_5.jpg?sign=1739288708-4THmpyC04uhuN5aci3ZOeImngoFN0dxL-0-6457f8e823ff2d294aaa85ce3c7f849d)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_34_1.jpg?sign=1739288708-26p3q6TQhkmczEy1lIpZKvn01ZFp4lUK-0-cd4011ddfa57f288dc849a8871ac6e56)
(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=1739288708-JCOJRuP4923SEyL2lYpKAOT9qMk4Rqse-0-a27d30e648b5e19a86a7343347be006f)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_1.jpg?sign=1739288708-y4J2zZvpmi8dUTwUtwijPGB7g8kbg2EY-0-f8cc4c833d70d83de4d8211dfcce8262)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_2.jpg?sign=1739288708-S5NvvDGzn8x8NEcsiprA9r1zCKwsfR7A-0-3a5abb317b528c9243ebc3ef8999e6f8)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_36_1.jpg?sign=1739288708-SzMkP1L7HKKgX3hRsB2tTBfy6hV0YD98-0-4d666b9c2a480b785a1eb781f0c4a0c0)
(40)如何求矩阵各行(列)的均值?
使用mean函数可以进行均值的计算,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_1.jpg?sign=1739288708-RTJpyZPwAoqUhw3GLqKJH1GI9QO3Y0Xl-0-77a0450e9efabe631a7ca171b752ff8a)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_2.jpg?sign=1739288708-zv6PunlUltfcs76hAuCf1gqpPxDX3cc0-0-fc4b605b9b92ce1b8416948ef6d724b8)
(41)如何计算组合数或得到所有组合?
nchoosek函数可以用来计算组合数,并给出所有元素的组合,factorial函数可以用来计算阶乘,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_3.jpg?sign=1739288708-QhIsaRGuKRP3m6Cpnlsgc0FTnbyONeyW-0-3e839517e1cf2b6b87f67f97e1315d79)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_4.jpg?sign=1739288708-iRgeaMlMPm5x9REZqvuCra8oEH0i7BRr-0-487999c748904f13be292aa068a087ee)
(42)如何在MATLAB里面求(偏)导数?
使用diff函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_1.jpg?sign=1739288708-pVkfczTIyQCaW19GeFuJcp8EVTAxWmsX-0-f78e7ec111f377c8899e1e281ab409cf)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_2.jpg?sign=1739288708-tmQvsChOA2x7mqQh4h5dkkzfUYICcPBi-0-9cb12f39fd08f807a620643f0fc53f48)
(43)如何求一元方程的根?
使用solve函数可以求解方程的根,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_3.jpg?sign=1739288708-wVDGWrwJYupQvYs4wmLhZReDPaJzrfg5-0-b13617e2e814217335aaa5d77860aec4)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_4.jpg?sign=1739288708-Xv8zvYFfTpxG9MzZdxkiIlm9P96HDkiK-0-be60d95ee173d709f30f155e97d31ba0)
(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=1739288708-i3xhMQNNKBb3QAVfj2NQ1LqhtKdwNxrj-0-2d5e87ae867afce7beae8fbb36519a8b)
(续表)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_39_1.jpg?sign=1739288708-3WLDFvj9Yea6Q030QZ2G3CW9QlRbXNR5-0-61015f76ec0e9ca5a957af5a93e7ba3a)