Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-03-27
年龄: 42
帖子: 3
声望力: 0 ![]() |
![]()
在下面的程序中,第八行通过round或fix语句进行取整,但是发现在计算后,所得结果却并没有取整,减一个同大小的数字后也不是0,而是一个极小的数字.
clear %1 clc p(1, ![]() p(2, ![]() L=11.4; %5 l=0.57; for j=1:length(p); qoele=round(p(j,1)/l)+1 %8; b=qoele*l-p(j,1) a=l-(qoele*l-p(j,1)) end 运行结果为: qoele = 13 b = 0.569999999999999 a = 5.55111512312578e-016 qoele = 9 b = 0.57 a = -3.33066907387547e-016 其实这个程序用手算结果进行比较很明显的可以看出不是显示倍数的问题,我也用format等显示格式的函数进行了设置,但是还是找不到问题的所在.最后只能怀疑是round函数的问题. 我也用过fix函数取整,但是同样的问题还是存在. |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]求matlab优化工具箱 | endless | MATLAB论坛 | 1 | 2008-11-10 15:28 |
求助sinc(t)信号的频谱图的程序 | ying311 | MATLAB论坛 | 1 | 2008-05-30 09:24 |
求CDMA通信系统的仿真程序 | na2008 | MATLAB论坛 | 0 | 2008-05-05 19:31 |
[求助]plot()函数的周期怎么算? | yinxuan2348 | MATLAB论坛 | 2 | 2008-04-13 10:18 |
【求助】关于动态控件的一个小问题~ | daidaishou | MATLAB论坛 | 0 | 2007-09-03 11:05 |