clear all
clc

num_of_runs = 10;

% Querschnitt des Körpers 
G1=imread('2019-05-20_Querschnitt_LTR_G45_MATLAB.png','png');   % Einlesen der Grafik 
image (G1); axis image;  % Grafik ausgeben, Grafik entzerren
axis off  % Koordinatenachsen ausblenden

%Formeln Flächenträgheitsmomente
syms I_y_Rechteck(b,h)
I_y_Rechteck(b,h) = (b*h^3)/12;
syms I_z_Rechteck(b,h)
I_z_Rechteck(b,h) = (h*b^3)/12;
%Formel Fläche
syms A_Rechteck(b,h)
A_Rechteck(b,h) = b*h;

%Fixe Werte
b1 = 55;
b2 = 55;
b3 = 55;
h4 = 36.4;
h5 = 36.4;
h6 = 36.4;
h7 = 38.1;
h8 = 38.1;
h9 = 38;
for k = 1:num_of_runs

%Generierung Wandstärken
%str = 'Generierte Wandstärken innerhalb der Toleranzen';
%fprintf(str);


h1 = randi([540,660],1,1)/100; %6 (Nominalwert)
h2 = randi([540,660],1,1)/100; %6
h3 = randi([570,720],1,1)/100; %6.5
b4 = randi([540,660],1,1)/100; %6
b5 = randi([540,660],1,1)/100; %6
b6 = randi([540,660],1,1)/100; %6
b7 = randi([540,660],1,1)/100; %6
b8 = randi([540,660],1,1)/100; %6
b9 = randi([540,660],1,1)/100; %6

% Berechnung Flächenträgheitsmomente
I_y_1 = I_y_Rechteck(b1,h1);
I_y_2 = I_y_Rechteck(b2,h2);
I_y_3 = I_y_Rechteck(b3,h3);
I_y_4 = I_y_Rechteck(b4,h4);
I_y_5 = I_y_Rechteck(b5,h5);
I_y_6 = I_y_Rechteck(b6,h6);
I_y_7 = I_y_Rechteck(b7,h7);
I_y_8 = I_y_Rechteck(b8,h8);
I_y_9 = I_y_Rechteck(b9,h9);
%als Vektor
I_y = [I_y_1;I_y_2;I_y_3;I_y_4;I_y_5;I_y_6;I_y_7;I_y_8;I_y_9];
I_y_sum = sum(I_y(:));

I_z_1 = I_z_Rechteck(b1,h1);
I_z_2 = I_z_Rechteck(b2,h2);
I_z_3 = I_z_Rechteck(b3,h3);
I_z_4 = I_z_Rechteck(b4,h4);
I_z_5 = I_z_Rechteck(b5,h5);
I_z_6 = I_z_Rechteck(b6,h6);
I_z_7 = I_z_Rechteck(b7,h7);
I_z_8 = I_z_Rechteck(b8,h8);
I_z_9 = I_z_Rechteck(b9,h9);
%als Vektor
I_z = [I_z_1;I_z_2;I_z_3;I_z_4;I_z_5;I_z_6;I_z_7;I_z_8;I_z_9];
I_z_sum = sum(I_z(:));

%Berechnung Flächen
A_1 = A_Rechteck(b1,h1);
A_2 = A_Rechteck(b2,h2);
A_3 = A_Rechteck(b3,h3);
A_4 = A_Rechteck(b4,h4);
A_5 = A_Rechteck(b5,h5);
A_6 = A_Rechteck(b6,h6);
A_7 = A_Rechteck(b7,h7);
A_8 = A_Rechteck(b8,h8);
A_9 = A_Rechteck(b9,h9);
A = [A_1;A_2;A_3;A_4;A_5;A_6;A_7;A_8;A_9];
A_gesamt = sum(A(:));


%Berechnung Schwerpunkte
y_s_1 = b1/2;
y_s_2 = b2/2;
y_s_3 = b3/2;
y_s_4 = b1 - b4/2;
y_s_5 = b1/2;
y_s_6 = b6/2;
y_s_7 = b1 - b7/2;
y_s_8 = b1/2;
y_s_9 = b9/2;
%als Vektor
y_s = [y_s_1;y_s_2;y_s_3;y_s_4;y_s_5;y_s_6;y_s_7;y_s_8;y_s_9];

z_s_1 = h1/2;
z_s_2 = h1 + h4 + h2/2;
z_s_3 = h1 + h2 + h4 + h7 + h3/2;
z_s_4 = h1 + h4/2;
z_s_5 = h1 + h5/2;
z_s_6 = h1 + h6/2;
z_s_7 = h1 + h2 + h4 + h7/2;
z_s_8 = h1 + h2 + h4 + h8/2;
z_s_9 = h1 + h2 + h4 + h9/2;
%als Vektor
z_s = [z_s_1;z_s_2;z_s_3;z_s_4;z_s_5;z_s_6;z_s_7;z_s_8;z_s_9];

