欧几里得算法,也称为辗转相除法,用于求两个数的最大公约数(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,最后将计算得到的最大公约数输出显示。