diff --git a/Matlab-Programs/Minimization.mlx b/Matlab-Programs/Minimization.mlx index fb34302835e4d5fab28169584d9c21019831aa2a..6daaaa4f0d06f5d9be4dc074b7fd8ceef50b66b3 100644 Binary files a/Matlab-Programs/Minimization.mlx and b/Matlab-Programs/Minimization.mlx differ diff --git a/Matlab-Programs/PhaseDiagrams.mlx b/Matlab-Programs/PhaseDiagrams.mlx index b6be499f3d47758b927a9332f260786ae29c5d2e..edf76870c5bc645adda5f4d551f1975ef0d1d998 100644 Binary files a/Matlab-Programs/PhaseDiagrams.mlx and b/Matlab-Programs/PhaseDiagrams.mlx differ diff --git a/Matlab-Programs/TestCompute.m b/Matlab-Programs/TestCompute.m index 906e351a4962b9fdbd57c47264b872c6efb55d8b..befdd4b565abd4ace3e5e0d24febe8f96d0747be 100644 --- a/Matlab-Programs/TestCompute.m +++ b/Matlab-Programs/TestCompute.m @@ -1,21 +1,37 @@ -mu_1 = 1; +mu_1 = 10; rho_1 = 1; -theta = 0.5; -alpha = -0.5; -beta = 0.5; +theta = 0.05; +% alpha = -0.5; +% alpha = 0.5; +% alpha = 1; +alpha = 18; +beta = 0.5; %egal welcher Wert Beta ... alha = 1 & Theta = 0.5 -> type 2 ? +beta = 2; +% Interessant: +alpha = 10; +% alpha = 18; +theta = 0.05; + +% unabhänhig von beta? +beta = 2; + % Compute components of B_eff -b1 = (mu_1*rho_1/4).*(beta./(theta+(1-theta).*beta)).*(1-theta.*(1+alpha)); -b2 = mu_1.*(rho_1/8).*(1-theta.*(1+beta.*alpha)); +% b1 = (mu_1*rho_1/4).*(beta./(theta+(1-theta).*beta)).*(1-theta.*(1+alpha)); +% b2 = mu_1.*(rho_1/8).*(1-theta.*(1+beta.*alpha)); + +%TEST (new) +b1 = (3*rho_1/2).*beta.*(1-theta.*(1+alpha)); +b2 = (3*rho_1/(4*((1-theta)+theta.*beta))).*(1-theta.*(1+beta.*alpha)); -mu_h = @(b,t) mu_1.*(b./(t+(1-t).*b)); % harmonic mean -mu_bar = @(b,t) mu_1.*((1-t)+t.*b); % mu_bar +mu_h = @(beta,theta) mu_1.*(beta./(theta+(1-theta).*beta)); % harmonic mean +mu_bar = @(b,t) mu_1.*((1-theta)+theta.*beta); % mu_bar @@ -36,4 +52,8 @@ fprintf('q1*b1^2:') q1*b1^2 fprintf('q2*b2^2:') -q2*b2^2 \ No newline at end of file +q2*b2^2 + + +fprintf('Test') +(9/4)*(beta/(1+beta))*((1/2)-alpha+(1/2)*alpha^2) \ No newline at end of file diff --git a/Matlab-Programs/classifyMIN.m b/Matlab-Programs/classifyMIN.m index 6a2e9bde9d2e5b84834d326c7cf8a2dc65978331..5ec2594fa8ef98c0db1ba4e9ec5b10a20f7d53c4 100755 --- a/Matlab-Programs/classifyMIN.m +++ b/Matlab-Programs/classifyMIN.m @@ -1,5 +1,5 @@ -function [A, angle, type] = classifyMIN (mu_1,rho_1,a,b,t,set_mu_gamma,print_output) +function [A, angle, type, kappa] = classifyMIN (mu_1,rho_1,a,b,t,set_mu_gamma,print_output) % returns % A : Matrix of basis coefficients [a1,a2,a3] @@ -42,6 +42,9 @@ q3 = mu_gamma(b,t); b1 = (mu_1*rho_1/4).*(b./(t+(1-t).*b)).*(1-t.*(1+a)); b2 = mu_1.*(rho_1/8).*(1-t.*(1+b.*a)); +%TEST (new) +b1 = (3*rho_1/2).*b.*(1-t.*(1+a)); +b2 = (3*rho_1./(4.*((1-t)+t.*b))).*(1-t.*(1+b.*a)); % H = [q1 q3; q3 q2]; @@ -49,6 +52,7 @@ b2 = mu_1.*(rho_1/8).*(1-t.*(1+b.*a)); % fprintf('condition number of Matrix H: %d \n', cond(H)); +CaseCount = 0; %check if more than one case ever happens epsilon = 1.e-18; @@ -83,6 +87,7 @@ if (q1*q2-q3^2 > epsilon) a1 = a1_star; a2 = a2_star; type = 3; + CaseCount = CaseCount + 1; end % Make distinction between boundary & outside (prod < 0 ) if(abs(prod) < epsilon) % (E2) on boundary of Lambda @@ -98,17 +103,20 @@ if (q1*q2-q3^2 > epsilon) a1 = b1; a2 = 0*b1; type = 1; % Minimizer aligned with x1-axis + CaseCount = CaseCount + 1; end if (q2*b2^2 > q1*b1^2)% global Minimizer given by (0,b2) a1 = 0*b1; a2 = b2; type = 2; % Minimizer aligned with x2-axis + CaseCount = CaseCount + 1; end if abs(q1*b1^2-q2*b2^2) < epsilon * min(q2*b2^2,q1*b1^2) % q1b1^2 = q2b2^2 % two Minimizers ..pick one a1 = b1; a2 = 0*b1; type = 4; + CaseCount = CaseCount + 1; end end if((prod) < -1*epsilon) %Outside of Lambda @@ -117,11 +125,13 @@ if (q1*q2-q3^2 > epsilon) a1 = b1; a2 = 0*b1; type = 1; % Minimizer aligned with x1-axis + CaseCount = CaseCount + 1; end if (q2*b2^2 > q1*b1^2)% global Minimizer given by (0,b2) a1 = 0*b1; a2 = b2; type = 2; % Minimizer aligned with x2-axis + CaseCount = CaseCount + 1; end end @@ -135,17 +145,20 @@ if (q1*q2-q3^2 < -1*epsilon) a1 = b1; a2 = 0*b1; type = 1; % Minimizer aligned with x1-axis + CaseCount = CaseCount + 1; end if (q2*b2^2 > q1*b1^2)% global Minimizer given by (0,b2) a1 = 0*b1; a2 = b2; type = 2; % Minimizer aligned with x2-axis + CaseCount = CaseCount + 1; end if abs(q1*b1^2-q2*b2^2) < epsilon * min(q2*b2^2,q1*b1^2) % q1b1^2 = q2b2^2 % two Minimizers ..pick one a1 = b1; a2 = 0*b1; type = 4; + CaseCount = CaseCount + 1; end @@ -172,7 +185,23 @@ end %compute Kappa? -k = sqrt(abs(a1) + abs(a2)); % ? +% fprintf('Output Kappa:') +% k = sqrt(abs(a1) + abs(a2)); % ? +kappa = (a1 + a2); + + + +% e = [sqrt(a1), sqrt(a2)]; +% norm = sqrt((a1+a2)); +% e = e./norm; +% K.*(e'*e); + + +if (CaseCount > 1) + fprintf('=============================== ERROR========================================= \n') + fprintf('Error: More than one Case happened!') +end + % Coefficients of minimizer