1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| function [X,Y,Z,A]=OpenFunwaveBinEtaxyWdepth(fnamedepth,fname,mx,ny,d*x,dy)
%[X,Y,Z,A]=OpenFunwaveBin(fnamedepth,fname,mx,ny,dx,dy)
% fname: eta(x,y) file name
% fnamedepth: depth file name
% mx and ny: number of nodes for x and y directions resp.
% dx and dy: grid size in meters for x and y directions, resp.
%prints the eta(x,y) profile with surfc and, in another window, the contour of the eta(x,y) profile.
figure(1);
fid=fopen(fname);
A=fread(fid,[1,mx*ny],'float32=>double')';
k=max(A);
k=3*k;
for i=1:1:mx,
X(i)=i*dx;
for j=1:1:ny,
Z(i,j)=A((i-1)*ny+j,1);
end
end
fid2=fopen(fnamedepth);
Ad=fread(fid2,[1,mx*ny],'float32=>double')';
for i=1:1:mx,
for j=1:1:ny,
Zd(i,j)=Ad((i-1)*ny+j,1);
end
end
Y=[1:1:ny]*dy
surf(X,Y,Z',Z'); %petite surface
hold on;
surf(X,Y,-Zd'); %grande surface
zlim([-k k]);
ylabel('y from 0 to ny*dy');
xlabel('x from 1 to mx*dx');
zlabel('z');
title(fname);
view(-360,0);:cry:
hold off;
return |
Partager