- 积分
- 42
- 注册时间
- 2005-10-22
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-6-1 10:36:05
|
显示全部楼层
来自 广西贺州
本帖最后由 shunfly 于 2009-6-1 10:39 编辑
应用
CL1D(5)
返回
[1 2 3 4 5]-
- !--------------------------------------------------------!
- ! Date !
- ! 2009,5,31,23:21 !
- ! Author !
- ! Shunfly@Simwe !
- ! Shunfly517@gmail.com !
- ! Parameter !
- ! NLength !
- ! The Length of the Vector !
- ! Return Value !
- ! 1:NLength !
- ! System Ver !
- ! MATLAB6.5.1 !
- ! CVF6.6 !
- ! WINXP SP2 !
- !-------------------------------------------------------!
-
- ! MODULE DEC
- MODULE MODULE_Dim
- IMPLICIT NONE
- REAL*8,DIMENSION(:),ALLOCATABLE::Ek
- END MODULE MODULE_Dim
- ! MODULE APP
- MODULE MODULE_Fun
- USE MODULE_Dim
- IMPLICIT NONE
- CONTAINS
- SUBROUTINE AllocMatSub(INDim)
- IMPLICIT NONE
- INTEGER INDim,IDex
-
- ALLOCATE(Ek(INDim))
- DO IDex=1,INDim
- Ek(IDex) = IDex*1.0D0
- END DO
- END SUBROUTINE AllocMatSub
- END MODULE MODULE_Fun
- ! MEX GATEWAY
- SUBROUTINE mexFunction(nlhs, plhs, nrhs, prhs)
- USE MODULE_Dim
- USE MODULE_Fun
- INTEGER mxGetPr
- INTEGER plhs(*), prhs(*),nlhs, nrhs
- INTEGER mxCopyReal8ToPtr
- INTEGER plhs1
- REAL*8 RNDim
- INTEGER INDim
- IF (nrhs .ne. 1) THEN
- ! 输入一个参数
- RETURN
- END IF
- CALL mxCopyPtrToReal8(mxGetPr(prhs(1)),RNDim,1)
- INDim = INT(RNDim)
- plhs(1)=mxCreateDoubleMatrix(1,INDim,mxREAL)
- plhs1 =mxGetPr(plhs(1))
- CALL AllocMatSub(INDim)
- CALL mxCopyReal8ToPtr(Ek,plhs1,INDim)
- ! DEALLOCATE
- DEALLOCATE(Ek)
- END SUBROUTINE
复制代码 |
评分
-
1
查看全部评分
-
|