24小时热门版块排行榜    

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

eamtbfs

铜虫 (小有名气)


[交流] 【求助】帮忙看看哪错了error: invalid lvalue in assignment

我最近用到FFTW,就网上找了个简单例子来学习了下。但这个简单例子编译出错,不知道怎么回事。我网上查了查,也没搞清是FFTW语句的问题,还是gcc编译器的问题。请高手帮忙看看啊!

错误信息如下:
$gcc34 FFTW_example.c -lfftw3 -lm
FFTW_example.c: In function `main':
FFTW_example.c:35: error: invalid lvalue in assignment
FFTW_example.c:36: error: invalid lvalue in assignment

用gcc4.3也是一样出错。

这个FFTW的简单例子程序的网址在这里http://www.elisanet.fi/mnentwig/webroot/FFTW_example/index.html

程序比较小就贴在下面。是creal 和cimag那两行出错了
/* ****************************************************
* FFTW example
* Markus Nentwig, 2007
* This program is in the public domain
* ****************************************************/
#include
#include
#include
#include
#include

int main(void){
  /* ****************************************************
   * Allocate memory
   * ****************************************************/
  int n=128;
  fftw_complex* b1=fftw_malloc(sizeof(fftw_complex)*n);
  fftw_complex* b2=fftw_malloc(sizeof(fftw_complex)*n);

  /* ****************************************************
   * Create forward FFT plan from b1 into b2
   * ****************************************************/
  fftw_plan p1=fftw_plan_dft_1d(n, b1, b2, FFTW_FORWARD, FFTW_ESTIMATE);

  /* ****************************************************
   * Create reverse FFT plan from b2 into b1
   * ****************************************************/
  fftw_plan p2=fftw_plan_dft_1d(n, b2, b1, FFTW_BACKWARD, FFTW_ESTIMATE);

  /* ****************************************************
   * Generate a single sine wave cycle
   * ****************************************************/
  int i;
  for (i=0; i < n; ++i){
    creal(b1)=sin((double)i/(double)n*2.0*M_PI);
    cimag(b1)=0;
  }
  
  /* ****************************************************
   * Execute FFT from b1 into b2
   * ****************************************************/
  fftw_execute(p1);

  /* ****************************************************
   * Dump the "spectrum".
   * Result:
   * First bin ("DC  term" is zero
   * * i*n/2 in 2nd bin
   * * -i*n/2 in last bin
   * * all other bins are zero
   * ****************************************************/
  for (i=0; i < n; ++i){
    printf("%1.7f\t%1.7f\n", creal(b2), cimag(b2));
  };

  /* ****************************************************
   * IFFT back into b1
   * ****************************************************/
  fftw_execute(p2);
  printf("\n";

  /* ****************************************************
   * Result: Original waveform scaled by n
   * ****************************************************/
  for (i=0; i < n; ++i){
    printf("%1.7f\t%1.7f\n", creal(b1), cimag(b1));
  };

  /* ****************************************************
   * Clean up
   * ****************************************************/
  fftw_destroy_plan(p1);
  fftw_destroy_plan(p2);

  fftw_free(b1);
  fftw_free(b2);
  return 0;
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


★ ★
余泽成(金币+2): 谢谢参与应助! 2011-03-10 14:17:18
看起来就是creal和cimag的问题吧..
7楼2011-03-08 16:00:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答
★ ★ ★
eamtbfs(金币+1): 谢谢参与 2011-02-25 06:01:14
余泽成(金币+3): 谢谢参与应助! 2011-02-27 15:06:29
抄都没抄对咯
CODE:
    creal(b1[i])=sin((double)i/(double)n*2.0*M_PI);
    cimag(b1[i])=0;

CODE:
printf("%1.7f\t%1.7f\n", creal(b1[i]), cimag(b1[i]));

2楼2011-02-24 19:31:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eamtbfs

铜虫 (小有名气)


zzzzz

[ Last edited by eamtbfs on 2011-2-25 at 06:06 ]
3楼2011-02-25 06:04:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eamtbfs

铜虫 (小有名气)


引用回帖:
Originally posted by yalefield at 2011-02-24 19:31:36:
抄都没抄对咯
CODE:
    creal(b1[i])=sin((double)i/(double)n*2.0*M_PI);
    cimag(b1[i])=0;

CODE:
printf("%1.7f\t%1.7f\n", creal(b1[i]), cimag(b1[i]));


我从网页上帖过来的,不知怎么贴过来就变了。不过我编译的时候是用的网上下载的程序,我仔细看了,我编译的程序语法没有这样的错,但就是gcc报告error: invalid lvalue in assignment

请帮忙编译下,看看问题出在哪。多谢多谢!
4楼2011-02-25 06:05:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂,262机械专硕 +5 嗯yyl 2026-04-08 5/250 2026-04-08 23:27 by 6781022
[考研] 368化学求调剂 +12 wwwwabcde 2026-04-07 13/650 2026-04-08 20:48 by LiuXingYu星星
[考研] 一志愿哈工大,初试329,求环境科学与工程调剂! +11 余未辛 2026-04-06 11/550 2026-04-08 15:21 by screening
[考研] 297求调剂 +16 GENJIOW 2026-04-07 17/850 2026-04-08 11:05 by 逆水乘风
[考研] 287求调剂 +6 Fnhc 2026-04-07 6/300 2026-04-08 10:05 by xingguangj
[考研] 283分求调剂 +14 试试看呗 2026-04-04 14/700 2026-04-08 07:03 by lijunpoly
[考研] 材料调剂 +17 小刘同学吖吖 2026-04-06 18/900 2026-04-07 11:41 by 诗与自由
[考研] 材料调剂 +13 一样YWY 2026-04-05 14/700 2026-04-07 09:51 by piklet
[考研] 考研调剂 +3 Wwwwwww哇 2026-04-06 3/150 2026-04-06 20:55 by lbsjt
[考研] 一志愿河北工业大学材料工程,初试344求专硕调剂 +6 15933906766 2026-04-05 6/300 2026-04-06 13:21 by 无际的草原
[考研] 0855求调剂材料 +11 红桃灼灼 2026-04-04 12/600 2026-04-06 10:26 by 蓝云思雨
[考研] 308求调剂 +3 终不似从前 2026-04-05 3/150 2026-04-05 22:23 by hemengdong
[考研] 308求调剂 +4 maverick^_^ 2026-04-03 4/200 2026-04-05 19:08 by 蓝云思雨
[考研] 材料调剂 +13 一样YWY 2026-04-03 14/700 2026-04-05 18:20 by 蓝云思雨
[考研] 085602调剂 初试总分335 +12 19123253302 2026-04-04 12/600 2026-04-05 08:08 by 544594351
[考研] 环境285分,过六级,求调剂 +10 xhr12 2026-04-02 10/500 2026-04-04 21:53 by bn53987
[考研] 085601,一志愿厦大334复试被刷求调剂 +13 曾仰之 2026-04-03 15/750 2026-04-04 20:13 by dongzh2009
[考研] 考研调剂 +4 zybz冲冲冲 2026-04-03 6/300 2026-04-04 13:08 by zybz冲冲冲
[考研] 286求调剂 +8 lim0922 2026-04-02 8/400 2026-04-03 20:19 by rzh123456
[考研] 求材料调剂 一志愿南昌大学 328分 +5 yyy..... 2026-04-03 5/250 2026-04-03 13:46 by 百灵童888
信息提示
请填处理意见