2014-05-14 92 views
-1

我是Matlab新手,對於a,l和w的值,我需要找到數據集中l的所有值和相應的w值。查找數字的所有因子

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

你qustion尚不清楚。你能詳細說明一下嗎? – Thanushan

+0

請@ user3636220,試着更清楚地解釋你需要幫助。 –

+0

不理解你的實際問題,標題表明[這個問題](http://stackoverflow.com/questions/21028646/factorization-of-an-integer-number)可能會有所幫助。 – thewaywewalk

回答

2

不知道你想要做什麼,但我覺得你的代碼可能如下放:

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的factor功能:

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

結果:

 2  5 
    5  2 
+1

「因素」功能似乎是要走的路。如果僅對有限的一組值有興趣,則可以減少輸出。檢查'幫助聯盟'。 –