Найти все факторы ряда

Я новичок в Matlab и для значений a, l и w i нужно найти все значения для l в наборе данных и соответствующие значения w.

a=10;
l=(0:10)
w=(0:10)
for l,d
       if a == l.*w
           disp(l) 
           disp(w)
       end
end

1 ответ

Не уверен, что вы хотите сделать, но я думаю, что ваш код можно поставить следующим образом:

a = 10;
l = 0:a; %// actually, it would suffice to check numbers up to floor(a/2)
ind = rem(a,l)==0; %// logical index that tells if remainder is zero or not
disp([l(ind); a./l(ind)])

Результат:

     1     2     5    10
    10     5     2     1

Вы можете сделать это более напрямую с Matlab's factor функция:

f = factor(a);
disp([f; a./f])

Результат:

     2     5
     5     2
Другие вопросы по тегам