24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2768  |  回复: 23

maomao1210

金虫 (正式写手)

[交流] 【分享】暑假闲来无事,与虫虫共同进步已有17人参与

暑假闲来无事,
有对写学术型代码感兴趣的虫子可以一起共同进步

[ Last edited by maomao1210 on 2010-7-28 at 18:53 ]
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

高手啊,拜一个
2楼2010-07-22 17:04:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

feichengxyz

铁杆木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):感谢无私帮助,可否新开一帖,跟maomao有所区分,方便大家求助! 2010-07-22 21:09:16
插播一广告:本人提供Matlab代码编写服务
3楼2010-07-22 18:28:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

sxlion811

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
既然大家开始有时间了,有个问题请教大家,实现语言不限。

有一组数据,每一行有四个变量id1-id4,如果任意有两个值相等的话,
就认为他们是同组数据。
比如说,取其中6行数据说明。
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。

大家有什么好的解决方法吗?由于数据可能上千条,所以需要考虑效率的问题。
开心努力一辈子
4楼2010-07-22 20:05:44
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

sxlion811

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
还是简化一下吧,那个有点复杂。
有一列数据,见附,任何一行数据有相等的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

好像要用到图论中的方法。
开心努力一辈子
5楼2010-07-23 10:10:43
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

高人能给指点下不?


小木虫(金币+0.5):给个红包,谢谢回帖交流
第一次编矩阵里有复数的程序!够烦人啊!
思路:在外部定义一系列变量,t,w,f,pi为实型,fi为复型;矩阵h0为复型,要求它的特征值,h0由内部子程序调用得到,它又由几个小矩阵:c,a,b组合得到。首先将h0定义为全0矩阵,然后再对它内部片段矩阵赋值,c,a,b按照一定顺序排列在h0里面,得到h0的值后将其传回主程序求特征值。大家能否帮忙看下,不知道h0定义为复型好不好啊

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 ]
everythinghasitsseason.enjoyyourlife.
6楼2010-07-23 11:30:13
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zhoudb

至尊木虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
十分钦佩。

是否愿为用等效电路处理电化学数据做一拟合程序?
7楼2010-07-25 11:50:10
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

sxlion811

金虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1):谢谢说明。 2010-07-26 07:58:05
随便说一下,上面的两个问题,经人指点后得知,需要用到深度优先搜索算法,谢谢。
开心努力一辈子
8楼2010-07-25 21:06:46
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
maomao你怎么不在群里冒头,在这里出风头啊。
9楼2010-07-25 22:24:15
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

jaey

怎样联系?


小木虫(金币+0.5):给个红包,谢谢回帖交流
我的邮箱:zdj_zhangdaijuan@sohu.com
10楼2010-07-26 08:01:29
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 maomao1210 的主题更新
信息提示
请填处理意见