我有一些包含0 0行的大数据数组 我想在没有他们的情况下打印我的情节,怎么样? 阵列看起来像 (它的部分或(100000:2:2:N)数组只能这些行) A(:,:,1,5):
12 60
12.1 80
12.2 75
0 0
0 0
0 0
THX
ps现在我用情节绘图(A(:,1,1,5),A(:,2,1,5));我如何将它们绘制成具有不同长度对的散射(点)
很多答案 0 :(得分:1)
怎么样:
zero_ind = any(A(:,:,1,5), 2); %// You might need to call squeeze here depending on the dimensions
plot(A(zero_ind,1,1,5),A(zero_ind,2,1,5));
答案 1 :(得分:1)
plot()
将忽略NaN
的任何输入,因此假设数字中的“0”不是有效值,请将所有零替换为NaN
。
例如,以下代码仅显示10个点中的7个:
>> x = 10*rand(1,10);
>> y = 10*rand(1,10);
>> x([1,5,6])= 0;
>> x(x == 0) = NaN;
>> y(y == 0) = NaN;
>> plot(x,y,'.');
答案 2 :(得分:0)
我假设您只想删除两个列等于0
的行。你能做的是以下几点:
A(sum(A==0,2)==2,:)=NaN;
解释:它创建一个逻辑数组,其中A
的任何元素都等于0
。然后它沿着列总和。如果两列都等于0
,则总和将为2.然后将NaN
替换为plot
函数将忽略的所有内容。
然后绘制:
plot(A(:,1), A(:,2))