ERROR: Input data must be specified in column-vector format.
18 次查看(过去 30 天)
显示 更早的评论
I get the error 'Input data must be specified in column-vector format.' when trying to run the following code at the line of TriScatteredInterp. Does someone know how to solve this?
clear
clc
load '/work/uo0122/u253082/REF.mat'
weight = cos(REF_lat);
lat=linspace(1,180,84);
lon=linspace(1,360,180);
latrep = repmat(lat,180,1);
lonrep = repmat(lon,84,1);
lonrep = lonrep';
for yr = 1993%:2010;
yr
load(['/work/uo0122/u253082/Mat_Time/ssh_',num2str(yr),'.mat']);
ssh = ssh_int;
bad=find(isnan(ssh)==1);
ssh(bad)=[];
lon(bad)=[];
lat(bad)=[];
F1=TriScatteredInterp(lon,lat,ssh,'natural');
end
thanks, Michael
0 个评论
回答(1 个)
Sara
2014-6-11
On the line where you have the error, check the sizes of the arrays with the command
[nrow,ncol] = size(your_array)
Then, if a vector has nrow = 1 and ncol > 1, use
your_array'
3 个评论
Sara
2014-6-11
It means that the function is expecting arrays of coherent dimensions. Look into the function documentation to see what array is not coherent.
Note, this part will not work:
bad=find(isnan(ssh)==1);
ssh(bad)=[];
lon(bad)=[];
lat(bad)=[];
bad in an array of indexes in ssh, but lat and lon do not have the same dimension, so you can't do that.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Triangulation Representation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!