第1章 符号数学运算
Symbolic Math Operations
在数学中,你不能理解事物,你只能习惯它们。
In mathematics you don’t understand things.You just get used to them.
——约翰·冯·诺伊曼(John Von Neumann)
从丛书第一册一路走到这里,感谢读者朋友们支持。随着丛书建模实践不断深入,丛书对数学知识的要求也不断提高。虽然很多人可能认为金融建模即编写代码,但本书读者已经注意到,建模不在乎使用哪一种具体编程语言,建模核心是对问题的理解以及对数学知识的运用。
本丛书对数学内容的介绍立足于实际:建模用到哪,我们就讲到哪,而且要讲得生动活泼、浅显易懂。丛书在内容编排上也尽可能地做到知识点极致可视化。此外,丛书还强调各种数学知识之间的联系,如微积分、线性代数、矩阵论、概率统计、空间几何、解析几何、随机数学、数值分析、优化方法等,不是一个个毫无联系的孤岛。丛书结合金融实践,不断深入挖掘这些数学知识间千丝万缕的联系,提供丰富编程建模案例、全彩可视化方案等,试图以直观方式将重点展现给读者,帮助大家理解。
再次感谢大家支持,下面我们开始丛书第四册的旅程。
Core Functions and Syntaxes
本章核心命令代码
assume() 设置符号变量假定条件。
assumeAlso() 追加假设条件。
assumptions 返回符号变量假设条件。
cell() 转换为元胞数组。
char() 转换为字符串。
class() 确定变量类。
coeffs() 提取多项式系数。
collect() 对符号项合并同类项;多个符号变量构成表达式,按指定某个符号合并同类项。
compose() 构造复合函数。
diff() 求解符号表达微分式。
double() 转换为双精度浮点数,即8个字节(64位)浮点值。
eval() 计算字符向量或者函数数值。
expand() 将符号表达展开为多项式表达。
ezpolar() 在极坐标中绘制符号表达图像。
factor() 对数字做质因数分解,对符号表达式做因式分解。
fcontour() 在平面绘制符号表达等高线图,结果类似contour()。
fimplicit(f) 在默认区间[-5 5](对于x和y)上绘制f(x,y)=0定义隐函数。
fimplicit3(f) 在默认区间[-5 5]上绘制f(x,y,z)=0定义三维隐函数。
finverse() 求解反函数。
fmesh() 在三维空间绘制符号表达网格,结果类似mesh()。
fplot() 在二维平面绘制符号表达图像,结果类似plot()。
fplot3() 在三维空间绘制符号表达图像,结果类似plot3()。
fsurf() 在三维空间绘制符号表达曲面图像,结果类似surf()。
gradient() 计算多元函数梯度。
hessian() 计算多元函数Hessian矩阵。
hilb() 函数返回Hilbert矩阵。
int() 求解符号函数不定积分和定积分。
int16() 将数据转换为2个字节(16位)有符号整数。
int32() 将数据转换为4个字节(32位)有符号整数。
int64() 将数据转换为8个字节(64位)有符号整数。
int8() 将数据转换为1个字节(8位)有符号整数。
integral() 求解函数积分。
jacobian() 计算多元函数Jacobian矩阵。
latex(f) 函数f变成Latex字符串。
limit() 求解符号表达极限值。
linsolve() 求解线性方程。
logical() 数值转换为逻辑值。
matlabFunction() 将符号代数式转换为函数。
numden() 提取符号数值和表达式中分子和分母。
poly2sym() 用系数构造多项式。
polyder() 计算多项式微分。
polyfit() 以最小二乘方式与一组数据拟合多项式系数。
polyint() 计算多项式积分。
polyval() 计算多项式在每个点处的值。
polyvalm() 按照矩阵预算规则计算多项式值。
roots() 求解多项式根。
simplify() 化简表达式。
single() 转换为单精度浮点数,即4个字节(32 位)浮点值。
solve() 求解代数式。
struct() 转换为结构体类型。
subs() 将符号或者数值代入符号表达式。
sym() 定义符号变量、数值、代数表达式、方程和矩阵。
sym2poly() 提取符号多项式各项系数。
symprod() 符号表达求乘积。
syms 创建符号变量和函数。
symsum() 符号表达求和。
taylor() 求解符号表达泰勒展开。
uint16() 将数据转换为2个字节(16位)无符号整数。
uint32() 将数据转换为4个字节(32位)无符号整数。
uint64() 将数据转换为8个字节(64位)无符号整数。
uint8() 将数据转换为1个字节(8位)无符号整数。
whos 罗列workspace当前变量。
丛书前三册不同章节中都用到了符号数学运算。这一章将简单总结之前使用过的符号数学运算函数,同时介绍更多其他常用符号运算。丛书后续的数学和优化章节将大量使用这些符号运算。这一章做好铺垫,读者在具体运算环境中需要掌握这些方程。