function ppp_ustar2h (Ustar,DT,name) ## usage: ppp_Ustar2h (Ustar[,name]) ## ## if nargin<2 DT = 1; endif if nargin<3 name = "Ustar"; endif [N,N_U] = size(Ustar); ## Open the file filename = sprintf("%s.h", name); fid = fopen(filename,"w"); ## Header header = sprintf("/*\n File %s generated by ppp_ustar2h on %s */\n", \ filename, ctime(time)); def = sprintf("#define N_U %i\n#define N_T %i\n#define DT %g\n", \ N_U, N, DT); def = sprintf("%sdouble U[N_U]={",def); for j=1:N_U if j<N_U comma = ","; else comma = ""; endif def = sprintf("%s0.0%s ",def, comma); endfor def = sprintf("%s};\n",def) fprintf(fid, "%s%sdouble %s[N_T][N_U] = {\n",header,def,name); for i=1:N fprintf(fid, "{"); for j=1:N_U if j<N_U comma = ","; else comma = ""; endif fprintf(fid, "%g%s ", Ustar(i,j),comma); endfor if i<N fprintf(fid, "},\n"); else fprintf(fid, "}\n"); endif endfor fprintf(fid, "};\n"); fclose(fid); endfunction