| 查看: 615 | 回复: 0 | ||
aspenchen至尊木虫 (初入文坛)
|
[求助]
MATLAB调用Fortran代码mexfunction函数输出参数的个数是多个怎么搞?
|
|
#include "fintrf.h" subroutine mexfunction(nlhs,plhs,nrhs,prhs) integer::nlhs,nrhs mwpointer::plhs(*),prhs(*) integer::mxgetm,mxgetn mwpointer::mxCreateDoubleMatrix,mxgetpr integer::m(2),n(2) real*8,allocatable::a(:, ,b(:, ,c(:, ,d(:,![]() m(1)=mxgetm(prhs(1)) n(1)=mxgetn(prhs(1)) m(2)=mxgetm(prhs(2)) n(2)=mxgetn(prhs(2)) allocate(a(m(1),n(1)),b(m(2),n(2)),c(m(1),n(2))) call mxCopyPtrToReal8(mxgetpr(prhs(1)),a,m(1)*n(1)) call mxCopyPtrToReal8(mxgetpr(prhs(2)),b,m(2)*n(2)) plhs(1)=mxCreateDoubleMatrix(m(1),n(2),0) plhs(2)=mxCreateDoubleMatrix(m(1),n(1),0) c=matmul(a,b) d=2.0*a call mxcopyreal8toptr(c,mxgetpr(plhs(1)),m(1)*n(2)) call mxcopyreal8toptr(d,mxgetpr(plhs(2)),m(1)*n(1)) return end subroutine ==================================================== 上面这个例子要输入两个矩阵,求两个矩阵的乘积和第一个*2,然后输出两个结果,也就是nlhs应该是2,但是MATLAB运行直接跳错,请问有没有知道哪里错了的 |
» 猜你喜欢
你们遇到过吗
已经有6人回复
航天502所 高瑛珂博士 婚内征婚 欺骗女性开房
已经有33人回复
关于水星近日点进动成因的质疑 与实证分析
已经有9人回复
婚姻里的赢家
已经有6人回复
祈祷自己至少3A2B上会啊!
已经有7人回复
山东省优青 青B通知了????
已经有3人回复











,b(:,
回复此楼