Matlab自学笔记五十四:符号数学工具箱和符号运算、符号求解、绘图

发布于:2025-05-13 ⋅ 阅读:(12) ⋅ 点赞:(0)

1.什么是符号数学工具箱?

符号数学工具箱是Matlab针对符号对象的运算功能,它引入了一种特殊的数据类型 - 符号对象;

该数据类型包括符号数字,符号变量,符号表达式和符号函数,还包含符号矩阵,以及上述变量组成的符号数组等,符号对象也成为符号类型;

符号数学工具箱提供求解、绘图和操作符号数学方程的功能,针对符号类型数据的运算,称为符号运算。

2.为什么要使用符号运算?

首先说Matlab里常规的数值型类数据(浮点型)在存储和运算时,一般使用小数近似,例如10/3=3.3333,由于计算机硬件存储限制,结果3.3333并不是真实的结果3又1/3,但在一般应用中,这不是什么大问题;

当特别关注运算的精确度时,上述问题就变成了大问题;

于是,符号运算应运而生,它采用符号化的方式存储变量,例如上述10/3,采用符号运算结果等于10/3,是的,分数的形式;

3.创建符号对象(变量)

符号变量声明(创建)后可直接使用,无输出结果,但工作区会存储;

创建符号变量使用函数sym、syms

程序示例:

sym('x')  %语法1

syms x  %语法2

syms x y z  %创建多个符号变量

sym('x',[1 5])  %创建符号变量x1/x2/x3/x4/x5

4.符号类型和数值类型的精度差别

程序示例:

1/6  %双精度浮点型1/6,在Matlab中使用小数表达0.1667

x=sym(1/6)  %创建符号变量,分数形式表达1/6

sin(pi)  %双精度浮点pi值计算sin值,有舍入误差1.2246e-16

sin(sym(pi))  %对符号对象数值pi求sin值,完整表达0

5.符号表达式

程序示例:

syms x y z

f=2*x+1  %符号表达式

g=x*y+z

6.符号函数

符号函数的用法与常规的函数用法相同,差异在于处理的数据类型不同,用符号对象运算时,需要首先声明符号对象,并且可以形式化的表达结果。

程序示例:

syms x

f(x)=2*x+1  %符号函数

f(1)  %符号函数的调用,结果是符号对象3

syms f(x,y)  %直接创建(声明)没有函数表达式的函数

f(x,y)  %调用

f(1,2)  %运算结果形式f(1,2)

7.符号矩阵

符号矩阵的用法与常规的矩阵用法相同,差异在于处理的数据类型不同,用符号对象运算时,需要首先声明符号对象,并且可以形式化的表达结果。

程序示例:

syms a b c d  %声明符号变量

A=[a b;c d]  %符号矩阵

B=[a 1;c 3]

sum(A)  %符号矩阵运算,与常规矩阵算法相同

sum(B)

sym('x',[2 2])  %创建2行2列矩阵,自动添加下标

sym('x%d%d',[2 2])  % 返回结果[x11, x12;x21, x22]

sym('x%d2018%d',[2 2])  %2个下标中间添加数字

相关内容推荐

11.1/Matlab解方程/solve基本用法/不会的举手

11.18 Matlab非线性方程组和矩阵方程求解fsolve数学建模

13.1/Matlab计算极限 微积分 导数

13.10 Matlab数值积分integral、integral2、vpaintegral

14.1 Matlab解微分方程

14.5/Matlab解微分方程组/简单到不想说话

25.1 快速上手朴素贝叶斯算法分类识别及其Matlab编程代码实例

当Matlab绘图达到张三疯的水平,是什么感受?

31.17 干货汇总Matlab绘图/三维线图/三维柱状图/三维饼图/函数三维图

35.24 Matlab搜索路径(学Matlab必过的槛)

37.4 Matlab AppDesigner 设计案例:学生信息注册系统,编程演示列表框和下拉框的用法,初学者很友好

36.1 Matlab GUI 界面设计初学者光速入门

38.7 论文复现:图表数据提取及公式拟合

38.6 从图表变化趋势上提取曲线坐标数据(简单高效)

End