Matlab 在二维向量场或三维空间中的二维向量之间插值
我的程序创建二维矢量图纸,在三维空间中为风数据建模。我想知道如何在这些二维图纸之间进行插值。X和Y值不会变化,因为它们对应于保持静态的横向/纵向值。向量的W分量设置为0,只留下向量的U/V分量在Z范围内进行插值,该Z范围对应于两个二维向量表之间的Z距离 我已经阅读了interp3,但我不确定它是否能与我正在尝试的工作配合。如果你能帮上忙,我将不胜感激,谢谢 注意:我删除了一个与我之前问过的问题类似的问题,因为我认为我的问题过于复杂,从而排除了其他人帮助回答这个问题的可能性Matlab 在二维向量场或三维空间中的二维向量之间插值,matlab,vector,interpolation,matlab-figure,linear-interpolation,Matlab,Vector,Interpolation,Matlab Figure,Linear Interpolation,我的程序创建二维矢量图纸,在三维空间中为风数据建模。我想知道如何在这些二维图纸之间进行插值。X和Y值不会变化,因为它们对应于保持静态的横向/纵向值。向量的W分量设置为0,只留下向量的U/V分量在Z范围内进行插值,该Z范围对应于两个二维向量表之间的Z距离 我已经阅读了interp3,但我不确定它是否能与我正在尝试的工作配合。如果你能帮上忙,我将不胜感激,谢谢 注意:我删除了一个与我之前问过的问题类似的问题,因为我认为我的问题过于复杂,从而排除了其他人帮助回答这个问题的可能性 谢谢你的帮助,如果我能
谢谢你的帮助,如果我能提供更多的信息,请告诉我 这是我的代码,可以在两张Z图纸之间对任意数量的不同桩号进行插值。我相信它可以重写,以便在interp1()函数中包含所有Z表。希望这能为你指明正确的方向
zLevels = 5; %number of interpolated points between z50 and z75
nStation = 100; %number of (lat,long) pairs to interpolate
for i = 1:nStation %for nStation different (lat, long) pairs generate interp. values
% generate zQuery points between z50 and z75 for each station
zQuery = ((1:zLevels)/zLevels)*range([z50mb_vec(i) z75mb_vec(i)]) + z75mb_vec(i);
% use interp1 to interpolate about the Z axis for U component
U(i,1:zLevels) = interp1([z50mb_vec(i) z75mb_vec(i)],[UwindVec50mb(i) UwindVec75mb(i)],zQuery);
% and for V component
V(i,1:zLevels) = interp1([z50mb_vec(i) z75mb_vec(i)],[VwindVec50mb(i) VwindVec75mb(i)],zQuery);
end
% defining some color codes for each zLevel, otherwise the plot is a mess
% of colors
colorcode = ['r' 'g' 'b' 'm' 'c' 'r' 'g' 'b' 'm' 'c' 'r'];
for j = 1:nStation
for i = 1:zLevels
quiver3(lat_value(j), long_value(j), zQuery(i), U(j,i), V(j,i), 0, colorcode(i));
hold on;
end
end
生成的绘图(z50数据为teal,z75为红色,否则为插值表):
您是否可以为正在打印的数据提供.mat文件以及用于生成/打印数据的代码?对于我之前的幼稚评论,我深表歉意。除了代码之外,我还可以创建一个.mat文件,我认为如果您注释掉read_grib和mex file unpack部分,您将能够完成所有操作,但是我不熟悉“.mat”文件,所以我不确定!让我知道**感谢您无意中教我有关“.mat”文件的内容:)通过Dropbox下载:从您发布的图像上看,插值的最终结果和绘图看起来像是一个箭头的波形墙,上面显示的彩色表格表示该波形墙的横截面,其值为Z?如果这是正确的,那么可能interp3不是您要寻找的函数,相反,interp2或interp1可能就足够了,因为您的lat和long值始终是固定的。然后,对于每个长/纬度坐标,您应该只在一维(Z)内插任意多个查询点(相当于添加的横截面)。我想这正是我要找的人。我必须努力克服它,但我觉得这太棒了。感谢您抽出时间来查看并提供帮助!非常非常感谢!!!只有一个问题Falimond,N值代表什么?应该是zLevels。我最初写的时候用的是N,但忘了替换它。