呵呵,看来我们有研究相同的问题吧
matlab是一种科学的计算语言,采用的是解释执行的方式,在配置比较水的机器(比如说我的),运行起来速度不敢恭维,但是他适合工程师用,快速建立起自己的运算平台,很多语法是类似c语言。你可以考察一下matlab的安装目录下extern下面lib库中的函数,可以发现,有很多的c语言代码,实际上,其内核有很多c的成分。
所以你应该可以明白了,可以运行,但是要把matlab的库函数包含在c编译库中。
你完全可以在extern中的example中,在matlab环境下面运行几个c代码试一试,当然所采用的指令是mex(把c语言用于matlab中),mcc把matalb代码转化为c代码,一些具体的参数,你可以用matlab强大的help工具获得。我们还可以一起探讨一下啊,给各邮箱之类的吧,呵呵,很乐意的
改成MATLAB语言吧。
==============
你的这个C存在一些问题。主要是地址越界问题。
1.
for(i=1;i<=n;i++)
{
e[i]=(a*(e[i-1]))-(int)(a*(e[i-1])); /* 经课本表2.1验证,正确*/
}
e的声明是e[n],明显越界了。
2。
for(i=0;i<=62;i++) /* 63个正态分布的随机数 */
{
suiji(sj); /* 调用随机数子函数 */
for(j=1;j<=12;j++)
{
sum[j]=sum[j-1]+e[sj[j]];
}
v[i]=sum[12]-6;
}
v的声明是v[n],你上面的i已经达到了62也越界了。
我用MATLAB的时候是将matlab语言的程序编译成c++语言的。用的就是MATLAB本身自带的编译器。你不妨试试!