阅读量:1
欧几里得算法,也称为辗转相除法,用于求两个数的最大公约数(GCD)。
在MATLAB中,可以通过以下代码实现欧几里得算法:
function gcd_val = euclidean_algorithm(a, b) % 确保a大于等于b if a < b temp = a; a = b; b = temp; end while b ~= 0 remainder = mod(a, b); a = b; b = remainder; end gcd_val = a; end
在上述代码中,a
和b
是待求最大公约数的两个数。首先,通过比较大小,确保a
大于等于b
。然后使用while
循环,直到b
等于0为止。在每次循环中,通过使用mod
函数计算余数,并将b
更新为余数,同时将a
更新为原来的b
。最终,循环结束时,a
的值就是最大公约数。
使用该函数,可以通过以下方式调用:
a = 24; b = 36; gcd_val = euclidean_algorithm(a, b); disp(gcd_val);
上述代码中,a
和b
分别为24和36,最后将计算得到的最大公约数输出显示。