matlab c++ 混合编程(3)——mwArray类操作

23 篇文章 0 订阅

转自:http://hi.baidu.com/the_sun_23/item/7b1f5e5073098bbf09be17a9

1. 复数数组的初始化

    double rdata[4] = {1.0, 2.0, 3.0, 4.0};

    double idata[4] = {10.0, 20.0, 30.0, 40.0};

    mwArray a(2, 2, mxDOUBLE_CLASS, mxCOMPLEX);

    a.Real().SetData(rdata, 4);

    a.Imag().SetData(idata, 4);


   对应从mwArray中获取元素

    a.Real().GetData(buffer,len);

    a.Imag().GetData(buffer,len);


2. cell元组阵列的获取

    由于mwArray索引运算符()直接返回mwArray类型,因此可以直接声明通过索引获取元组内的矩阵值。

    eg: a={[1],[2],[1 2;3 4];[1 3;2 4],[1],[2]};

    mwArray b=a(2); //b=[1 3;2 4];

    mwArray c=a(5); //c=[1 2;3 4];

   

    PS:mwArray中数组为按列排,因此[1 3;2 4]的索引号为2


3. mwArray成员函数使用

    int NumberOfDimensions        返回矩阵维数

    int NumberOfElements            返回矩阵元素个数

    mwArray GetDimensions         返回一维矩阵,表示矩阵各维大小

    bool IsComplex                        判断是否复数矩阵


    PS:使用GetData前可先使用NumberOfElements确定元素个数,避免越界。


4. 字符串转换为mwArray

    char str[]="inFile.mat";

    mwArray inFile(str);

   

    则inFile则可以直接作为函数的输入参数进行传递。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值