作者ReiFu21 (ReiFu)
看板MATLAB
標題[討論] 一個簡單的量子能量相關的程式
時間Fri Jun 14 21:51:10 2013
三個正整數 m n k 從 1 1 1 開始
1^2+1^2+1^2=3 一種變化 即1 1 1
2^2+1^2+1^2=6 三種變化 即2 1 1 , 1 2 1 , 1 1 2
2^2+2^2+1^2=9 三種變化 即2 2 1 , 2 1 2 , 1 2 2
3^2+1^2+1^2=11 三種變化 即3 1 1 , 1 3 1 , 3 1 1
2^2+2^2+2^2=12 一種變化 即2 2 2
3^2+2^2+1^2=14 六種變化 即3 2 1 , 3 1 2 , 2 1 3 , 2 3 1 , 1 2 3 , 1 3 2
我希望求出矩陣d
d= 3 1
6 3
9 3
11 3
12 1
14 6
以下是我寫的錯誤邏輯的程式 求出來的d的第一行跳過11
clc
clear all
d=[3];
x=[1 1 1];
for i=1:20
m=(x(1)+1)^2+x(2)^2+x(3)^2;
n=(x(2)+1)^2+x(1)^2+x(3)^2;
k=(x(3)+1)^2+x(1)^2+x(2)^2;
d=[d;min([m,n,k])];
if min([m,n,k])==m
x(1)=x(1)+1;
elseif min([m,n,k])==n
x(2)=x(2)+1;
elseif min([m,n,k])==k
x(3)=x(3)+1;
end
end
d
想請問各位鄉民該如何修改 感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 182.233.195.125
※ 編輯: ReiFu21 來自: 182.233.195.125 (06/14 21:55)
1F:→ mp19990920:3 2 2/3 3 3/2 2 3/2 3 3 這些要嗎? 06/15 02:32
2F:→ mp19990920:漏了一個 3 3 2 06/15 02:33
3F:→ ReiFu21:不用 只是平方值一樣大的都要加在一起 所以不只有1 3 6 06/15 10:39
4F:→ mp19990920:.... 06/15 11:15
5F:→ mp19990920:3 2 2, 2 3 2, 2 2 3/3 3 3/2 3 3, 3 2 3, 3 3 2 ... 06/15 11:16
6F:→ mp19990920:更正如上所示 06/15 11:17
7F:→ ReiFu21:希望可以算到指定的大小 像是3*(100^2)這麼大 但是細節諸 06/15 11:28
8F:→ ReiFu21:如把所有排列可能都列出來就不用了 感謝 06/15 11:29
9F:推 CBET:或是用暴力法把所有平方和算出來,再用unique並計算出現次數 06/15 13:40