Report-2/characterization.m
2022-04-03 02:08:46 -07:00

45 lines
1.3 KiB
Matlab

clear all
rng(sum('anson'))
colormap cool
% volume,cx,cy,cz,Ix,Iy,Iz
scaled_data = readmatrix('C:\Coding\report-2\scaled_dataset.csv');
scaled_data = scaled_data(:,2:end);
[coeff,score,latent] = pca(scaled_data);
biplot(coeff(:,1:3),'scores',score(:,1:3),'varlabels',{'c_x','c_y','c_z','I_x','I_y','I_z'});
title("Center of Gravity Biplot")
xlabel("Center of Mass x")
ylabel("Center of Mass y")
zlabel("Center of Mass z")
biplot(coeff(:,4:6),'scores',score(:,4:6),'varlabels',{'c_x','c_y','c_z','I_x','I_y','I_z'});
title("Inertia Biplot")
xlabel("I_x")
ylabel("I_y")
zlabel("I_z")
data = readmatrix('C:\Coding\report-2\dataset.csv');
inertia = data(:,end-2:end);
inertia = rmoutliers(inertia, 'percentile', [0 99]); % remove single huge outlier
[IDX, C] = kmeans(inertia,3);
histcounts(IDX)
scatter3(inertia(:,1), inertia(:,2), inertia(:,3), [], IDX, 'filled')
inertia = inertia(IDX == 1,:);
[IDX, C] = kmeans(inertia,3);
histcounts(IDX)
scatter3(inertia(IDX == 1,1), inertia(IDX == 1,2), inertia(IDX == 1,3), 'filled')
hold on
for i = 2:max(IDX)
scatter3(inertia(IDX == i,1), inertia(IDX == i,2), inertia(IDX == i,3), 'filled')
end
legend("Cluster 1", "Cluster 2", "Cluster 3", "Cluster 4")
title("Satellite Parts Moments of Inertia (mm^4)")
xlabel("I_x")
ylabel("I_y")
zlabel("I_z")