| 查看: 2986 | 回復(fù): 23 | |||
maomao1210金蟲 (正式寫手)
|
[交流]
【分享】暑假閑來無事,與蟲蟲共同進步 已有17人參與
|
|
暑假閑來無事, 有對寫學(xué)術(shù)型代碼感興趣的蟲子可以一起共同進步 [ Last edited by maomao1210 on 2010-7-28 at 18:53 ] |
至尊木蟲 (職業(yè)作家)
鐵桿木蟲 (著名寫手)
金蟲 (正式寫手)
|
既然大家開始有時間了,有個問題請教大家,實現(xiàn)語言不限。 有一組數(shù)據(jù),每一行有四個變量id1-id4,如果任意有兩個值相等的話, 就認(rèn)為他們是同組數(shù)據(jù)。 比如說,取其中6行數(shù)據(jù)說明。 1 11 21 31 1 12 22 31 2 11 22 32 2 13 21 32 3 14 23 32 4 11 22 33 確定為同一組值后,需要對他們進行編號。 例如第1,2行,有相同的1,31,所以為相同組,編號1; 又3和4,3和6行分別有相同的2,32和11,22,所以3,4,6為同組編號2。 第5行不和其他行有兩個或以上相同的值,編號3。 大家有什么好的解決方法嗎?由于數(shù)據(jù)可能上千條,所以需要考慮效率的問題。 |

金蟲 (正式寫手)
|
還是簡化一下吧,那個有點復(fù)雜。 有一列數(shù)據(jù),見附,任何一行數(shù)據(jù)有相等的sort1或sort2,分成一組。 如:1,2,14,18,3,28為一組。 4,15,6,11,10,15,20,17,24,12,22,7,30為第二組。 依此分組。 sort1 sort2 1 2 1 3 1 14 2 14 2 18 3 28 4 15 4 30 6 10 6 15 6 16 6 27 7 17 8 30 10 20 11 15 12 17 12 22 12 24 14 18 16 27 17 30 19 23 24 30 好像要用到圖論中的方法。 |

|
第一次編矩陣?yán)镉袕?fù)數(shù)的程序!夠煩人啊! 思路:在外部定義一系列變量,t,w,f,pi為實型,fi為復(fù)型;矩陣h0為復(fù)型,要求它的特征值,h0由內(nèi)部子程序調(diào)用得到,它又由幾個小矩陣:c,a,b組合得到。首先將h0定義為全0矩陣,然后再對它內(nèi)部片段矩陣賦值,c,a,b按照一定順序排列在h0里面,得到h0的值后將其傳回主程序求特征值。大家能否幫忙看下,不知道h0定義為復(fù)型好不好啊 program main use IMSL implicit none real,parameter::pi=3.1415927 complex,parameter::fi=(0.0,1.0) complex q real t,f,w complex, allocatable::h0(:,: ) real, allocatable:: eigenvalue(: ) integer :: i,n read*,n allocate(h0(4*n,4*n)) allocate(eigenvalue(n)) w=0.0 t=1.0 f=0.25 call hmatr(h0,n) eigenvalue=eig(h0) do i=1,4*n write(*,"('eigenvalue=',f10.7)" )eigenvalue(i) end do stop contains subroutine hmatr(h0,n) integer n,i,j,n0 complex h0 complex,dimension(:,: )::c(4,4),a(4,4),b(4,4) h0=0.0 a=reshape((/0.0,0.0,0.0,t,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/),(/4,4/)) b=transpose(a) do n0=1,2*n-1,2 c=((/w,t*cmplx(exp(-fi*(-pi+2*pi/3*f*(1.5*n0+1/4)))),0,0,t*exp(fi*(-pi+2*pi/3*f*(1.5*n0+1/4))),w,t,0,0,t,w,t*exp(fi*(-pi+2*pi/3*f*(1.5*(n0+1)+1/4))),0,0,t*exp(-fi*(-pi+2*pi/3*f*(1.5*(n0+1)+1/4))),w/),(/4,4/)) j=2*n0-1 do j=1,4*n-3,4 h0(j:j+3,j:j+3)=c if(j==1) then h0(j:j+3,j+4:j+7)=b; h0(j:j+3,4*n-3:4*n)=a; else if(j>=5.and.j<4*n-3) then h0(j:j+3,j+4:j+7)=b; h0(j:j+3,j-4:j-1)=a; else h0(4*n-3:4*n,1:4)=b; h0(j:j+3,j-4:j-1)=a; end if end do end do end subroutine hmatr end 出錯信息: 1)Error: The shape matching rules of actual arguments and dummy arguments have been violated. [H0] call hmatr(h0,n) -----------^ 2)E:\matlabxuexi\yyuu.f90(36) : Error: A constant or named constant is required in this context. c=((/w,t*cmplx(exp(-fi*(-pi+2*pi/3*f*(1.5*n0+1/4)))),0,0,t*exp(fi*(-pi+2*pi/3*f*(1.5*n0+1/4))),w,t,0,0,t,w,t*exp(fi*(-pi+2*pi/3*f*(1.5*(n0+1)+1/4))),0,0,t*exp(-fi*(-pi+2*pi/3*f*(1.5*(n0+1)+1/4))),w/),(/4,4/)) ---------^ 3)E:\matlabxuexi\yyuu.f90(36) : Error: An INTEGER or REAL data type is required in this context. c=((/w,t*cmplx(exp(-fi*(-pi+2*pi/3*f*(1.5*n0+1/4)))),0,0,t*exp(fi*(-pi+2*pi/3*f*(1.5*n0+1/4))),w,t,0,0,t,w,t*exp(fi*(-pi+2*pi/3*f*(1.5*(n0+1)+1/4))),0,0,t*exp(-fi*(-pi+2*pi/3*f*(1.5*(n0+1)+1/4))),w/),(/4,4/)) ---------^ 4)E:\matlabxuexi\yyuu.f90(39) : Error: The syntax of this substring is invalid. [H0] h0(j:j+3,j:j+3)=c -------^ Error executing df.exe. yyuu.obj - 4 error(s), 0 warning(s) [ Last edited by 田山東 on 2010-7-23 at 11:32 ] |

