How to not draw some points of an interval( hmax and hmin )

I have this function but i have to finish it. I have to say to matlab to not draw the points of the graph between hmax and hmin Can someone help me???
h = max(y); hmax = (percT/100)*h; hmin = (percB)/100*h;
for i=1:size(y,1) if y(i)> hmax y(i) = hmax; else if y(i)< hmin y(i) = hmin;
else.....how i have to finish???
Many thanks in advance!!!

2 个评论

Dear Antonella, Can you share complete code because information about variables like "y", "percT", "percB" and also which value you want to plot?
percT is 60 an percB is 30. the variable y rapresents the high of the graph (the graph is about a hand-written word). So i have to remove the middle part of this graph(word) so every point between 30-60% of the total high. Hope this is clearer! Many thanks in advance!

请先登录,再进行评论。

回答(1 个)

You can use logical indexing to remove any values greater than and less than the desired bounds.
% Defining some arbitrary data
x = 0:0.05:2*pi;
y = sin(x);
% Defining some arbitrary bounds
hmax = 0.5;
hmin = -0.5;
y_bounded = y;
% Using logical indexing to replace all values > hmax with NaN
% When plotting, MATLAB ignores values that are defined as NaN
y_bounded(y_bounded > hmax) = NaN;
y_bounded(y_bounded < hmin) = NaN;
% Plot Results
plot(x,y,x,y_bounded,'o');
grid on;
legend('Orignal Data','Bounded Data');
Hope this helps!

1 个评论

thanks really much for the answer! I'll try and check if it's work! Anyway i have to use if, else if ecc...how i can translate what you wrote me in this way? is there the possibility to do this or not? Really many thanks ;)

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

提问:

2013-10-11

评论:

2013-10-15

Community Treasure Hunt

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

Start Hunting!

Translated by