赞
踩
全栈工程师开发手册 (作者:栾鹏)
matlab2c动态链接库下载
matlab库函数大全
matlab2c基础教程
matlab2c开发全解教程
1、下载动态链接库
2、将Matlab2c.dll拷贝到exe同目录下
3、将Matlab2c.h、Matlab2c.lib放到项目头文件目录下
4、在cpp文件中引入下面的代码
#include "Matlab2c.h"
#pragma comment(lib,"Matlab2c.lib")
using namespace Matlab2c;
1、intersect函数:
求集合的交集
2、用法说明
A=[1,1,2,4,4,3];
B=[1,2,5];
[H,m,n]=intersect(A,B); //H集合表示A和B集合的交集。m矩阵表示H中元素在A中的位置,n矩阵表示H中元素在B中的位置。
求两个集合的交集
输入:集合a,集合b
输出:返回矩阵指针,第一个集合为a,b的交集,第二个集合为交集在集合a中的位置,第三个集合为交集在b中的位置。
提示:集合以一维矩阵的形式表示。返回位置时,下标从0开始
Matrix* Matlab2c::intersect(Matrix& a,Matrix& b) { vector<double> c; vector<int> ia; vector<int> ib; Matrix *p = new Matrix[3]; for (int j=0;j<a.column;j++) for (int n=0;n<b.column;n++) if (a.data[j]==b.data[n]) { ia.push_back(j); ib.push_back(n); c.push_back(a.data[j]); break; } *p = Matrix(c,1,c.size()); *(p+1)=Matrix(ia,1,ia.size()); *(p+2)=Matrix(ib,1,ib.size()); return p; }
#include "Matlab2c.h" #pragma comment(lib,"Matlab2c.lib") using namespace Matlab2c; int main() { double a[]={1,2,3,4,5}; double b[]={1,2,5,6}; Matrix aa=Matrix(1,5,a); Matrix bb=Matrix(1,4,b); Matrix* cc=Matlab2c::intersect(aa,bb); cout<<(*(cc+0)).toString()<<endl; cout<<(*(cc+1)).toString()<<endl; cout<<(*(cc+2)).toString()<<endl; system("pause"); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。