Найти все факторы ряда
Я новичок в 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