- 积分
- 35
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-11-25
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 无极 于 2016-8-13 20:43 编辑
各位Matlab的大侠!
小弟自己先用Frotran处理的unformatted, direct数据,使用Matlab先前画了几张图,没有什么问题。先前的一段程序代码,维度(360*180*18)
clc;clear;
Path = 'E:/hyc_pic/exp01.4/';
name = 'msshtsduv_woa';
fid = fopen([Path,name,'.grd'],'r');
lon = linspace(0.5, 359.5, 360);
lat = linspace(-89.5, 89.5, 180);
level = [10, 20, 30, 50, 75, 100, 125, 150, 200, 250, 300, 400,...
500, 600, 700, 800, 900, 1000];
time = [1];
def = -1.0e+14;;
[tt,nx] = size(lon);
[tt,ny] = size(lat);
[tt,nz] = size(level);
[tt,nt] = size(time);
nl = 1;
nv = 6;0;
%temp = ones();
jump_distance = nx*ny*nl*nv*4;
fseek(fid,jump_distance,'bof');
data = fread(fid,nx*ny*nz,'real*4');
data(data == def) = NaN;
temp = reshape(data,nx,ny,nz);
但这次,增加了维数(1440*720*180),结果一直报错,
“错误使用 reshape
要执行 RESHAPE,请勿更改元素数目。
出错 hyc2bin_lat (line 24)
temp = reshape(data,nx,ny,nz);"
我查看了data的读取维度是11051008x1 double, 并不等于nx*ny*nz,而之前的那个data大小是等于nx*ny*nz,推测可能是matlab对于读取数据大小有限制?
但没办法解决此问题,还望各位Matlab高手帮忙指点小弟一二啊!
不知道有没有把问题描述清楚,非常期待各位大虾的教会! 跪求!!!
虾米
|
|