matlab向C语言传递数组指针,在Matlab中调用C++函数,处理二维数组,指针指针?...

本文讨论了如何在Matlab中调用C++函数,特别是涉及二维数组和指针参数的情况。作者在尝试传递二维数组到C++函数时遇到问题,提出了关于如何在mexFunction()中正确处理二维数组的疑问,并指出可能存在的错误——未初始化的指针。解决方案建议使用std::vector动态分配内存,并存储矩阵每一列的地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想在Matlab中调用C++函数,我想我已经正确地编写了我的函数。我想调用的函数看起来像这样,它有8个参数作为输入。在Matlab中调用C++函数,处理二维数组,指针指针?

void LimitedPrice(double &dMarketPosition, double** dmatLimitPrice,

char* FileID, double* dvecOpen, double* dvecClose,

double** dmatTempData, int tick, double dMaxBarBack)

{Bla, Bla, Bla}

我想在运行此函数后得到2个值。它们存储在dMarketPosition和dmatLimitPrice中,因为它们是指针。

在这个函数中,我必须使用一些**(双指针)来表示我的矩阵。

运行此功能后,dMarketPosition,dmatLimitPrice将存储我想要的,因为它们是指针。我测试了我的功能,我相信我的功能已经正确编写。

现在我准备写我的mexFunction()。 我MEX功能在某种程度上是这样的

void mexFunction(int nlhs, mxArray *plhs[],

int nrhs,const mxArray *prhs[])

{

if(nrhs!=8){

mexErrMsgIdAndTxt("LimitPrice: ","I want to 8 inputs");

}

// I want two output

if(nlhs!=2) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值