MATLAB中如何运行c语言程序 10

#include"conio.h"#include<math.h>#include<stdlib.h>#include<time.h>#definen100#define... #include "conio.h"
#include<math.h>
#include <stdlib.h>
#include <time.h>
#define n 100
#define a 179
#define k 15
#define x0 1
#define d 0

void suiji(int s[])
{
int i,flag[100]={0};
for(i=0;i<=12;i++)
{
int t=rand()%100;
if(flag[t]==0)
{
flag[t]=1;
s[i]=rand()%100;
}
}
}
/*主函数*/
void main()
{
int m=1,i,j, sj[13];
double e[n],v[n],sum[13];

/*白噪声*/
for(i=1;i<=k;i++)
{
m=m*2;
}
e[0]=a*x0/m;
sum[0]=0;

for(i=1;i<=n;i++)
{
e[i]=(a*(e[i-1]))-(int)(a*(e[i-1])); /* 经课本表2.1验证,正确*/
}

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;
}
展开
 我来答
浑永修毋婵
2020-02-29 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.4万
采纳率:28%
帮助的人:959万
展开全部
呵呵,看来我们有研究相同的问题吧
matlab是一种科学的计算语言,采用的是解释执行的方式,在配置比较水的机器(比如说我的),运行起来速度不敢恭维,但是他适合工程师用,快速建立起自己的运算平台,很多语法是类似c语言。你可以考察一下matlab的安装目录下extern下面lib库中的函数,可以发现,有很多的c语言代码,实际上,其内核有很多c的成分。
所以你应该可以明白了,可以运行,但是要把matlab的库函数包含在c编译库中。
你完全可以在extern中的example中,在matlab环境下面运行几个c代码试一试,当然所采用的指令是mex(把c语言用于matlab中),mcc把matalb代码转化为c代码,一些具体的参数,你可以用matlab强大的help工具获得。我们还可以一起探讨一下啊,给各邮箱之类的吧,呵呵,很乐意的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wacs5
2008-09-24 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2802万
展开全部
改成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也越界了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_Jameson
2008-09-24
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
我用MATLAB的时候是将matlab语言的程序编译成c++语言的。用的就是MATLAB本身自带的编译器。你不妨试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式