| 查看: 621 | 回复: 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运行直接跳错,请问有没有知道哪里错了的 |
» 猜你喜欢
面上的水很深
已经有21人回复
小木虫没落了,除了祈祷帖子,几乎看不到有价值的帖子
已经有15人回复
国社科通讯评审
已经有5人回复
5个%2F,非固定段22个字母
已经有9人回复
生命口C13面上会评时间
已经有11人回复
生命口面上会评结束了吗大家有知道结果吗?现在还没有结果正常不?
已经有9人回复
投英文期刊如何查重
已经有6人回复
伯胺上甲基求助
已经有7人回复
跨出版社商投稿
已经有5人回复
生生命学部会评
已经有4人回复











,b(:,
回复此楼