【matlab】在vc6.0中调用matlab中的正态分布产生随机数

1、问题描述

  在vc6.0中调用matlab中的正态分布产生随机数。



2、实现方法

(1)软件安装:

  (a):vc++6.0安装  --》matcom安装

    随便下一个vc++6.0安装就可以,,安装完毕后下载安装matcom,要求matcom安装在后,在安装过程中出现是否选择vc++的编译器时选择“是”,然后出现是否安装matlab时选择“否”,其他默认即可。。。。。

(2)编写.m文件
  (a)安装完matcom后,启动mathtools下的MIDEVA,见图1所示:

图1

  (b)选择"File"下的"New",新建一个文件,以"test3.m"保存,见图2所示:

图2

  (c)点击Debug下的"go",然后会在matcom的安装目录(假设安装在c盘)c:\matcom45\debug下看到Test3.h,Test3.cpp,Test3.r三个文件。。。至此创建.m文件完毕

(3)创建vc6.0工程

  (a)创建ExampleTest3工程,将C:\matcom45\debug下的Test3.h和c:\matcom45\lib下的matlib.h和v4501v.lib拷贝到工程ExampleTest3下面。。

  (b)在ExampleTest3中点击“工程”-》“添加到工程”-》“文件”,然后将matlib.h、v4501v.lib、Test3.h添加到工程中。。。

  (c)将Test3.cpp中的内容复制到ExampleTest3工程中去:

图4

 

   (d)编译运行可以得到三行四列的随机数如下:

  

3、以上就是在vc中调用matlib中标准正态分布函数的一种方法。。。

  如果要利用非标准正态分布产生随机数则在Test3.cpp中可以采用将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:

    x = .6 + sqrt(0.1) * randn(5)

 



 

4、参考文献:

(1)http://www.cnblogs.com/yunbo/archive/2006/10/17/530915.aspx

(2)http://www.vckbase.com/index.php/wv/1154

(3)http://hi.baidu.com/tyfpe/blog/item/47a11660409ab3d78db10da8.html

原文地址:https://www.cnblogs.com/lpshou/p/2561556.html