至尊木蟲 (小有名氣)
金蟲 (正式寫手)

金蟲 (正式寫手)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[教師之家] 焦慮 +9 | 水冰月月野兔 2026-03-13 | 13/650 |
|
|---|---|---|---|---|
|
[考研] 330求調(diào)劑 +3 | 小材化本科 2026-03-18 | 3/150 |
|
|
[考研] 354求調(diào)劑 +4 | Tyoumou 2026-03-18 | 7/350 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +5 | 想上岸的鯉魚 2026-03-18 | 6/300 |
|
|
[考研] 311求調(diào)劑 +11 | 冬十三 2026-03-15 | 12/600 |
|
|
[考研] 297求調(diào)劑 +8 | 戲精丹丹丹 2026-03-17 | 8/400 |
|
|
[考研] 一志愿西南交大,求調(diào)劑 +4 | 材化逐夢人 2026-03-18 | 4/200 |
|
|
[考研] 材料專碩274一志愿陜西師范大學(xué)求調(diào)劑 +6 | 薛云鵬 2026-03-13 | 6/300 |
|
|
[考研] 303求調(diào)劑 +4 | 睿08 2026-03-17 | 6/300 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +3 | 我愛生物生物愛?/a> 2026-03-17 | 3/150 |
|
|
[考研] 307求調(diào)劑 +3 | 冷笙123 2026-03-17 | 3/150 |
|
|
[考研] 334求調(diào)劑 +3 | 志存高遠意在機?/a> 2026-03-16 | 3/150 |
|
|
[考研] 一志愿蘇州大學(xué)材料工程(085601)專碩有科研經(jīng)歷三項國獎兩個實用型專利一項省級立項 +6 | 大火山小火山 2026-03-16 | 8/400 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽花天天開心 2026-03-16 | 4/200 |
|
|
[考研] 327求調(diào)劑 +6 | 拾光任染 2026-03-15 | 11/550 |
|
|
[考研] 求老師收留調(diào)劑 +4 | jiang姜66 2026-03-14 | 5/250 |
|
|
[考研] 26考研一志愿中國石油大學(xué)(華東)305分求調(diào)劑 +3 | 嘉年新程 2026-03-15 | 3/150 |
|
|
[考研] 22408總分284求調(diào)劑 +3 | InAspic 2026-03-13 | 3/150 |
|
|
[考研] 330求調(diào)劑 +3 | ?醬給調(diào)劑跪了 2026-03-13 | 3/150 |
|
|
[考研] 0856材料與化工301求調(diào)劑 +5 | 奕束光 2026-03-13 | 5/250 |
|