⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 writediffile.m

📁 低矮房屋风压系数、风荷载计算分析matlab程序
💻 M
📖 第 1 页 / 共 2 页
字号:
        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 + -