matlab 怎么在计算工程中始终保留6位有效数字呢 是“保留” 不是“显示”
用列主元高斯消去法计算Ax=bA=[3.01,6.03,1.99;1.27,4.16,-1.23;0.987,-4.81,9.34];b=[1;1;1];如何在计算过程中...
用列主元高斯消去法 计算Ax=b A=[3.01,6.03,1.99;1.27,4.16,-1.23;0.987,-4.81,9.34];
b=[1;1;1]; 如何在计算过程中保证每次计算都保留6位有效数字呢 展开
b=[1;1;1]; 如何在计算过程中保证每次计算都保留6位有效数字呢 展开
1个回答
展开全部
>> a=22.3456755;
>> fprintf('a = %.6g\n',a)%%保留6位有效数字
a = 22.3457
>> fprintf('a = %.6f\n',a)%%保留小数点后6位
a = 22.345675
>> fprintf('a = %.6g\n',a)%%保留6位有效数字
a = 22.3457
>> fprintf('a = %.6f\n',a)%%保留小数点后6位
a = 22.345675
更多追问追答
追问
这只是最终结果显示为6位有效数字
可不可以把A矩阵定义为元素为6位有效数字的类型呢
如何在计算过程中保证“每次”计算都保留6位有效数字呢 因为有循环 我需要产生舍入误差 vpa(A)我用过了 就是太麻烦 还会出现Conversion to double from sym is not possible.错误
追答
兄弟,vpa是不行的,当它转换为double时又基本和原来一样了。
而且这个没有简单方法,要实现估计得用字符串来处理,挺麻烦的,要是没有必要的话就别这么做了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询