24小时热门版块排行榜    

查看: 981  |  回复: 7

遗忘过去2011

铜虫 (小有名气)

[求助] matlab作图请教 已有2人参与

如果我有一个以为数组X,X=[1,0,0,0,2,0,0,3......];j就是不等间隔内就有有数据,其他都是0,我该怎么绘图来不出现0,就是有数据的点就出现的图中,中间的0就不画出来,并且要看出我的间隔。
回复此楼
郁闷的时候去淋一场大雨
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

空中飞客

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
用个判断,先得到数组的大小,for循环,if判断
2楼2015-12-01 17:25:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yaohonghao

金虫 (小有名气)

3楼2015-12-01 17:41:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

遗忘过去2011

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 空中飞客 at 2015-12-01 17:25:12
用个判断,先得到数组的大小,for循环,if判断

数组大小已知,就是间隔十个0左右(不一定是10)有一个不为0的数,现在就是不画为0,只画出不为0的。
郁闷的时候去淋一场大雨
4楼2015-12-01 18:39:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

空中飞客

至尊木虫 (著名写手)

【答案】应助回帖

假设A =[1 0 0 2 0 0 0 5 0 6 0 0 0 0 8];
plot(A); %绘图A
[m n] = size(A);
k = 1;
for i = 1:n
    if A(i) ~= 0
        B(k) = A(i);
        k = k+1;
    end   
end
B   %A中不为零的数组成一个新的向量
figure(2)
plot(B)
5楼2015-12-01 19:08:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

遗忘过去2011

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by 空中飞客 at 2015-12-01 19:08:11
假设A =;
plot(A); %绘图A
= size(A);
k = 1;
for i = 1:n
    if A(i) ~= 0
        B(k) = A(i);
        k = k+1;
    end   
end
B   %A中不为零的数组成一个新的向量
figure(2)
plot(B)...

这样画等于把不为0 的重新装在一个数组里,看不出两个不为0的数之间的间隔。我试过。
郁闷的时候去淋一场大雨
6楼2015-12-02 11:33:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fxj126

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
遗忘过去2011: 金币+10, ★★★★★最佳答案 2015-12-09 17:08:26
循环找非零值时记录下位置比如a=[1 0 0 3 0 4 0 0 0 5];
得到a1=[1 3 4 5]
位置信息b1=[1 4 6 10]
然后做散点图
7楼2015-12-03 11:16:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

遗忘过去2011

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by fxj126 at 2015-12-03 11:16:36
循环找非零值时记录下位置比如a=;
得到a1=
位置信息b1=
然后做散点图

对的,location=find(a~=0);
plot(a(location));
郁闷的时候去淋一场大雨
8楼2015-12-09 17:03:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 遗忘过去2011 的主题更新
信息提示
请填处理意见