matlab2c使用c++实现matlab函数系列教程-binostat函数

来源:互联网 发布:asp网站源码修改 编辑:程序博客网 时间:2024/06/09 21:31

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

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

1、binostat函数:

二项分布的均值和方差

2、用法说明

[M,V] = binostat(N,P) %N,P为二项分布的两个参数,可为标量也可为向量或矩阵。

binostat的c++源码实现

二项分布的期望方差
输入:n—试验总次数;p每次试验事件发生的概率
输出:二项分布的期望与方差

Matrix* Matlab2c::binostat (Matrix& n,Matrix& p) {    Matrix averMatrix(n.row,n.column),varMatrix(p.row,p.column);    Matrix *back=new Matrix[2];    for (int i=0;i<n.row;i++)        for (int j=0;j<n.column;j++)        {            averMatrix(i,j) =n(i,j)*(p(i,j));            varMatrix(i,j) = n(i,j)*(p(i,j))*(1-p(i,j));        }    back[0]=averMatrix;    back[1]=varMatrix;    return back;}

binostat函数的使用测试

#include "Matlab2c.h"#pragma comment(lib,"Matlab2c.lib")  using namespace Matlab2c;int main(){    double a[]={10,100,1000};    Matrix aa=Matrix(1,3,a);    double b[]={1.0/10,1.0/100,1.0/1000};    Matrix bb=Matrix(1,3,b);    Matrix* cc=Matlab2c::binostat(aa,bb);    cout<<cc[0].toString()<<endl;    cout<<cc[1].toString()<<endl;    system("pause");    return 0;}
阅读全文
2 0
原创粉丝点击