24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2751  |  回复: 18
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zihai123

铁虫 (小有名气)

[求助] matlab语言改写成C语言

matlab中的length,zeros,size,fft2,angle等函数怎么转化成C语言,如果可以请给出代码,不行的话把方法告诉我,给出任意一个函数的c代码都给分,万分感谢
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖


zihai123: 金币+1, ★★★很有帮助, 谢啦 2012-05-16 09:53:16
angle
CODE:
#include
#include
#include

double *angle(int n, const double complex val[n]);

int main() {
  double complex a = 1.0 + 2.0*I;
  double complex b = 2.0 - 1.2*I;
  printf("%f + %fI\t%f\n", creal(a), cimag(a), carg(a));
  printf("%f + %fI\t%f\n", creal(b), cimag(b), carg(b));
  double complex c[2] = {1.0 + 2.0*I, 2.0 - 1.2*I};
  double *t = angle(2, c);
  printf("%f %f\n", t[0], t[1]);
  return 0;
}
  
double *angle(int n, const double complex val[n]) {
  double *p = (double *)malloc(n*sizeof(double));
  for (int i = 0; i < n; ++i) {
    p[i] = carg(val[i]);
    printf("%f\n", p[i]);
  }
  return p;
}

需要c99.
14楼2012-05-14 20:19:12
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

ccs是啥
16楼2012-06-19 21:40:34
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

试一下这个
CODE:
#include
#include
#include

typedef struct {double re, im;} dcmpl;

double *angle(int, const dcmpl *);

int
main()
{
    dcmpl a = {0.05, 1.10};
    printf("%18.10g, %18.10g\n", a.re, a.im);
    dcmpl b[2] = {{1.0, 1.0}, {0.5, 1.0}};
    double *t = angle(2, b);
    printf("%g %g", t[0], t[1]);
    free(t);
    return 0;
}

double *
angle(int n, const dcmpl *val)
{
    double *p = (double *) malloc(n*sizeof(double));
    int i;
    for (i = 0; i < n; ++i) {
        p[i] = atan(val[i].re/val[i].im);
    }
    return p;
}

18楼2012-06-20 21:33:12
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zihai123 的主题更新
信息提示
请填处理意见