MATLAB vector value location ID

  • MATLAB
  • Thread starter DoubleHubble
  • Start date
  • #1

Main Question or Discussion Point

HELP! MATLAB vector value location ID?

In MATLAB, say I have two vectors of the same length -- because one is dependent on the other. In my case the independent vector is t, time, and the dependent is p, pressure.

t = 0:500 with an arbitrary time step (finer than 0.2 seconds).

I would like to know the easiest way to extract the value of p at t = 300.2. Any ideas?
 
Last edited:

Answers and Replies

  • #2
422
1


In MATLAB, say I have two vectors of the same length -- because one is dependent on the other. In my case the independent vector is t, time, and the dependent is p, pressure.

t = 0:500 with an arbitrary time step (finer than 0.2 seconds).

I would like to know the easiest way to extract the value of p at t = 300.2. Any ideas?
Well, the problem can be restated as follows: you know the value of p at 501 evenly spaced points in time and you want to use this to infer a value for p at some intermediate point. You solve problems like this using an interpolation of some type. Matlab has a range of commands with which you can generate interpolations; since your problem is one-dimensional you'll probably want to use the interp1 command. Type the following and see where Matlab leads you.

Code:
doc interp1
 
  • #3
I understand your response, shoehorn, though it is not exactly what I am looking for. Basically I'm looking for the simplest way to arrive at the result of:

p = 1.1:0.1:10;
t = 16:1.5:150;

for i = 1:length(t)
if t(i) == 53.5
ival = i;
break
end
end

t(ival)
p(ival)
 
  • #4
166
0
p = 1.1:0.1:10;
t = 16:1.5:150;
p(t==53.5)
 
  • #5
AWESOME! Thanks.
 
  • #6
166
0
What do you mean by corresponds to? Since 5 is the 5th element of t, putting p(t==5, 2) gives 9 since that is the 5th element of the 2nd column. What would you like the output to be?
 
  • #7
Yea, I figured it out (which is why I removed my post). The example I had given above was different than what I was running on my machine. I discovered my "t" vector, for the simulation I was running on my computer, had machine epsilon in it. If I did p(t>5-eps & t<5+eps,2) it worked. Sorry for the confusion.
 

Related Threads for: MATLAB vector value location ID

Replies
0
Views
698
Replies
1
Views
572
Replies
1
Views
3K
Replies
8
Views
956
Replies
3
Views
2K
  • Last Post
Replies
2
Views
5K
Replies
1
Views
17K
Replies
3
Views
640
Top