查看: 2380|回复: 4|关注: 0

[已答复] 警告 Integer operands are required for colon operator when used as index

[复制链接]

新手

6 麦片

财富积分


050


16

主题

92

帖子

0

最佳答案
QQ
  • 关注者: 1
发表于 2015-12-23 10:28:28 | 显示全部楼层 |阅读模式
我下载了个计算平均周期的代码,如下:
Y = fft(data);       %快速FFT变换
N = length(Y);    %FFT变换后数据长度
Y(1) = [];           %去掉Y的第一个数据,它是data所有数据的和
power = abs(Y(1:N/2)).^2;  %求功率谱
nyquist = 1/2;
freq = (1:N/2)/(N/2)*nyquist; %求频率
period = 1./freq;                %计算周期
[mp,index] = max(power);       %求最高谱线所对应的下标
T_mean=period(index);            %由下标求出平均周期

运行后出现如下警告
Warning: Integer operands are required for colon operator when used as index

计算结果还是对的,就是不知道错在那,能够修改后不出现这个警告

论坛优秀回答者

中级

1120 麦片

财富积分


5001500


20

主题

2041

帖子

256

最佳答案
  • 关注者: 44
发表于 2015-12-23 10:37:43 | 显示全部楼层
Y(1:N/2),N/2有可能不是整数

新手

6 麦片

财富积分


050


16

主题

92

帖子

0

最佳答案
QQ
  • 关注者: 1
 楼主| 发表于 2015-12-23 10:38:58 | 显示全部楼层
是的,该如何修改呢?

新手

17 麦片

财富积分


050


3

主题

14

帖子

1

最佳答案
发表于 2015-12-23 11:19:45 来自手机 | 显示全部楼层
N1 = flour(N/2);
来自: 微社区

新手

5 麦片

财富积分


050


0

主题

2

帖子

0

最佳答案
发表于 2019-9-11 11:16:56 | 显示全部楼层

floor,只是正确的写法,试了试时正确的,谢谢

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表