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 悬赏:0 手机版
解决时间 2021-03-22 02:46
- 提问者网友:却不属于对方
- 2021-03-21 12:10
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-03-21 13:18
第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中.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