24小时热门版块排行榜    

查看: 445  |  回复: 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。一直继续下去,存在二维数组中,最后画图对比。因刚开始学,结果很难实现,不知问题出在何处,请高手指导或帮忙编个程序。谢谢!

x=data(:,1);
y=data(:,2);
z=[];
h=1;
p(1,2)=data(1,2);
for k=2:length(x);
if abs(data(k,2)-p(h,2)) >0.002;
z=[x(k),y(k)];
h=h+1;
p(h,2)=data(k,2);
end;
end;
回复此楼

» 猜你喜欢

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

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

飞龙在天3002

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
帮楼主顶一个,这个很有意思!
2楼2012-12-01 10:03:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csl_2012

捐助贵宾 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
btliu: 金币+10, ★★★很有帮助, 非常感谢!zx,zy中的h个数后面的是否都是零还是空?如用length功能检查一下数据减少情况,不知如何使用?如比较研究数据的变化情况,如何用disp同时显示zx(k)和zy(k)?我现在只能单独显示zx或zy。谢谢! 2012-12-01 14:03:40
你试试这样:
x = data(:,1);
y = data(:,2);
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,zy中的前h个。
3楼2012-12-01 11:07:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 btliu 的主题更新
信息提示
请填处理意见