matlab中的GCD函数

时间:2010-04-10 08:48:11

标签: matlab greatest-common-divisor

我正在寻找一种方法来实现另一种语言中matlab中使用的“gcd”函数,但我真的无法理解它的运行方式。

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/gcd.html中说:

“[G,C,D] = gcd(A,B)返回最大公约数G和数组C和D,它们满足等式:A(i)。* C(i)+ B(i)。* D(i)= G(i)。“

但它没有说明如何计算C和D.

如果有人对这个主题有更清晰的认识,我将不胜感激! 感谢:)

4 个答案:

答案 0 :(得分:4)

extended Euclidean algorithm

(“第4.5.2节算法X”这个可以在http://www.fitc.unc.edu.ar/javadev/math/previous/algorithms.html中显示。)

答案 1 :(得分:0)

Matlab文档引用

Knuth,Donald,计算机编程艺术,Vol。 2,Addison-Wesley:阅读MA,1973年。第4.5.2节,算法X。

我没有冒昧地为你解释这一点,但它就在那里。

答案 2 :(得分:0)

只需输入

即可查看来源
edit gcd

在编辑器中打开该功能。然后你可以逐行查看函数。

与其他两篇文章中的参考文献一起,这可以为您提供答案。

答案 3 :(得分:0)

它将使用The extended Euclidean algorithm上此链接中的一个基本方案。