| 5 | 1/1 | 返回列表 |
| 查看: 2998 | 回復(fù): 23 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
maomao1210金蟲 (正式寫手)
|
[交流]
【分享】暑假閑來無事,與蟲蟲共同進(jìn)步 已有17人參與
|
||
|
暑假閑來無事, 有對寫學(xué)術(shù)型代碼感興趣的蟲子可以一起共同進(jìn)步 [ Last edited by maomao1210 on 2010-7-28 at 18:53 ] |
鐵桿木蟲 (著名寫手)
金蟲 (正式寫手)
|
既然大家開始有時間了,有個問題請教大家,實現(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 確定為同一組值后,需要對他們進(jìn)行編號。 例如第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ā)表 | |
|---|---|---|---|---|
|
[考研] 數(shù)一英一271專碩(085401)求調(diào)劑,可跨 +7 | 前行必有光 2026-03-28 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 一志愿鄭州大學(xué),080500學(xué)碩,總分317分求調(diào)劑 +5 | 舉個栗子oi 2026-03-24 | 6/300 |
|
|
[考研] 學(xué)碩274求調(diào)劑 +9 | Li李魚 2026-03-26 | 9/450 |
|
|
[考研] 315求調(diào)劑 +4 | akie... 2026-03-28 | 5/250 |
|
|
[考研] 071000生物學(xué)求調(diào)劑,初試成績343 +7 | 小小甜面團(tuán) 2026-03-25 | 7/350 |
|
|
[考研] 0856材料化工調(diào)劑 總分330 +11 | zhubinhao 2026-03-27 | 11/550 |
|
|
[考研] 一志愿北京化工大學(xué) 070300 學(xué)碩 336分 求調(diào)劑 +9 | vv迷 2026-03-22 | 9/450 |
|
|
[考研] 08開頭275求調(diào)劑 +4 | 拉誰不重要 2026-03-26 | 4/200 |
|
|
[考研] 0703化學(xué)338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[考研] 求調(diào)劑 +6 | 林之夕 2026-03-24 | 6/300 |
|
|
[考研] 336材料求調(diào)劑 +7 | 陳瀅瑩 2026-03-26 | 9/450 |
|
|
[考研] 調(diào)劑 +4 | 柚柚yoyo 2026-03-26 | 4/200 |
|
|
[考研] 機(jī)械學(xué)碩310分,數(shù)一英一,一志愿211本科雙非找調(diào)劑信息 +3 | @357 2026-03-25 | 3/150 |
|
|
[考研] 總分293求調(diào)劑 +6 | 加一一九 2026-03-25 | 8/400 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +3 | 邱gl 2026-03-25 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | 李李不服輸 2026-03-25 | 3/150 |
|
|
[考研] 材料專碩331求調(diào)劑 +4 | 鮮當(dāng)牛 2026-03-24 | 4/200 |
|
|
[考研] 344求調(diào)劑 +3 | desto 2026-03-24 | 3/150 |
|
|
[考研] 一志愿山東大學(xué)藥學(xué)學(xué)碩求調(diào)劑 +3 | 開開心心沒煩惱 2026-03-23 | 4/200 |
|
|
[論文投稿] 急發(fā)核心期刊論文 +3 | 賢達(dá)問津 2026-03-23 | 5/250 |
|