matlab数据处理代码示例

correct_V_T_Q.m

clearvars; clc; % correct_V_T_Q.m

rawdata_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\processed\sublab02-openwater';
rawdata_name = '\zero_point.mat';
rawdata_name = [rawdata_path, rawdata_name];
load(rawdata_name);

rawdata_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\raw_data\sublab02-openwater-raw\mat_format';
rawdata_name = '\mat_V_T_Q.mat';
rawdata_name = [rawdata_path, rawdata_name];
load(rawdata_name);

target_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\processed\sublab02-openwater';
target_name = '\crt_TVQ.mat';
target_name = [target_path, target_name];

mat_V_T_Q_0(:,2) = mat_V_T_Q_0(:,2) * Slope_K_T * g - T_0 + hat_resist;
mat_V_T_Q_0(:,3) = mat_V_T_Q_0(:,3) * Slope_K_Q * g / 100 - Q_0 - axis_friction;

mat_V_T_Q_1(:,2) = mat_V_T_Q_1(:,2) * Slope_K_T * g - T_0 + hat_resist;
mat_V_T_Q_1(:,3) = mat_V_T_Q_1(:,3) * Slope_K_Q * g / 100 - Q_0 - axis_friction;

mat_V_T_Q_2(:,2) = mat_V_T_Q_2(:,2) * Slope_K_T * g - T_0 + hat_resist;
mat_V_T_Q_2(:,3) = mat_V_T_Q_2(:,3) * Slope_K_Q * g / 100 - Q_0 - axis_friction;

mat_V_T_Q_3(:,2) = mat_V_T_Q_3(:,2) * Slope_K_T * g - T_0 + hat_resist;
mat_V_T_Q_3(:,3) = mat_V_T_Q_3(:,3) * Slope_K_Q * g / 100 - Q_0 - axis_friction;

mat_V_T_Q_4(:,2) = mat_V_T_Q_4(:,2) * Slope_K_T * g - T_0 + hat_resist;
mat_V_T_Q_4(:,3) = mat_V_T_Q_4(:,3) * Slope_K_Q * g / 100 - Q_0 - axis_friction;

save(target_name, 'mat_V_T_Q_0', 'mat_V_T_Q_1', 'mat_V_T_Q_2', 'mat_V_T_Q_3', 'mat_V_T_Q_4');

get_JKTQn0.m

clearvars; clc; % get_JKTQn0.m

rawdata_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\processed\sublab02-openwater';
rawdata_name = '\mean_VTQ.mat';
rawdata_name = [rawdata_path, rawdata_name];
load(rawdata_name);

target_path = rawdata_path ;
target_name = '\mean_JKTQn.mat';
target_name = [target_path, target_name];

n = 15; D = 0.19; rho_m = 999.33;
J = mean_VTQ_mat(:,1) .* ( 1 / (n*D) );
K_T = mean_VTQ_mat(:,2) .* ( 1 / (rho_m * n^2 * D^4) );
K_Q = mean_VTQ_mat(:,3) .* ( 1 / (rho_m * n^2 * D^5) );
ten_K_Q = K_Q .* 10;
eta_0 = zeros(size(J, 1), 1);
for i = 1 : size(J, 1)
    eta_0(i,1) = (K_T(i,1) / K_Q(i,1)) * ( J(i,1) / (2*pi) );
end

mean_JKTQn = [J, K_T, ten_K_Q, eta_0];
save(target_name, 'mean_JKTQn');

get_raw_data_openwater.m

clearvars; clc; % get_raw_data_openwater.m

working_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\raw_data\sublab02-openwater-raw';
rawdata_path = '\xls_format';
rawdata_path = [working_path, rawdata_path];
target_path = '\mat_format';
target_path = [working_path, target_path];

rawdata_name = '\openwater_raw.xlsx';
rawdata_name = [rawdata_path, rawdata_name];
openwater_raw = importdata(rawdata_name);

mat_V_T_Q_0 = openwater_raw.data.x0(:,2:4);
mat_V_T_Q_0 = mat_V_T_Q_0( 9:size(mat_V_T_Q_0,1) , :);

mat_V_T_Q_1 = openwater_raw.data.x1(:,2:4);
mat_V_T_Q_1 = mat_V_T_Q_1( 8:size(mat_V_T_Q_1,1) , :);

mat_V_T_Q_2 = openwater_raw.data.x2(:,2:4);
mat_V_T_Q_2 = mat_V_T_Q_2( 8:size(mat_V_T_Q_2,1) , :);

