作业帮 > 综合 > 作业

在matlab中,如何比较两个小数的小数点后前多少位相同?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/29 03:51:50
在matlab中,如何比较两个小数的小数点后前多少位相同?
小数的范围是[0,1]
例如a=0.123456,b=0.123466,则应返回4(因为小数点后前4位相同)
如果a=1,b=0.1231,则应返回0
如果a=0,b=0.002,则应返回2(因此时a=0.000)
function f=myfun(a,b)
for f=1:100
a=10*mod(a,1);
b=10*mod(b,1);
a1=floor(a);
b1=floor(b);
if a1~=b1
f=f-1;
break
elseif f==100
msgbox('a==b','提示','warn');
end
end
编了个函数,你把上面文字保存成函数文件,在命令窗口输入
f=myfun(a,b) 试一下
结果:
f=myfun(0.1123455487,0.11234554646)
f =
8
>> f=myfun(1.001123455487,1)
f =
2
>> f=myfun(0.00001,0)
f =
4