《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 92|回复: 3
收起左侧

[提问] 关于MATLAB 程序的循环 滤波等问题

[复制链接]
发表于 2018-9-11 21:21:23 | 显示全部楼层 |阅读模式

Q1:EDAtool.m中第97行什么意思?其中EDA_range(1)表示EDA的最小值,EDA_range(2)表示EDA的最大值,他是想表达超过范围Outrange置1么?那中间的'+'为啥不用‘||’?

Q2: EDAtool.m中第93行为什么要减去EDA(1)?改成第94行的不行么?

Q3:193行中是相当于补零么?那么就相当于原始数据少了一截,但是我看工作区变量,并没有少啊。

Q4:第160行到179行,为啥要划分成这三段?

Q5:  第223行,这个数据已经是NaN了为啥还要幅值给他前面那个呢?

Q6:第236行没有看懂。


对了本人2016a 版本 64位 EDAtool.m (11.64 KB, 下载次数: 1)
 楼主| 发表于 2018-9-11 21:27:21 | 显示全部楼层
不知道为啥.mat不能上传
回复 支持 反对

使用道具 举报

发表于 2018-9-11 21:51:47 | 显示全部楼层
Q1:该行命令可以改为:
OutRange = (EDA<=EDA_range(1)) | (EDA>=EDA_range(2));

Q2: 我也没看明白为什么减去EDA(1)

Q3:193行if isnan(EDA_f_NaN(i))==0; i=i+1;可以改写为:
if ~isnan(EDA_f_NaN(i)); i=i+1;

Q4:第160行到179行,这三段代码中if语句中的命令还是区别的

Q5:  第223行,通过循环查找第一个不是NaN的数据,把这个数据前面的NaN都变成这个数据

Q6:第236行通过一维插值计算EDA的值。(i,before)和(j,after)是已知的数据点,通过插值求第i到第j-1个EDA的值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-12 19:44:37 | 显示全部楼层
xiezhh 发表于 2018-9-11 21:51
Q1:该行命令可以改为:
OutRange = (EDA=EDA_range(2));

非常非常感谢您的指点,然我茅塞顿开。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 陕ICP备08102094号 

GMT+8, 2018-9-24 00:05 , Processed in 0.085269 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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