📄 mwdatachange.cpp
字号:
// mwDataChange.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "matlab.hpp"
#include "mex.h"
#include "matrix.h"
int main(int argc, char* argv[])
{
/*数组构建*/
static double data[]={1,3,5,7,9,11};
double * pdata=NULL;
mwArray A,B,C,D,E,F;
mxArray * mxD=NULL;
A = 5;
B = "Hello World!";
C = mwArray(2,3,data);
mxD = mxCreateDoubleMatrix(2,3,mxREAL);
pdata = mxGetPr(mxD);
for(int i=0;i<6;i++)
{
pdata[i]=i;
}
D = mxD;
E = ramp(1,10);
F = E(8);
/*数组的大小获取*/
mwArray m,n;
int m1,n1;
size(mwVarargout(m,n),C);/*方式1*/
m1=size(&n1,C);/*方式2,只适用于二维的情况*/
int dims;
int ndims[2];
dims=C.Size();
C.Size(ndims);/*方式3*/
/*mwArray 布尔型变量转换为 c/c++布尔型变量*/
mwArray isCReal= isreal(C);
/*C变量数据指针的获取*/
mxArray * pCMxData = C.GetData();
double * pCData = mxGetPr(pCMxData);
cout <<"构造1x1的数值阵列:\n" <<A <<endl;
cout <<"构造字符阵列:\n" <<B <<endl;
cout <<"构造2x3的数值阵列:\n" <<C <<endl;
cout <<"通过mxArray构造2x3的数值阵列:\n" <<D <<endl;
cout <<"通过mwSubArray构造数值阵列:\n" <<F <<endl;
cout <<"数组C的维数为:"<<dims<<endl;
cout <<"方法1:\n" <<"行:"<<m<<"\n"<<"列:"<<n<<"\n"<<endl;
cout <<"方法2:\n" <<"行:"<<m1<<"\n"<<"列:"<<n1<<"\n"<<endl;
cout <<"方法3:\n" <<"行:"<<ndims[0]<<"\n"<<"列:"<<ndims[1]<<"\n"<<endl;
cout <<"C数组的元素个数为:"<<C.EltCount()<<"\n"<<endl;
if(tobool(isCReal))
{
cout << "C数组的数组类型为实数!" <<endl;
}
else
{
cout << "C数组的数组类型为复数!" <<endl;
}
cout <<"阵列C的内容如下:\n"<<endl;
for(i=0;i<C.EltCount();i++)
{
cout <<pCData[i]<<" ";
}
cout<<endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -