⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mwarraycreate.cpp

📁 《精通matlab与c++混合编程》的光盘内容
💻 CPP
字号:
// mwArrayCreate.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include "matlab.hpp"
#include <stdlib.h>    

#ifdef GCC
 #ifndef EXIT_SUCCESS
  #define EXIT_SUCCESS 0
 #endif
#endif

double data[] = {1,2,3,4,5,6,7,8};
int main(int argc, char* argv[])
{
	/*创建二维数组*/
	mwArray mwadata(2,4,data);/*从原有的double型数组中创建*/
	mwArray copymwdata(mwadata);/*拷贝原有的mwArray对象*/
	/*从c double型数组中创建按列存储方式的MATLAB mwArray阵列*/
	mwArray mwadataRowMajor = row2mat(2,4,data);

	/*创建多维数组*/
	/*创建二维数组,然后采用reshape来实现*/	
	mwArray multiD;
	multiD = reshape(mwadata,2,2,2);
	
	/*采用MATLAB C++数学库的函数实现,如rand,zeros,randn等*/
	/*MATLAB语句*/
	/*rand333 = rand(3,3,3)*/
	/*eye33 = eye(3,3)*/
	mwArray rand333,eye33,assignArray;		
	rand333 = rand(3,3,3);
	eye33 = eye(3,3);
	
	/*直接采用 = 来实现*/
	/*
		MATLAB语句:
		for i=1:3
			assignArray(i,i,i)=1;
		end
	*/
	int i=0;
	for(i=0;i<3;i++)
	{
		assignArray(i+1,i+1,i+1)=1;
	}

	/*MATLAB的:运算符在MATLAB C++数学库中的实现*/
	/*用ramp*/
	/*MATLAB语句 rampindex = 1:3:20;colonindex = 0:2:20;*/
	mwArray rampindex = ramp(1,3,20);
	mwArray colonindex = colon(0,2,20);
	/*MATLAB语句 D=zeros(3,3,3);D(:,:,3)=5*/
	mwArray D;
	D=zeros(3,3,3);
	D(colon(),colon(),3)=5;

	/*采用横向或者纵向连接新的数组元组的方式*/
	/*MATLAB 语句  A=[1 2 3];B=[4 5 6];C=[A;B];*/
	mwArray A,B,C;
	A = horzcat(1,2,3);
	B = horzcat(4,5,6);
	C = vertcat(A,B);	

	cout << "mwadata= "<< mwadata<<endl;
	cout << "copy of mwadata =" << mwadata << endl;
	cout << "采用row2mat从按行存储的C double数组中创建按列存储的MATLAB mwArray阵列"<<endl;
	cout <<"通过通配符colon实现赋值:"<<mwadataRowMajor<<endl;
	cout << "通过reshape创建的2x2x2数组="<<multiD<<endl;
	cout << "3x3x3随机数数组 = "<<rand333<<endl;
	cout << "3x3单位矩阵 = "<<eye33<<endl;
	cout << "直接通过=号创建的3x3x3维数组 = "<<assignArray<<endl;
	cout << "通过ramp创建的索引数组 = "<<rampindex<<endl;
	cout << "通过colon创建的索引数组 = "<<colonindex<<endl;
	cout <<"D = "<<D<<endl;
	cout << "横向连接产生的数组A=\t"<<A<<"B=\t"<<B<<endl;
	cout << "A和B垂向连接产生的数组C="<<C<<endl;
	return EXIT_SUCCESS;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -