2.认识函数
设置assume
添加assumeAlso
显示assumptions
3.说明
在符号数学工具箱中,符号变量默认是复数变量
若要运算中不使用全体复数域,可以为变量添加假设指定范围
可以通过假设设置变量属于集合:整数、正数和实数
4.实例演示
%1_56
%作者:freexyn
syms x
assumptions(x) %x不存在假设,属于复数域
assume(x>=0) %设置假设
assumptions(x) %查看假设
% assume(x<=5)
% assumptions(x) %会覆盖前面假设内容
assumeAlso(x<=5) %追加假设
assumptions(x)
%% 设置x属于集合
assume(x,'integer') %假设x属于整数
assumptions(x)
assume(x,'positive') %假设x为正数
assume(x,'real') %假设x属于实数
assumptions(x)
%% 符号变量声明时同时设置假设
sym('x')
sym('x','real') %创建(声明)符号变量并假设属于实数
assumptions(x)
syms y positive %另一方法,创建(声明)符号变量并假设属于正数
assumptions(y)
assumptions %不给定参数时,会显示所有假设
%% 设置假设的用法
solve(y+1==0,y) %solve函数用来解方程,
solve(x+1==0,x)
1.57 清除假设
1.清除假设和重置符号引擎
2.认识函数
reset
3.说明
符号变量和它们的假设是分开存储的
符号引擎工作空间通常是空的,Matlab工作空间记录符号变量并在需要时把他们传递到符号引擎工作空间进行计算
符号引擎空间存储了所有的关于符号变量的假设,这些假设会影响方程的求解、化简和变换
清除变量和清除假设是两个过程,运算结束后注意清除假设
4.实例演示
%1_57
syms x y z positive %假设不存在工作区中,而在符号引擎工作空间中
assumptions %查看所有假设
whos %查看所有变量
clear x %清除变量x,并不会清除掉假设
assumptions
whos
% assume(x,'clear') %清除假设:变量x是访问和调用x假设的桥梁,变量若被清除了,则无法访问或清除假设
syms x %重新声明假设x
assume(x,'clear')
assumptions
whos
assume([x y],'clear') %可同时清除多个假设,以数组形式
assumptions
reset(symengine) %重制符号引擎工作空间:清理所有符号假设
assumptions
1.58 可变精度算术
1.可变精度算术的应用
2.认识函数
vpa
3.说明
默认的,Matlab双精度浮点数使用16位数字精度
而符号数学工具箱的vpa函数,提供了无限大的可变精度
它默认使用32位数字精度,32位指的是有效数字的位数
4.实例演示
%1_58
pi %默认双精度浮点型pi值,16位精度,默认short格式小数点后4位
vpa(pi) %pi转换为可变精度数值,32位精度
vpa(pi)+1 %先转换为可变精度数值再运算
vpa(pi,100) %通过输入第2个参数指定精度
vpa(sqrt(2),100)
%% 让整个运行环境使用可变精度
digits %获取当前运行环境的精度
i=digits(100) %设置运行环境精度100,i返回设置前的精度值
digits
vpa(pi) %显示pi的可变参数值,已变为100位
vpa(pi)+1
digits(32)
digits
vpa(pi)