1.分别在以下三种算术条件下求sin(pi)的值
符号运算
可变精度运算
双精度浮点型运算
2.说明
2.1 符号算术
默认的,符号数学工具箱使用确切的数字,进行精确的符号计算
2.2 可变精度算术
是符号数学工具箱的功能,是符号计算的近似数值计算
通过控制数值显示的有效位数实现可变精度
默认32位,运算速度稍快,内存消耗量依赖于设定的精度
2.3 双精度浮点数算术
双精度浮点运算就是常规的Matlab数值计算
有舍入误差,精确到16位精度,运算速度最快,内存消耗最少
3.实例演示
%1_59
a=sym(pi) %符号型
sin(a)
b=vpa(pi) %可变精度型
sin(b)
c=pi %双精度
sin(c)
1.60 数值型的转换
1. 符号型和数值型之间的转换
2.说明
符号数学工具箱允许实现符号对象和常规Matlab数据类型的转换(如数值、字符等)
也可以借助符号变量的精度控制方法实现高精度的数值计算
数值型转换成符号型用sym,返回数值表达式的有理近似值
转换的原理是,通过匹配p/q, pπ/q, (p/q)^1/2,2^q和10^q(其中p和q是中等大小的整数)这样的形式来修正舍入误差(符号型为精确值)
3.实例演示
%1_60
0.3 %双精度
sym(0.3) %转化为符号型
sym(0.333333333333333333333333333) %转化为符号型
a=1/6 %取小数后4位
sym(a)
a=pi/6
sym(a)
a=3^(1/3) %开立方近似值
sym(a) %转换成符号型时,无法将近似值转换成精确值的
a=3^(1/2) %开平方近似值
sym(a) %可以转换成符号型,常规近似值能够精确转换回去
sym(0.333333333333333333333333333) %转回符号型1/3
sym('0.333333333333333333333333333') %变为符号型
sym('x') %上式形式类似于创建符号变量
1.61 查找符号变量
1.查找符号变量
2.认识函数
symvar
3.说明
在符号表达式、符号函数和符号矩阵中查找符号变量
symvar函数自动把查找到的符号变量按字母顺须排列并输出
如果不是查找所有符号变量,那么靠近字母x的变量优先查找
特别的,对于符号函数,作为函数输入参数的符号变量优先查找
大多应用在当没有指定运算变量时,用于确定默认符号变量
4.实例演示
%1_61
%freexyn
syms a b n t x y
f=sin(a*x+b)+x^n+log(y) %符号表达式
symvar(f) %查找函数表达式f中的符号变量
symvar(f,1) %优先查找靠近x的符号变量
symvar(f,2) %查找2个符号变量
f(t)=sin(a*t+b)+x^n+log(y) %符号函数
symvar(f) %优先查找自变量,然后,查找靠近x的变量
symvar(f,1)
symvar(f,2)
m=[a b n;t x y] %符号矩阵
symvar(m)
symvar(m,2) %查找2个靠近x的变量
1.62 变量替代
1.符号变量的代入和替代
2.认识函数