全栈工程师开发手册 (作者:栾鹏)

​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中unifstat函数简介

1、unifstat函数:

均匀分布(连续)的期望和方差

2、用法说明

[M,V] = unifstat(A,B) %A、B为标量时,就是区间上均匀分布的上边界和下边界,A、B也可为向量或矩阵,则M、V也是向量或矩阵,M为均值矩阵,V为方差矩阵。

unifstat的c++源码实现

均匀分布(连续)的期望和方差
输入:均匀分布的上界和下届
输出:均匀分布的均值和方差

Matrix* Matlab2c::unifstat(Matrix& a,Matrix& b)
{
if(a.row!=b.row || a.column!=b.column)
{
throw_logic_error("均匀分布上下限矩阵不匹配");
return NULL;
}
Matrix averMatrix(a.row,a.column),varMatrix(a.row,a.column);
Matrix *p = new Matrix[2];

for (int i=0;i<a.row;i++)
for (int j=0;j<a.column;j++)
{
averMatrix(i,j)=0.5*(a(i,j))+0.5*(b(i,j));
varMatrix(i,j)=pow((a(i,j))-(b(i,j)),2)/12;
}
p[0]=averMatrix;
p[1]=varMatrix;
return p;
}

unifstat函数的使用测试

#include "Matlab2c.h"
#pragma comment(lib,"Matlab2c.lib")
using namespace Matlab2c;

int main()
{
double a[]={1,2,3};
Matrix aa=Matrix(1,3,a);
double b[]={4,5,6};
Matrix bb=Matrix(1,3,b);
Matrix* cc=Matlab2c::unifstat(aa,bb);
cout<<cc[0].toString()<<endl;
cout<<cc[1].toString()<<endl;

system("pause");
return 0;
}