How to find a value from column 1 for given column 2 and 3 values.

2 次查看(过去 30 天)
Hi there, new to Matlab and have a small task which I need help with.
I have three columns, first shows velocity, second shows x-coordinates and third shows y-coordinates. I want to be able to find the velocities for given x,y coordinates. I have about 36,000 values for each so basically need an efficient way to do this. Thanks in advance.
  3 个评论
Yahya Khan
Yahya Khan 2018-9-1
I need to be able to create a control volume, so basically a square that has velocity for each point along the boundary. The csv file has u-velocity, v-velocity, x-coordinate, y-coordinate and z-coordinate. I can basically ignore the z-coordinates and work with u an v velocities separately.

请先登录,再进行评论。

回答(2 个)

Matt J
Matt J 2018-9-1
Use griddedInterpolant
F=griddedInteprolant({x,y},velocity);
  2 个评论
Yahya Khan
Yahya Khan 2018-9-2
I've tried using griddedinterpolation but keep on getting errors such as 'grid vectors must be strictly monotonically increasing' What format do I need to have the data in? Also is it possible to create a matrix of velocity from the x,y coordinates as that would make it the most useful to work with?
Matt J
Matt J 2018-9-2
编辑:Matt J 2018-9-2
There are several options for that which are explained in the griddedInterpolant documentation, but in this example, I intended x and y to be grid vectors.
Yes, you should give the velocity data to griddedInterpolant in matrix form, using reshape() appropriatately. If the velocity data is not sampled from a regular grid, you should probably be using scatteredInterpolant() instead.

请先登录,再进行评论。


ahmed nebli
ahmed nebli 2018-9-1
编辑:ahmed nebli 2018-9-1
u can use a code like this
% A is you matrix for i=1:size(A,1) y(i)=A(i,1); %the volocity for each x , y end

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by