最近数竞学到了三重积分,对于解决积分问题来说,绘制一个立体图形还是很有必要的,所以就尝试寻找一个能够绘制三元函数的方法.
在网上查询也都是在用Mupad绘制三元隐函数,但是在Matlab R2020里这个独立的代数系统被删除了,看官方文档才知道功能是被并入到了实时脚本里,于是就照着Matlab计算机代数工具箱的文档开始学习.这里贴一个链接:
Symbolic Math Toolboxwww.mathworks.com这里比较详尽地介绍一下数学符号工具箱:
开始:
新建数字、变量和表达式
新建Symbolic Number
sym(1/3)
ans=1/3
1/3
ans=0.333
符号数字与一般数字不同的是,一般数字表示的是逼近这个数一定位数的浮点数,而使用sym()创建的数字表示的是这个数字本身.
sin(sym(pi))
ans=0
sin(pi)
ans=1.2246e-16
至于自然对数的符号表示...暂未找到,不过一般表示为exp()
新建符号变量
有两个函数sym()和syms,而后者主要在实时脚本中使用.syms为symbol syntax的缩写(不是多个变量的意思.虽然可以同时定义多个变量.
syms x
sym('y')
y=sym('y')
第一个命令是在matlab工作空间定义变量x并将值x赋给变量x.
第二个命令是将值y赋给临时变量ans.
第一,三个命令等价.
syms也可以同时定义多个函数,中间使用空格隔开.
syms x y z
但是如果创建变量的数组,sym更加合适.
A = sym('a',[1 20])
whos
A =
[ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,...
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20]
Name Size Bytes Class Attributes
A 1x20 8 sym
通过sym与syms的组合,就可以在工作区创建出相应变量名的变量.
clear all
syms(sym('a', [1 10]))
whos
Name Size Bytes Class Attributes
a1 1x1 8 sym
a10 1x1 8 sym
a2 1x1 8 sym
a3 1x1 8 sym
a4 1x1 8 sym
a5 1x1 8 sym
a6 1x1 8 sym
a7 1x1 8 sym
a8 1x1 8 sym
a9 1x1 8 sym
总结:
sym可以用来创建
- MATLAB函数中的符号变量
- 许多编号的符号变量
- 符号变量,其值与其在MATLAB工作区中的名称不同
- 符号数字,例如sym(5)
- 从先前使用的具有相同名称的符号变量继承假设的符号变量
syms可以用来创建一个/多个值与变量名相同的符号变量.
新建符号表达式
用符号变量表达黄金比率
phi = (1 + sqrt(sym(5)))/2;
之后就可以将运算作用于式子上:
f = phi^2 - phi - 1
f=ax^2+bx+c
syms a b c x
f = a*x^2 + b*x +c
变量复用
就是重新定义一下,略~

本文介绍了在Matlab R2020中使用计算机代数工具箱,特别是diff函数,用于符号运算和微积分。内容包括新建符号变量、表达式、方程和矩阵,以及求导、积分、解方程和简化表达式的方法。此外,还讨论了符号变量的假设设置和清除。
最低0.47元/天 解锁文章
5091

被折叠的 条评论
为什么被折叠?



