📄 writediffile.m
字号:
end
end
end
if isfield(DIF_struct, 'theta_all')
n_qa = length(DIF_struct.theta_all);
p = n_qa/4;
end
if isfield(DIF_struct, 'X_max_est_all')
fprintf( fw, '%s\n','*DIF_EST_MAX_ALL');
for i = 1:n_f
fprintf( fw, '%s\n ', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
for j = 1:n_qa
if j==1
fprintf( fw, '%s','Wind Dir A,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
elseif j==p+1
fprintf( fw, '%s','Wind Dir B,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
elseif j==2*p+1
fprintf( fw, '%s','Wind Dir C,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
elseif j==3*p+1
fprintf( fw, '%s','Wind Dir D,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
end
fprintf( fw, '%g,', DIF_struct.theta_all(j), DIF_struct.X_max_est_all(:,j,i));
fprintf( fw, '\n');
end
end
end
if isfield(DIF_struct, 'X_min_est_all')
fprintf( fw, '%s\n','*DIF_EST_MIN_ALL');
for i = 1:n_f
fprintf( fw, '%s\n', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
for j = 1:n_qa
if j==1
fprintf( fw, '%s','Wind Dir A,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
elseif j==p+1
fprintf( fw, '%s','Wind Dir B,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
elseif j==2*p+1
fprintf( fw, '%s','Wind Dir C,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
elseif j==3*p+1
fprintf( fw, '%s','Wind Dir D,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
end
fprintf( fw, '%g, ', DIF_struct.theta_all(j), DIF_struct.X_min_est_all(:,j,i));
fprintf( fw, '\n');
end
end
end
if isfield(DIF_struct, 'X_max_est_bnd')
fprintf( fw, '%s\n','*DIF_EST_MAX_BND');
for i = 1:n_f
fprintf( fw, '%s\n', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
for j = 1:n_m
fprintf( fw, '%s', ['Model ' num2str(j) ': ']);
fprintf( fw, '%s = %g' , 'W', d(j,1), '; L', d(j,2), '; H', d(j,3), '; R', d(j,4) );
fprintf( fw, '\n');
fprintf( fw, '%s','Wind Dir,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
for k = 1:n_q
ind = n_q*(j-1)+k;
fprintf( fw, '%g, ', DIF_struct.theta(k), DIF_struct.X_max_est_bnd(:,ind,i));
fprintf( fw, '\n');
end
end
end
end
if isfield(DIF_struct, 'X_min_est_bnd')
fprintf( fw, '%s\n','*DIF_EST_MIN_BND');
for i = 1:n_f
fprintf( fw, '%s\n', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
for j = 1:n_m
fprintf( fw, '%s', ['Model ' num2str(j) ': ']);
fprintf( fw, '%s = %g' , 'W', d(j,1), '; L', d(j,2), '; H', d(j,3), '; R', d(j,4) );
fprintf( fw, '\n');
fprintf( fw, '%s','Wind Dir,');
for k = 1:n_r, fprintf( fw, '%s,', ['Response ' num2str(k)]); end;
fprintf( fw, '\n');
for k = 1:n_q
ind = n_q*(j-1)+k;
fprintf( fw, '%g, ', DIF_struct.theta(k), DIF_struct.X_min_est_bnd(:,ind,i));
fprintf( fw, '\n');
end
end
end
end
% ================== L O A D D I S T R I B U T I O N S ==================
if isfield(DIF_struct, 'load_max')
n_a = size(DIF_struct.load_max,1);
fprintf( fw, '%s\n','*LOAD_DISTRIBUTION_MAX');
for i = 1:n_f
for j = 1:n_r
fprintf( fw, '%s', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
fprintf( fw, '%s\n', ['; Response ' num2str(j) ': ' DIF_struct.resp_names{j}]);
fprintf( fw, '%s,', 'Wind Dir','DIF_OBS_MAX');
for k = 1:n_a
fprintf( fw, '%s, ', ['Index ' num2str(k)]);
end
fprintf( fw, '\n');
for k = 1:n_q
fprintf( fw, '%g, ', DIF_struct.theta(k) );
fprintf( fw, '%g, ', DIF_struct.X_max_obs(j,k,i) );
fprintf( fw, '%g, ', DIF_struct.load_max(:,j,k,i) ); fprintf( fw, '\n');
end
end
end
end
if isfield(DIF_struct, 'load_min')
n_a = size(DIF_struct.load_min,1);
fprintf( fw, '%s\n','*LOAD_DISTRIBUTION_MIN');
for i = 1:n_f
for j = 1:n_r
fprintf( fw, '%s', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
fprintf( fw, '%s\n', ['; Response ' num2str(j) ': ' DIF_struct.resp_names{j}]);
fprintf( fw, '%s,','Wind Dir','DIF_OBS_MIN');
for k = 1:n_a
fprintf( fw, '%s, ', ['Index ' num2str(k)]);
end
fprintf( fw, '\n');
for k = 1:n_q
fprintf( fw, '%g, ', DIF_struct.theta(k) );
fprintf( fw, '%g, ', DIF_struct.X_min_obs(j,k,i) );
fprintf( fw, '%g, ', DIF_struct.load_min(:,j,k,i) ); fprintf( fw, '\n');
end
end
end
end
if isfield(DIF_struct, 'load_max_all')
n_a = size(DIF_struct.load_max_all,1);
fprintf( fw, '%s\n','*LOAD_DISTRIBUTION_MAX_ALL');
for i = 1:n_f
for j = 1:n_r
fprintf( fw, '%s', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
fprintf( fw, '%s\n', ['; Response ' num2str(j) ': ' DIF_struct.resp_names{j}]);
for k = 1:n_qa
if k==1
fprintf( fw, '%s,','Wind Dir A','DIF_OBS_MAX_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
elseif k==p+1
fprintf( fw, '%s,','Wind Dir B','DIF_OBS_MAX_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
elseif k==2*p+1
fprintf( fw, '%s,','Wind Dir C','DIF_OBS_MAX_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
elseif k==3*p+1
fprintf( fw, '%s,','Wind Dir D','DIF_OBS_MAX_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
end
fprintf( fw, '%g,', DIF_struct.theta_all(k) );
fprintf( fw, '%g,', DIF_struct.X_max_obs_all(j,k,i) );
fprintf( fw, '%g,', DIF_struct.load_max_all(:,j,k,i) ); fprintf( fw, '\n');
end
end
end
end
if isfield(DIF_struct, 'load_min_all')
n_a = size(DIF_struct.load_min_all,1);
fprintf( fw, '%s\n','*LOAD_DISTRIBUTION_MIN_ALL');
for i = 1:n_f
for j = 1:n_r
fprintf( fw, '%s', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
fprintf( fw, '%s\n', ['; Response ' num2str(j) ': ' DIF_struct.resp_names{j}]);
for k = 1:n_qa
if k==1
fprintf( fw, '%s,','Wind Dir A','DIF_OBS_MIN_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
elseif k==p+1
fprintf( fw, '%s,','Wind Dir B','DIF_OBS_MIN_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
elseif k==2*p+1
fprintf( fw, '%s,','Wind Dir C','DIF_OBS_MIN_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
elseif k==3*p+1
fprintf( fw, '%s,','Wind Dir D','DIF_OBS_MIN_ALL');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
end
fprintf( fw, '%g,', DIF_struct.theta_all(k) );
fprintf( fw, '%g,', DIF_struct.X_min_obs_all(j,k,i) );
fprintf( fw, '%g,', DIF_struct.load_min_all(:,j,k,i) ); fprintf( fw, '\n');
end
end
end
end
if isfield(DIF_struct, 'load_max_bnd')
n_a = size(DIF_struct.load_max_bnd,1);
fprintf( fw, '%s\n','*LOAD_DISTRIBUTION_MAX_BND');
for i = 1:n_f
for j = 1:n_r
fprintf( fw, '%s', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
fprintf( fw, '%s\n', ['; Response ' num2str(j) ': ' DIF_struct.resp_names{j}]);
for k = 1:n_m
fprintf( fw, '%s', ['Model ' num2str(k) ': ']);
fprintf( fw, '%s = %g' , 'W', d(k,1), '; L', d(k,2), '; H', d(k,3), '; R', d(k,4) );
fprintf( fw, '\n');
fprintf( fw, '%s,','Wind Dir','DIF_OBS_MAX_BND');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
for ii = 1:n_q
ind = n_q*(k-1)+ii;
fprintf( fw, '%g,', DIF_struct.theta(ii), DIF_struct.X_max_obs_bnd(j,ind,i));
fprintf( fw, '%g,', DIF_struct.load_max_bnd(:,j,ind,i) ); fprintf( fw, '\n');
end
end
end
end
end
if isfield(DIF_struct, 'load_min_bnd')
n_a = size(DIF_struct.load_min_bnd,1);
fprintf( fw, '%s\n','*LOAD_DISTRIBUTION_MIN_BND');
for i = 1:n_f
for j = 1:n_r
fprintf( fw, '%s', ['Frame ' num2str(i) ': y = ' num2str(DIF_struct.frame_coords(i,2)) ]);
fprintf( fw, '%s\n', ['; Response ' num2str(j) ': ' DIF_struct.resp_names{j}]);
for k = 1:n_m
fprintf( fw, '%s', ['Model ' num2str(k) ': ']);
fprintf( fw, '%s = %g' , 'W', d(k,1), '; L', d(k,2), '; H', d(k,3), '; R', d(k,4) );
fprintf( fw, '\n');
fprintf( fw, '%s,','Wind Dir','DIF_OBS_MIN_BND');
for ii = 1:n_a, fprintf( fw, '%s,', ['Index ' num2str(ii)]); end;
fprintf( fw, '\n');
for ii = 1:n_q
ind = n_q*(k-1)+ii;
fprintf( fw, '%g,', DIF_struct.theta(ii), DIF_struct.X_min_obs_bnd(j,ind,i));
fprintf( fw, '%g,', DIF_struct.load_min_bnd(:,j,ind,i) ); fprintf( fw, '\n');
end
end
end
end
end
status = fclose(fw);
if status==-1
errordlg('Unable to close specified file after writing.', err_dlgname);
status = -1;
return;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -