24小时热门版块排行榜    

查看: 300  |  回复: 2

btliu

金虫 (小有名气)

[求助] matlab求助

各位高手:从excel导入的两列数据(data),等时间间隔采集电压点,现希望减少数据点,把大于一定数值的数据点取出,(因为许多数据简单重复),用Matlab重新画图。具体方法如下:每一步的第一数据(x1,y1)确定保留,让(x2,y2)中的y2值与y1对比,如果y2-y1的绝对值大或等于0.002,则保留(x2,y2)数据,然后再用(x3,y3)中y3与y2对比;反之,如y2- y1的绝对值小于0.002,则抛弃(x2,y2)数据,然后用(x3,y3)的y3与y1对比看绝对值是否大于0.002。一直继续下去,存在二维数组中,最后画图对比。我现在有一可实现第一个循环、第二步的程序。我计划把循环数和步数都考虑进去。假定循环数为m,步数为n。对于不同的步,设置不同的误差。因刚开始学,实现起来比较困难,希望高手在我下面单步运行程序基础上,把循环数、步数、以及误差加上。数据结构请见下面。非常感谢!

x = data(:,1);
y = data(:,2);
subplot(2,2,1);
plot(x,y,'o');
zx =zeros(length(x),1);
zy =zeros(length(y),1);
h = 1;  
zx(1) = x(1);
zy(1) = y(1);
for k = 2:length(x)
    if abs(y(k)-zy(h))>= 0.002  
        h = h+1;
        zx(h) = x(k);
        zy(h) = y(k);
     end
end
zx(find(zx==0))=[];
zy(find(zy==0))=[];
NewArray=[zx,zy];
disp(NewArray);
subplot(2,2,2);
plot(zx,zy,zx,zy,'o');


时间(s)        电压(V)        步数        循环数
5.008124936        -6.0395E-05        1        1
10.0000227        0.000102462        1        1
10.00032039        0.499913335        2        1
30.01483456        0.500076175        2        1
50.02924361        0.500076175        2        1
70.04370895        0.499913335        2        1
90.05820166        0.500076175        2        1
110.0727354        0.500239015        2        1
130.0871305        0.499913335        2        1
150.1016011        0.499913335        2        1
170.1160851        0.499750465        2        1
190.1306742        0.500076175        2        1
210.1450497        0.500076175        2        1
230.1594895        0.500239015        2        1
250.1740121        0.499913335        2        1
270.1885256        0.500076175        2        1
290.2029319        0.500076175        2        1
310.0146066        0.500076175        2        1
310.0304182        5.000491142        3        1
330.0449087        5.000654221        3        1
350.0593917        5.000654221        3        1
370.0738571        5.000491142        3        1
390.0883398        5.000491142        3        1
410.1028344        5.000654221        3        1
430.1172752        5.000654221        3        1
450.13178        5.000654221        3        1
470.1462329        -0.49970841        4        1
490.1607997        -0.49987125        4        1
510.1751916        -0.49987125        4        1
530.1896607        -0.49987125        4        1
…        0.499913335        2        2
…        0.500076175        2        2
…        0.500076175        2        2
…        0.499913335        2        2
…        0.500076175        2        2
…        0.500239015        2        2
…        0.499913335        2        2
…        0.499913335        2        2
…        …        …        …
…        …        …        …
回复此楼

» 猜你喜欢

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

techolic

金虫 (小有名气)

不难,就是比较繁,我表示没有时间做
2楼2012-12-06 13:49:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btliu

金虫 (小有名气)

已解决
3楼2012-12-16 09:10:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 btliu 的主题更新
信息提示
请填处理意见