24小时热门版块排行榜    

查看: 2466  |  回复: 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的回帖
★ ★ ★
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的回帖

lucktroy

禁虫 (小有名气)

★ ★ ★
余泽成(金币+3): 谢谢参与应助! 2011-02-28 20:09:22
本帖内容被屏蔽

5楼2011-02-28 19:25:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


★ ★
余泽成(金币+2): 谢谢参与应助! 2011-03-07 21:38:09
没用过FFTW,不过这两行确实比较奇怪
CODE:
  /* ****************************************************
   * Generate a single sine wave cycle
   * ****************************************************/
  int i;
  for (i=0; i < n; ++i){
    creal(b1[i])=sin((double)i/(double)n*2.0*M_PI);
    cimag(b1[i])=0;
  }

creal和cimag是两个函数还是两个宏啊。如果是两个函数,那这里肯定是有问题的。如果是两个宏,不知道会展开成什么。
6楼2011-03-04 09:46:57
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 eamtbfs 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856调剂,是学校就去 +6 sllhht 2026-03-19 7/350 2026-03-19 19:50 by 制度的
[考研] 288求调剂,一志愿华南理工大学071005 +5 ioodiiij 2026-03-17 5/250 2026-03-19 18:22 by zcl123
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +5 吃吃吃才有意义 2026-03-19 5/250 2026-03-19 16:18 by 30660438
[考研] 材料专硕274一志愿陕西师范大学求调剂 +8 薛云鹏 2026-03-13 8/400 2026-03-19 15:36 by haoshis
[考研] 287求调剂 +3 晨昏线与星海 2026-03-19 4/200 2026-03-19 12:32 by peike
[考研] 材料考研调剂 +3 xwt。 2026-03-19 3/150 2026-03-19 11:22 by w沐阳w
[考研] 一志愿中海洋材料工程专硕330分求调剂 +7 小材化本科 2026-03-18 7/350 2026-03-19 10:46 by Linda Hu
[考研] 332求调剂 +3 ydfyh 2026-03-17 3/150 2026-03-19 10:14 by 功夫疯狂
[考研] 0703化学调剂,求各位老师收留 +10 秋有木北 2026-03-14 10/500 2026-03-19 05:52 by anny19840123
[考研] 344求调剂 +6 knight344 2026-03-16 7/350 2026-03-18 20:13 by walc
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +7 步川酷紫123 2026-03-13 7/350 2026-03-18 17:12 by 尽舜尧1
[考研] 311求调剂 +6 26研0 2026-03-15 6/300 2026-03-18 14:43 by haxia
[考研] 311求调剂 +11 冬十三 2026-03-15 12/600 2026-03-18 14:36 by 星空星月
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 085601求调剂 +4 Du.11 2026-03-16 4/200 2026-03-17 17:08 by ruiyingmiao
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] 一志愿211 0703方向310分求调剂 +3 努力奋斗112 2026-03-15 3/150 2026-03-16 16:44 by houyaoxu
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[考博] 福州大学杨黄浩课题组招收2026年专业学位博士研究生,2026.03.20截止 +3 Xiangyu_ou 2026-03-12 3/150 2026-03-13 09:36 by duanwu655
信息提示
请填处理意见