mat_V_T_Q_3 = openwater_raw.data.x3(:,2:4);
mat_V_T_Q_3 = mat_V_T_Q_3( 8:size(mat_V_T_Q_3,1) , :);

mat_V_T_Q_4 = openwater_raw.data.x4(:,2:4);
mat_V_T_Q_4 = mat_V_T_Q_4( 8:size(mat_V_T_Q_4,1) , :);

target_name = '\mat_V_T_Q.mat';
target_name = [target_path, target_name];
save(target_name, 'mat_V_T_Q_0', 'mat_V_T_Q_1', 'mat_V_T_Q_2', 'mat_V_T_Q_3', 'mat_V_T_Q_4');

get_zero_point.m

clearvars; clc; % get_zero_point.m

working_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\raw_data\sublab02-openwater-raw';
rawdata_path = '\xls_format';
rawdata_path = [working_path, rawdata_path];
target_path = '\mat_format';
target_path = [working_path, target_path];

rawdata_name = '\openwater_raw.xlsx';
rawdata_name = [rawdata_path, rawdata_name];
zero_point = importdata(rawdata_name);
zero_point = zero_point.data.Zero ;
Slope_K_T = zero_point(1,2);
Slope_K_Q = zero_point(2,2);
zero_point = zero_point( 9 : size(zero_point, 1) , : );
zero_point = zero_point(:,[3,4]);
sample_rate = 50;

target_name = '\zero_point.mat';
target_name = [target_path, target_name];
save(target_name, 'zero_point', 'Slope_K_T', 'Slope_K_Q', 'sample_rate');

mean_VTQ.m

clearvars; clc; % mean_VTQ.m

rawdata_path = 'D:\SJTU_junior_2nd_total\NA350-1_Principles_of_Naval_Architecture_Lab_(II-Resistance_and_Propulsion)\homework\speedability_rpt\data\processed\sublab02-openwater';
rawdata_name = '\crt_TVQ.mat';
rawdata_name = [rawdata_path, rawdata_name];
load(rawdata_name);

target_path = rawdata_path ;
target_name = '\mean_VTQ.mat';
target_name = [target_path, target_name];

select_0 = [22.86, 52.76] ;
select_1 = [30.34, 50.06; 59.24, 75.6; 85.72, 99.86; 114.18, 126.32; 138, 150.28; 164.26, 176.36; 189.34, 205.6; 217.3, 231.96] ;
select_2 = [40.02, 56.64; 62.36, 72.08; 84.56, 99.94] ;
select_3 = [27.98 42.92; 52.54, 67.78] ;
select_4 = [26.78, 41.92; 52.42, 65.1] ;
sample_rate = 50;

select_0 = select_0 .* sample_rate; % editable
mean_VTQ_0 = zeros(size(select_0,1), 3); % editable
for i = 1 : size(select_0,1) % editable
    mean_VTQ_0(i,:) = mean(mat_V_T_Q_0(select_0(i,1):select_0(i,2),:)); % editable
end % editable 9 in total

select_1 = round(select_1 .* sample_rate); % editable
mean_VTQ_1 = zeros(size(select_1,1), 3); % editable
for i = 1 : size(select_1,1) % editable
    mean_VTQ_1(i,:) = mean(mat_V_T_Q_1(select_1(i,1):select_1(i,2),:)); % editable
end % editable 9 in total

select_2 = round(select_2 .* sample_rate); % editable
mean_VTQ_2 = zeros(size(select_2,1), 3); % editable
for i = 1 : size(select_2,1) % editable
    mean_VTQ_2(i,:) = mean(mat_V_T_Q_2(select_2(i,1):select_2(i,2),:)); % editable
end % editable 9 in total

select_3 = round(select_3 .* sample_rate); % editable
mean_VTQ_3 = zeros(size(select_3,1), 3); % editable
for i = 1 : size(select_3,1) % editable
    mean_VTQ_3(i,:) = mean(mat_V_T_Q_3(select_3(i,1):select_3(i,2),:)); % editable
end % editable 9 in total

select_4 = round(select_4 .* sample_rate); % editable
mean_VTQ_4 = zeros(size(select_4,1), 3); % editable
for i = 1 : size(select_4,1) % editable
    mean_VTQ_4(i,:) = mean(mat_V_T_Q_4(select_4(i,1):select_4(i,2),:)); % editable
end % editable 9 in total

mean_VTQ_mat = [mean_VTQ_0; mean_VTQ_1; mean_VTQ_2; mean_VTQ_3; mean_VTQ_4];

save(target_name, 'mean_VTQ_mat');

Guess you like

Origin blog.csdn.net/joshua_shi_t/article/details/121273497