Ignore elements in an array.
6 views (last 30 days)
Show older comments
Hi. I am to plot Value vs. Time using the following data from a databasefile which I haven't included. But the output looks like the following:
Value =
0.4100
0.2500
0.3340
0
0.5500
0.6250
0.7500
0.3330
0
Time =
1.0e+003 *
3.4018
3.4431
3.4507
3.4563
3.4585
3.4684
3.4793
3.4819
3.5181
Value = []; % create a 0-by-0 matrix
Time = [];
for i = 1:k
ValueID = ValueList(i,n);
if ValueID > 0 % some Value id's are negative or zero - these are irrelevant
index = find(ismember(cell2mat(Table1(:,1)),ValueID)==1); % locates the index
Output = Table{index,2};
ValueList(i,5) = Output; % Takes values from 5th column in databasefile
ValueList(i,6) = 39.3700787*gwdWt; % convert from metres to inches and takes values from sixth row in databasefile
%else
end
Value = [Value;ValueList(i,6)] % structures value as a row.
Time = [Time; ValueList(i,2)]
end
So what I am asking is, how do I ignore the following
0 and 3.4563,
also
0 and 3.5181?
Is that clear?
0 Comments
Accepted Answer
Matt Kindig
on 16 Oct 2012
Are Value and Time the same size? If so, you can just do this, using logical indexing (no loops):
deleteThese = (Value <= 0);
ValuesWithDeletions = Value(~deleteThese);
TimeWithDeletions = Time(~deleteThese);
5 Comments
Matt Kindig
on 16 Oct 2012
What is a "discrete" plot vs. a "continuous" plot, in this context? Do you just mean a plot with connected points (i.e. lines), as opposed to just markers? If so, you can easily turn off the line to display only the "discrete" points. Do something like this:
plot(Time, Value, 'b.')
More Answers (0)
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!