%Gesamtschwerpunkte
y_s_gesamt = (A_1*y_s_1 + A_2*y_s_2 + A_3*y_s_3 + A_4*y_s_4 + A_5*y_s_5 + A_6*y_s_6 + A_7*y_s_7 + A_8*y_s_8 + A_9*y_s_9)/A_gesamt;
z_s_gesamt = (A_1*z_s_1 + A_2*z_s_2 + A_3*z_s_3 + A_4*z_s_4 + A_5*z_s_5 + A_6*z_s_6 + A_7*z_s_7 + A_8*z_s_8 + A_9*z_s_9)/A_gesamt;

%Ausgabe
formatSpec1 = 'Schwerpunktspostion:\n ys = %4.2f\n ';
formatSpec2 = 'zs = %4.2f\n';
fprintf(formatSpec1,y_s_gesamt);
fprintf(formatSpec2,z_s_gesamt);

%Steiner-Anteile
I_y_Steiner_1 = (-z_s_gesamt + z_s_1)^2*A_1;
I_y_Steiner_2 = (-z_s_gesamt + z_s_2)^2*A_2;
I_y_Steiner_3 = (-z_s_gesamt + z_s_3)^2*A_3;
I_y_Steiner_4 = (-z_s_gesamt + z_s_4)^2*A_4;
I_y_Steiner_5 = (-z_s_gesamt + z_s_5)^2*A_5;
I_y_Steiner_6 = (-z_s_gesamt + z_s_6)^2*A_6;
I_y_Steiner_7 = (-z_s_gesamt + z_s_7)^2*A_7;
I_y_Steiner_8 = (-z_s_gesamt + z_s_8)^2*A_8;
I_y_Steiner_9 = (-z_s_gesamt + z_s_9)^2*A_9;
I_y_Steiner = [I_y_Steiner_1;I_y_Steiner_2;I_y_Steiner_3;I_y_Steiner_4;I_y_Steiner_5;I_y_Steiner_6;I_y_Steiner_7;I_y_Steiner_8;I_y_Steiner_9];
I_y_Steiner_sum = sum(I_y_Steiner(:));

I_z_Steiner_1 = (-y_s_gesamt + y_s_1)^2*A_1;
I_z_Steiner_2 = (-y_s_gesamt + y_s_2)^2*A_2;
I_z_Steiner_3 = (-y_s_gesamt + y_s_3)^2*A_3;
I_z_Steiner_4 = (-y_s_gesamt + y_s_4)^2*A_4;
I_z_Steiner_5 = (-y_s_gesamt + y_s_5)^2*A_5;
I_z_Steiner_6 = (-y_s_gesamt + y_s_6)^2*A_6;
I_z_Steiner_7 = (-y_s_gesamt + y_s_7)^2*A_7;
I_z_Steiner_8 = (-y_s_gesamt + y_s_8)^2*A_8;
I_z_Steiner_9 = (-y_s_gesamt + y_s_9)^2*A_9;
I_z_Steiner = [I_z_Steiner_1;I_z_Steiner_2;I_z_Steiner_3;I_z_Steiner_4;I_z_Steiner_5;I_z_Steiner_6;I_z_Steiner_7;I_z_Steiner_8;I_z_Steiner_9];
I_z_Steiner_sum = sum(I_z_Steiner(:));

I_y_gesamt = I_y_sum + I_y_Steiner_sum;
I_z_gesamt = I_z_sum + I_z_Steiner_sum;

%Ausgabe
formatSpec2 = 'Flächenträgheitsmomente:\n Iy = %4.2f mm^4\n Iz = %4.2f mm^4\n';
fprintf(formatSpec2,I_y_gesamt,I_z_gesamt);
A = [h1;h2;h3;b4;b5;b6;b7;b8;b9;I_y_gesamt;I_z_gesamt];
%Daten abspeichern
%filename = 'MCSFTMdata.mat';
%save(filename,'h1','h2','h3','b4','b5','b6','b7','b8','b9','I_y_gesamt','I_z_gesamt')
fileID = fopen('FTMcalc.txt','w');
fprintf(fileID,'%4s %4s %4s %4s %4s %4s %4s %4s %4s %12s %12s\r\n','h1','h2','h3','b4','b5','b6','b7','b8','b9','I_y_gesamt','I_z_gesamt');
fprintf(fileID,'%4.2f %4.2f %4.2f %4.2f %4.2f %4.2f %4.2f %4.2f %4.2f %12.2f %12.2f\r\n',A);
fclose(fileID);

end
