| 查看: 2987 | 回復(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ā)表 | |
|---|---|---|---|---|
|
[考研]
|
.6lL 2026-03-18 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 266求調(diào)劑 +5 | 陽陽哇塞 2026-03-14 | 10/500 |
|
|
[考研] 一志愿福大288有機化學(xué),求調(diào)劑 +3 | 小木蟲200408204 2026-03-18 | 3/150 |
|
|
[考研] 294求調(diào)劑材料與化工專碩 +11 | 陌の森林 2026-03-18 | 11/550 |
|
|
[考研] 一志愿南昌大學(xué),327分,材料與化工085600 +3 | Ncdx123456 2026-03-19 | 3/150 |
|
|
[考研] 一志愿天大材料與化工(085600)總分338 +5 | 蔡大美女 2026-03-13 | 5/250 |
|
|
[考研] 材料專碩英一數(shù)二306 +5 | z1z2z3879 2026-03-18 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑,求各位老師收留 +10 | 秋有木北 2026-03-14 | 10/500 |
|
|
[考研] 304求調(diào)劑 +6 | 司空. 2026-03-18 | 6/300 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +5 | 想上岸的鯉魚 2026-03-18 | 6/300 |
|
|
[考研] 0703化學(xué)調(diào)劑 ,六級已過,有科研經(jīng)歷 +10 | 曦熙兮 2026-03-15 | 10/500 |
|
|
[考研] 070300化學(xué)319求調(diào)劑 +6 | 錦鯉0909 2026-03-17 | 6/300 |
|
|
[考研] 288求調(diào)劑,一志愿華南理工大學(xué)071005 +4 | ioodiiij 2026-03-17 | 4/200 |
|
|
[考研] 304求調(diào)劑 +12 | 小熊joy 2026-03-14 | 13/650 |
|
|
[考研] 材料與化工專碩調(diào)劑 +5 | heming3743 2026-03-16 | 5/250 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽花天天開心 2026-03-16 | 4/200 |
|
|
[考研] 求老師收留調(diào)劑 +4 | jiang姜66 2026-03-14 | 5/250 |
|
|
[考研] 294求調(diào)劑 +3 | Zys010410@ 2026-03-13 | 4/200 |
|
|
[考研] 一志愿哈工大材料324分求調(diào)劑 +5 | 閆旭東 2026-03-14 | 5/250 |
|
|
[考研] 招收0805(材料)調(diào)劑 +3 | 18595523086 2026-03-13 | 3/150 |
|