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