用matlab怎么调用C语言写的代码,步骤详细些

在matlab里怎么调用C代码,我用C写了段代码,老师让我用matlab调用,本人不太熟悉matlab,所以请大家帮忙!下面是我用C写的代码!
#include "stdio.h"
long fun(long m,long n)
{long max,min,r;
(m>n)?(max=m,min=n):(max=n,min=m);
do
{r=max%min;
max=min;
min=r;
}while(r!=0);
return(max);
}
long fun1(long m,long n)
{long min;
min=m>n?n:m;
while(m%min!=0||n%min!=0)
min--;
return(min);
}

main()
{long a,a1,b,b1,c,c1,m,r,A1,A2,A,B1,B2,B,max,min,t;
A1=1,A2=0;
B1=0,B2=1;
printf("解ax+by=c方程\n");
printf("请输入X的系数,按回车键确定:a=");
scanf("%ld",&a1);
printf("请输入Y的系数,按回车键确定:b=");
scanf("%ld",&b1);
printf("请输入C:c=");
scanf("%ld",&c1);
a=abs(a1);
b=abs(b1);
c=abs(c1);
t=fun(fun1(a,b),c);
printf("a,b,c的最大公约数是%ld\n",t);
a=a/t,a1=a1/t;
b=b/t,b1=b1/t;
c=c/t,c1=c1/t;
if(a==1||b==1)
{if(a==1)
{printf("通解是:\n");
printf("x=%ld-(%ld)t\n",c1,b1);
printf("y=t");
}
else
{printf("通解是:\n");
printf("y=%ld-(%ld)t\n",c1,a1);
printf("x=t");
}
}
else
{if(fun(a,b)!=1)
printf("原方程无解");
else
{
(a>b)?(max=a,min=b):(max=b,min=a);
do
{m=max/min;r=max%min;
max=min;min=r;
A=A1-m*A2;B=B1-m*B2;
A1=A2;A2=A;B1=B2;B2=B;
}while(r!=1);
if(a>b)
{printf("特解:\n");
printf("%ld\n",c1*A*a1/a);
printf("%ld\n",c1*B*b1/b);
printf("通解是:\nx=%ld+(%ld)t\n",c1*A*a1/a,b1);
printf("y=%ld+(%ld)t",c1*B*b1/b,-1*a1);
}
else
{printf("特解:\n");
printf("%ld\n",c1*B*b1/b);
printf("%ld\n",c1*A*a1/a);
printf("通解是:\nx=%ld+(%ld)t\n",c1*B*b1/b,b1);
printf("y=%ld+(%ld)t",c1*A*a1/a,-1*a1);
}
}
}
}
请问怎么用matlab调用,在多问个问题,怎么嵌入到GUI做的界面里。我只剩10分了,不多,大家多多帮忙!

第1个回答  2008-11-01
在matlab里输入edit命令,弹出编辑窗口,然后将c语言的代码粘过来就行了,需要注意的是两者的语法规则有些许不同。本回答被提问者采纳
第2个回答  2008-11-08
把你的c编译成dll, matlab可以调用外部的dll

我正在录制视频,应该很快就能贴到matlab中文论坛上。

math本回答被网友采纳
相似回答