![量化投资:以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=1738883371-JDhrlrHkLeCVSIlB6mfJOTH5op3zvUuD-0-adb4258d95f3f3d9b4181703ffdf94c6)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_2.jpg?sign=1738883371-JTBaGzEt6zKDhzVa7VIZry92zg24PHgV-0-a4eb299ca324ba32fd0159bc06aa0de8)
数值积分可以使用integral函数实现,比如计算sin(x)从0到π的积分,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_3.jpg?sign=1738883371-5iOjVRnOaFAKGSuGlR7xKfYck0rDGTmz-0-a3f6fc607344a02ad26c79de329e2294)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_4.jpg?sign=1738883371-qMMDASiV7RzIjADZdNUF7x6p0P9KP5Ri-0-1e44cc5c3529a2e8108a4c7e1cb8a056)
(35)MATLAB如何进行复数计算?
参看complex函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_5.jpg?sign=1738883371-F3PP9g9SawTLTEnuRH2YivgMI39e6GQx-0-4d7dde858025426fa832a97bb7d0b342)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_32_6.jpg?sign=1738883371-pBFPoB1ab1PIsDOomQHzpIXj6ERHyRhw-0-a7583e898347e8e68b8c8ca51a075ea0)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_1.jpg?sign=1738883371-4BSwTFyoIzosO662AzDdNxDQDcpyOfis-0-b5a1c601462ce7129e9c9de47d512a86)
(36)如何生成对角矩阵?
使用diag函数可以构造对角矩阵或者取得一个矩阵的对角元素,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_2.jpg?sign=1738883371-iExfmjpi068EOtMCrQsfnzWctem7TDPA-0-2529484f6ee98030d7508b22bf444b84)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_3.jpg?sign=1738883371-Dq2aVIwvR3HbAqvNSde62hVjADeTIrUI-0-b480c80daf5d51601fc1df0bfcacd50c)
(37)求矩阵的特征值和特征向量的函数是什么?
参考eig函数。
(38)如何构造上(下)三角矩阵?
参考tril和triu函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_4.jpg?sign=1738883371-qfPGAMD4nrgzDQs1puADchbOxldtygPI-0-15a4ec511c241255cb1dd4dfd3c07d43)
运行结果为:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_33_5.jpg?sign=1738883371-S3VM1kbVQcqY1HWr0xE6PKjuMMx07WUc-0-357bc8a512c1c06402ff27a6709f9fb2)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_34_1.jpg?sign=1738883371-CkBhaBiIv91jVne6BNB54qOxXOJtWhnR-0-9d0989a9de8171a46a507221d2ed839d)
(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=1738883371-Erl49gsVU6fg2huFXW8eJI4nD1bS3zTI-0-e51ddd6157fe8da90911d8386a06624b)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_1.jpg?sign=1738883371-Hk70bedeaXZuaa7ef2oMNnUJ5d3FAdBp-0-f05d63b7cb9ce9a6ba855415bfc3691b)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_35_2.jpg?sign=1738883371-GQvjWOpPQl4ZbGHKHrtXEwojGxqqYrpK-0-3af3d3d678316d0dae3f5782015e1875)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_36_1.jpg?sign=1738883371-ZRfIbwWK7aiPyRWfgDPucI1wk04k5hpH-0-1845f0e313f8876faff8a20b6348f2b7)
(40)如何求矩阵各行(列)的均值?
使用mean函数可以进行均值的计算,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_1.jpg?sign=1738883371-WDJqSurENKbqNww1i1RcIFACeWaQ3Hmd-0-4ad53866957b3c5c0064a71463e80d6b)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_2.jpg?sign=1738883371-CrHk8mpq5UNRE4AYnYlWw78vqT4b1kIz-0-0a0962e2aa22b438216e33cf374b0887)
(41)如何计算组合数或得到所有组合?
nchoosek函数可以用来计算组合数,并给出所有元素的组合,factorial函数可以用来计算阶乘,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_3.jpg?sign=1738883371-HDcJF3aonJUjtbnzQZ7Dy4hbMYqCXdsQ-0-ed4fc41090fd74124f194939573c74d2)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_37_4.jpg?sign=1738883371-p3JxIjqGmgqL1OekaMNAghMMk3B6aTOF-0-02c4115939a3cbf19dac2c04de5ebd7c)
(42)如何在MATLAB里面求(偏)导数?
使用diff函数,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_1.jpg?sign=1738883371-ftIX10FscexcOvCWkTQ4u0wZ6f3KbLBR-0-92ebe6c8b040d9ecc6df326e4aa913ff)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_2.jpg?sign=1738883371-gZRtwedlCmkD4n9zoNMbhx3KIkpJvYqS-0-f96d8c038eb22261ff105309f27dbe91)
(43)如何求一元方程的根?
使用solve函数可以求解方程的根,见下例:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_3.jpg?sign=1738883371-OnUNKEwpcvaqtkAAPyP3RtPQiOaAiAvL-0-711337c696ff8b19e8002b012c97918a)
运行结果:
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_38_4.jpg?sign=1738883371-3tznhhyXHvSM8HJc5sjv3V3faLUmF2jn-0-67326fd4fe5b606901802b820c39e571)
(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=1738883371-E1UW1JVl3dsAqeKAnKmEnBW2uWYpp4YR-0-bc70ab6b185df2fac59f604d7f7f793c)
(续表)
![](https://epubservercos.yuewen.com/BE0359/26763841001449106/epubprivate/OEBPS/Images/24730_39_1.jpg?sign=1738883371-5GFAPQWfxxlLEMMpqqN1cuhd78bVPEdQ-0-c1e5a17be451c40e5704ce46a2629327)