题目
请问matlab中如何控制数据精度?
matlab默认的数据类型是double(64位) 现在我生成了一些小数数值 想让它们以小数点后不同的位数参与运算查看结果:
例如:1.2356856
1、取小数点后1位:取1.2运算 ;
2、取小数点后3位:取1.236运算;
3、取小数点后5位:取1.23569运算;
……
应当怎么处理?
format函数不行,format只能改变显示长度,对参与运算的精度无法控制
用vpa也不行,因为vpa只能取有效数字,碰到太小的数比如0.000000567754这样的数就无法控制取小数点后几位了
请问该如何处理?
matlab默认的数据类型是double(64位) 现在我生成了一些小数数值 想让它们以小数点后不同的位数参与运算查看结果:
例如:1.2356856
1、取小数点后1位:取1.2运算 ;
2、取小数点后3位:取1.236运算;
3、取小数点后5位:取1.23569运算;
……
应当怎么处理?
format函数不行,format只能改变显示长度,对参与运算的精度无法控制
用vpa也不行,因为vpa只能取有效数字,碰到太小的数比如0.000000567754这样的数就无法控制取小数点后几位了
请问该如何处理?
提问时间:2021-01-28
答案
从您的提问中可以发现,您是有一定的Matlab基础的.
我建议您用round函数进行控制精度.延用您举的例子.为了书写方便,就设1.2356856为x.
取小数点后1位,round(x*10)/10即可;
取小数点后2位,round(x*100)/100即可;
依此类推,取小数点后n位,round(x*10^n)/10^n即可;
取小数点前1位,round(x/10)*10即可;
取小数点前2位,round(x/100)*100即可;
依此类推,取小数点前n位,round(x*10^(-n))/10^(-n)即可;
希望我的回答能够解答您的疑惑,
我建议您用round函数进行控制精度.延用您举的例子.为了书写方便,就设1.2356856为x.
取小数点后1位,round(x*10)/10即可;
取小数点后2位,round(x*100)/100即可;
依此类推,取小数点后n位,round(x*10^n)/10^n即可;
取小数点前1位,round(x/10)*10即可;
取小数点前2位,round(x/100)*100即可;
依此类推,取小数点前n位,round(x*10^(-n))/10^(-n)即可;
希望我的回答能够解答您的疑惑,
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
- 1文征明临写 千字文 ,日以十本为率,书遂大进.平生于书,未尝苟且,或答人简札,少不当意,必再三易之不厌,故愈老而愈精妙.
- 2已知a1等于负2,d等于5,an等于103,求n与Sn
- 3亚历山大帝国的首都
- 4英文:下雨的过程(60词以上)
- 5乡愁 1领会感情,写写联想到的诗. 2你用那些词形容两岸同胞的思念之情
- 6已知直线y=kx+1与双曲线3x^2-y^2=1相交于A,B两点,1,以AB为直径的圆过原点,求实数k的值 2,是否存在这样的实数k,使A,B关于直线y=1/2 *x对称?如果存在,求出k的值,不存在
- 7一个英语问题:Mike had got a very bad cold and coughed day and night.
- 8两船共180人,到某一港口,第一条船下20人,第二条船上30人,这时人数就相等了,问:甲乙两船原 各有几人?
- 9词语接龙 例子:写字、写信、信封、封面 1、草丛( )( )树枝 2、温和( )( )大气
- 10正方形ABCD中,F是BC中点,E在CD上,∠BAF=∠FAE 求证:AE=BC+CE
热门考点