![量化投资:以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=1738888328-4TIPrPNQ22THa3QwYGEDSthqqZcDD7o9-0-465868b09f2ddadf1b26e91748b0ddf3)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_2.jpg?sign=1738888328-U6lrRmDFUBphXLaFnQw4C6XGxtVK04Mj-0-ba4eab2690497dbf2838e76a4f7478fa)
数值积分可以使用integral函数实现,比如计算sin(x)从0到π的积分,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_3.jpg?sign=1738888328-PvVOPrkdULwK277TKYUjavcCqIQN2qT7-0-f39eeaaaa595f52a58e4d02963cc561d)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_4.jpg?sign=1738888328-vdBCzsh5H97JtMkTe3t5rQ5XKYT1Lk8U-0-aefaff8ffc74d12da4441536d66bb7f2)
(35)MATLAB如何进行复数计算?
参看complex函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_5.jpg?sign=1738888328-lL9qze47fSBPGqn72Pq4avKhE20QWv5R-0-93453692b8104d1908ad15395070c3ca)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_6.jpg?sign=1738888328-qTOMnUItRpBx4f13PoX6h2GbPLSnALa9-0-ef95ce681c22e80fb5b00adcfc7513a1)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_1.jpg?sign=1738888328-WTxpqCLbvGb3u6WR6AVPjMTeFqaimLwK-0-94a40919c21762d70604700f26286d82)
(36)如何生成对角矩阵?
使用diag函数可以构造对角矩阵或者取得一个矩阵的对角元素,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_2.jpg?sign=1738888328-jgRDHoxYIGTiLr8KJIMFSq4kXoixw8xk-0-f7f4dd7c3d30b1f0177be1f9bebdfb59)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_3.jpg?sign=1738888328-EtE6DDADRytC33yZsR5kwyjWasZF1f2O-0-6d9c95be8c944c661bc9d3e092053500)
(37)求矩阵的特征值和特征向量的函数是什么?
参考eig函数。
(38)如何构造上(下)三角矩阵?
参考tril和triu函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_4.jpg?sign=1738888328-RwxAXgE4w3oKWlFcPtMsgWwGVoiuB7G2-0-234353f191fcbfde798008989e511c34)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_5.jpg?sign=1738888328-ig9mOGvQCCtSIJ9QCtm36l2BvwVh2jbM-0-e586efaa498aab7a7a24d4dc829c6bae)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_34_1.jpg?sign=1738888328-wwjEs17BCEzXwhuzZYUvCz5yxZHPAD6M-0-8a3dcc03d5bf35b9ca2f897518ce50ce)
(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=1738888328-FlnAz23SUfhcS88PC2wR0VBpxsOswfSi-0-06fe5dc1ba336efc7d1dd33fae5b9bda)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_1.jpg?sign=1738888328-R245tL3anxkPqj7OtDERQ6WNZax7WT8S-0-3461d4d6569550a3bf14a1d7fbde8acc)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_2.jpg?sign=1738888328-nKPDD7p1Q0nbB1nPb6HI35H0LsPXFdx4-0-14f18f037b0d4756d0e918ac1f238cc1)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_36_1.jpg?sign=1738888328-bNOiX5x59dkYuMgYhmdtxmuBWlh5hVyK-0-8cbe0203c7e9a455b3fba0e3ab64d4b0)
(40)如何求矩阵各行(列)的均值?
使用mean函数可以进行均值的计算,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_1.jpg?sign=1738888328-Bo4cnQSzbTaprgcj8P3bRouzjUgiB2xi-0-3fd01e9049fc6b5f36a9ce45d0241325)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_2.jpg?sign=1738888328-DSnX13QP1WEdiOJHbB8gBM0cut1P1Gus-0-2c0eb271a05703b19d8211d6852f0b5e)
(41)如何计算组合数或得到所有组合?
nchoosek函数可以用来计算组合数,并给出所有元素的组合,factorial函数可以用来计算阶乘,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_3.jpg?sign=1738888328-vDr7p9byw1EonDl0YMVt75pI87zeLi2W-0-d9591c11cd36ce1b2c4cada99e57fdab)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_4.jpg?sign=1738888328-T2UQnxYMKJKl2MAkREpNB748HovlZHmN-0-c38cbd89b3823390698d938db7c3dea7)
(42)如何在MATLAB里面求(偏)导数?
使用diff函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_1.jpg?sign=1738888328-RXeOoGieEDjlp8Bqt6LGX4138PJXDxqA-0-9b8a178598bd2ebe6ba045f54063fd27)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_2.jpg?sign=1738888328-HyXQkbERbGMi6W472xgFYzQs0vDVmiEm-0-ef0686842179920d7ce650857fdeca04)
(43)如何求一元方程的根?
使用solve函数可以求解方程的根,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_3.jpg?sign=1738888328-oI0NMF2J1R08210itrGEqd0tYiiTqfzL-0-5c561e599c4d875c13a50ba40fdd2073)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_4.jpg?sign=1738888328-i6XteLpkYzGl6grnXi4xXrrg4WYfbQcO-0-14aab80138b29f417376ef01efd96a6b)
(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=1738888328-2FoJO6L9iWyuoV3puFFiPOzKWeD1l7ng-0-f8dbc0cb3e983bd84f7e7af5434c4f8e)
(续表)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_39_1.jpg?sign=1738888328-9r88iSIf0lOo1leHIUHlkzXhaQqbQ1gN-0-7d16ef9217fbd51164d8522275f2bfc8)