matlab求助:符号常数和double型常数的区别做了两个测试如下:1.a=pi+sqrt(5);sa=sym('pi+sqrt(5)');vpa(sa-a)结果是ans=0.138223*exp(-16),不相等2.a=pi;sa=sym('pi')vpa(sa-a)结果ans=0.居然是相等的?a又不是符号常
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/08 14:10:09
![matlab求助:符号常数和double型常数的区别做了两个测试如下:1.a=pi+sqrt(5);sa=sym('pi+sqrt(5)');vpa(sa-a)结果是ans=0.138223*exp(-16),不相等2.a=pi;sa=sym('pi')vpa(sa-a)结果ans=0.居然是相等的?a又不是符号常](/uploads/image/z/6795982-46-2.jpg?t=matlab%E6%B1%82%E5%8A%A9%EF%BC%9A%E7%AC%A6%E5%8F%B7%E5%B8%B8%E6%95%B0%E5%92%8Cdouble%E5%9E%8B%E5%B8%B8%E6%95%B0%E7%9A%84%E5%8C%BA%E5%88%AB%E5%81%9A%E4%BA%86%E4%B8%A4%E4%B8%AA%E6%B5%8B%E8%AF%95%E5%A6%82%E4%B8%8B%EF%BC%9A1.a%3Dpi%2Bsqrt%285%29%EF%BC%9Bsa%3Dsym%28%27pi%2Bsqrt%285%29%27%29%EF%BC%9Bvpa%28sa-a%29%E7%BB%93%E6%9E%9C%E6%98%AFans%3D0.138223%2Aexp%28-16%29%2C%E4%B8%8D%E7%9B%B8%E7%AD%892.a%3Dpi%3Bsa%3Dsym%28%27pi%27%29vpa%28sa-a%29%E7%BB%93%E6%9E%9Cans%3D0.%E5%B1%85%E7%84%B6%E6%98%AF%E7%9B%B8%E7%AD%89%E7%9A%84%3Fa%E5%8F%88%E4%B8%8D%E6%98%AF%E7%AC%A6%E5%8F%B7%E5%B8%B8)
matlab求助:符号常数和double型常数的区别做了两个测试如下:1.a=pi+sqrt(5);sa=sym('pi+sqrt(5)');vpa(sa-a)结果是ans=0.138223*exp(-16),不相等2.a=pi;sa=sym('pi')vpa(sa-a)结果ans=0.居然是相等的?a又不是符号常
matlab求助:符号常数和double型常数的区别
做了两个测试如下:
1.a=pi+sqrt(5);
sa=sym('pi+sqrt(5)');
vpa(sa-a)
结果是ans=0.138223*exp(-16),不相等
2.a=pi;
sa=sym('pi')
vpa(sa-a)
结果ans=0.居然是相等的?a又不是符号常数,应该没有sa精确啊,怎么会相等呢?
matlab求助:符号常数和double型常数的区别做了两个测试如下:1.a=pi+sqrt(5);sa=sym('pi+sqrt(5)');vpa(sa-a)结果是ans=0.138223*exp(-16),不相等2.a=pi;sa=sym('pi')vpa(sa-a)结果ans=0.居然是相等的?a又不是符号常
第2个等于0,是因为sa=sym('pi') 表达式的含义是:创建pi的符号变量,将结果保存在sa中,与精度没有关系!
第1个不相等是因为 a = pi+sqrt(5) 这个表达式里面的pi+sqrt(5) 和 sa=sym('pi+sqrt(5)') 里面的这个符号变量'pi+sqrt(5)' 不是同一个对象了,所以结果二者不相等!
造成这个结果就在于 sym()函数的用法:创建和转换符号对象
形式:s = sym('x') 创建名称为x的符号变量度将结果保存在s中.