如何在 MATLAB 中计算 GCD(变量数组)?

How to calculate GCD in MATLAB (variable array)?

我在计算 GCD 时遇到问题。通常 MATLAB 中的 GCD 使用两个变量(例如:a=19、b=88 和 gcd(a,b))。但是我有一个变量数组K = [1 1 1 1 2 1 3 2],对于这个K,我想计算GCD.
如何计算K的最大公约数?

将数组元素指定为符号向量的元素。

针对您的问题-

K = sym([1, 1, 1, 1, 2, 1, 3, 2])
gcd(K)

因为gcd(gcd(a,b),c) is the same as gcd(a,b,c)可以遍历K得到数组的gcd

g = K(1)
for i=2:numel(K)
    g = gcd(g,K(i))
end
fprintf('The gcd is %i\n', g)