matlab2c使用c++实现matlab函数系列教程-randint函数
原创
©著作权归作者所有:来自51CTO博客作者wx636261b2d66e0的原创作品,请联系作者获取转载授权,否则将追究法律责任
全栈工程师开发手册 (作者:栾鹏)
matlab2c动态链接库下载matlab库函数大全
matlab2c基础教程
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;
matlab中randint函数简介
1、randint函数:
生成均匀分布随机整型矩阵
2、用法说明
randint(n,m)产生的是一个nm维的矩阵,矩阵的元素或者是0或者是1,是随机的。
如果想产生一个范围的数,可以设置一个区间,如randint(2,3,[1 6]),就是产生一个23随机矩阵,这个矩阵的元素是区间[1 6]的随机数。
randint的c++源码实现
生成均匀分布整型随机矩阵
输入:矩阵要求行数列数,分布区间,下边界默认为0,上边界默认为1
输出:随机整形矩阵
函数声明
Matrix randind(int row,int column,int min=0,int max=1);
函数定义
Matrix Matlab2c::randind(int row,int column,int min,int max)
{
int i,j;
Matrix p(row,column);
double temp;
srand((unsigned)time(NULL));
for (i=0;i<p.row;i++)
for (j=0;j<p.column;j++)
{
temp = (double)std::rand()/RAND_MAX*(max-min+1)+min-0.5;
p(i,j)=(int)(temp+0.5); //4舍5入
}
return p;
}
randint函数的使用测试
#include "Matlab2c.h"
#pragma comment(lib,"Matlab2c.lib")
using namespace Matlab2c;
int main()
{
Matrix cc=Matlab2c::randind(1,100,0,3);
cout<<cc.toString()<<endl;
system("pause");
return 0;
}