Matlab鼠在C语言中的功能

时间:2012-02-23 07:50:49

标签: c matlab rational-numbers

你知道如何在C中对十进制数进行有理逼近(类似于 rat Matlab函数)吗?

更新

如果我们想要一个双数的P / Q近似值,可以快速修复:

int factor=1000000;
P=floor(number*factor);
Q=factor;

错误小于(数字/因子),这可以忽略不计。

2 个答案:

答案 0 :(得分:3)

Continued fractions可用于计算在某种意义上最优的实数的有理逼近。这样输入0.33333333你有机会获得1/3而不是3333/10000。

答案 1 :(得分:1)

您可以像在更新中那样执行相同操作,但随后检查顶部和底部之间的最高公因数并简化。例如,0.5会以500000/1000000方式执行此操作。它们的共同因子为500000,因此您可以将顶部和底部除以得1/2。 Google有很多hcf函数示例,例如this one(编辑:和this令人印象深刻的列表)。