フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Need help with a while loop to take numbers off.

1 回表示 (過去 30 日間)
Nicolo Zaza
Nicolo Zaza 2012 年 7 月 21 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Alright so I have counting algorithm but i need it to extract elements from an original source and after extracting them and storing I need matlab to discard them so they dont get count again. How do i do this? My code: if true
DATA = [ 60 0 40 -20 40 -40 50 -30 30 -60 0 -30 40 -30 60];
L = length(DATA);
E = [1:L];
N = 1;
while N < L
N = N + 1;
if N < 3
continue
end
X(N) = [abs(DATA(N)-DATA(N-1))];
Y(N) = [abs(DATA(N-1)-DATA(N-2))];
if X < Y
continue
else
RANGE(N) = Y(N);
XMEAN(N) = [.5*(DATA(N-1)+DATA(N-2))]
DATA (N -2) = []
DATA (N-1) = []
N = N - 2
end
for I = N:L
L = L - 2
E(I) = E(I+1);
end
end
end
  1 件のコメント
Nicolo Zaza
Nicolo Zaza 2012 年 7 月 21 日
Sorry to not finish expressing my question. So what I'm using right now is if true
DATA(N-2) = []
&
DATA(N-1) = []
end
to delete the values used to calculate RANGE because once range is calculated I dont need to calculate it again for those same points. Is there a better matlab function/code to accomplish this need?

回答 (1 件)

Image Analyst
Image Analyst 2012 年 7 月 21 日
編集済み: Image Analyst 2012 年 7 月 21 日
Yes, that will delete elements but you're indexing elements and that will change, not to mention the length of your DATA array keeps getting shorter as you delete elements to eventually as N approaches L you'll get an index out of range error.
What are you really trying to do? Can't you just extract arrays and subtract them, and use diff? Or use hist if you want to count values?
data_n = DATA(3:end)
data_nm1 = DATA(2:end-1)
data_nm2 = DATA(1:end-2)
X = abs(data_n - data_nm1)
Y = abs(data_n - data_nm2)
RANGE = y
xMean = 0.5 * (data_nm1 - data_nm2)
% I have no idea what E is supposed to represent.
  3 件のコメント
Image Analyst
Image Analyst 2012 年 7 月 21 日
Nicolo Zaza
Nicolo Zaza 2012 年 7 月 21 日
Yes I've seen it but is written in C and is hard to manipulate for me. I dont have much programming knowledge. Besides the program I need is pretty simple compared to that

この質問は閉じられています。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by