From 364b9c998d50e9cda61062018e4671b12fc9a6f1 Mon Sep 17 00:00:00 2001 From: Christos Choutouridis Date: Sun, 3 Nov 2024 19:55:08 +0200 Subject: [PATCH] WIP: add bisection method --- .gitignore | 3 ++ Work 1/report/report.pdf | Bin 0 -> 52473 bytes Work 1/report/report.tex | 41 ++++++++++++++++++++++ Work 1/scripts/bisection.m | 34 +++++++++++++++++++ Work 1/scripts/bisectionA_lamdaFixed.m | 45 +++++++++++++++++++++++++ Work 1/scripts/funGivenEnv.m | 18 ++++++++++ 6 files changed, 141 insertions(+) create mode 100644 Work 1/report/report.pdf create mode 100644 Work 1/report/report.tex create mode 100644 Work 1/scripts/bisection.m create mode 100644 Work 1/scripts/bisectionA_lamdaFixed.m create mode 100644 Work 1/scripts/funGivenEnv.m diff --git a/.gitignore b/.gitignore index f6e6886..27d5772 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ *.log *.synctex.gz +# Matlab related +*.m~ + diff --git a/Work 1/report/report.pdf b/Work 1/report/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1e846146b0072febb27388452fabccfb9ca1869a GIT binary patch literal 52473 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 yQ`er_v)1LqaRNI literal 0 HcmV?d00001 diff --git a/Work 1/report/report.tex b/Work 1/report/report.tex new file mode 100644 index 0000000..90750b9 --- /dev/null +++ b/Work 1/report/report.tex @@ -0,0 +1,41 @@ +% +% Optimization Techniques Assignment 1 report +% +% authors: +% Χρήστος Χουτουρίδης ΑΕΜ 8997 +% cchoutou@ece.auth.gr + + +\documentclass[a4paper, 11pt]{AUTHReport} + +% Document configuration +\AuthorName{Χρήστος Χουτουρίδης} +\AuthorMail{cchoutou@ece.auth.gr} +\AuthorAEM{8997} + +% \CoAuthorName{CoAuthor Name} +% \CoAuthorMail{CoAuthor Mail} +% \CoAuthorAEM{AEM} + +% \WorkGroup{Ομάδα Χ} + +\DocTitle{1η Εργαστηριακή Άσκηση} +\DocSubTitle{Ελαχιστοποίηση κυρτής συνάρτησης μιας μεταβλητής σε δοσμένο διάστημα} + +\Department{Τμήμα ΗΜΜΥ. Τομέας Ηλεκτρονικής} +\ClassName{Τεχνικές Βελτιστοποίησης} + +\InstructorName{Γ. Ροβιθάκης} +\InstructorMail{rovithak@auth.gr} +\CurrentDate{\today} + + +\begin{document} + +\InsertTitle + +\section{Εισαγωγή} + + + +\end{document} diff --git a/Work 1/scripts/bisection.m b/Work 1/scripts/bisection.m new file mode 100644 index 0000000..735cd88 --- /dev/null +++ b/Work 1/scripts/bisection.m @@ -0,0 +1,34 @@ +function [a, b, k] = bisection(fun, alpha, beta, epsilon, lambda) +% +% Detailed explanation goes here +% +% + +% Error checking +if 2*epsilon >= lambda + error ('Convergence criteria not met') +end + +% Init output vectors +a = alpha; +b = beta; + +k=1; + +while b(k) - a(k) > lambda + % bisect [a,b] + mid = (a(k) + b(k)) / 2; + x_1 = mid - epsilon; + x_2 = mid + epsilon; + + % set new search reange + k = k + 1; + if subs(fun, x_1) < subs(fun, x_2) + a(k) = a(k-1); + b(k) = x_2; + else + a(k) = x_1; + b(k) = b(k-1); + end +end + diff --git a/Work 1/scripts/bisectionA_lamdaFixed.m b/Work 1/scripts/bisectionA_lamdaFixed.m new file mode 100644 index 0000000..3caa575 --- /dev/null +++ b/Work 1/scripts/bisectionA_lamdaFixed.m @@ -0,0 +1,45 @@ +% +% Keeping l (accuracy) fix, test the iteration needed for different e +% values. +% + + +% Clear workspace and load the functions and region +clear + +funGivenEnv; + +% * lambda = 0.01 +% * epsilon: e < lambda/2 = 0.005 +% * de: A small step away from zero and lambda/2 +% de = 0.0001 +% * size: 25 points + +size = 25; +lambda = 0.01; +de = 0.0001; +epsilon = linspace(de, (lambda/2)-de, size); +k = zeros(1,size); + + +% +% * Call the bisection method for each epsilon value for each function and +% keep the number of iterations needed. +% * Plot the (epsilon, iterations) for each function +% +i = 0; +for f = funs + i = i + 1; + j = 0; + for e = epsilon + j = j + 1; + [a, b, k(j)] = bisection(f, a_0, b_0, e, lambda); + end + subplot(1, 3, i) + plot(epsilon, k, '-b', 'LineWidth', 1.0) + title(titles(i), 'Interpreter', 'latex') + xlabel('epsilon') + ylabel('Iterations') +end + + \ No newline at end of file diff --git a/Work 1/scripts/funGivenEnv.m b/Work 1/scripts/funGivenEnv.m new file mode 100644 index 0000000..e744843 --- /dev/null +++ b/Work 1/scripts/funGivenEnv.m @@ -0,0 +1,18 @@ +% +% Select the given region: [-1,3] +a_0 = -1; +b_0 = 3; + +% Setup the functions under test +syms x; + +f_1 = (x-2)^2 + x*log(x+3); +f_2 = exp(-2*x) + (x-2)^2; +f_3 = exp(x)*(x^3 - 1) + (x-1)*sin(x); +funs = [f_1, f_2, f_3]; + +% Setup the function titles +title_f1 = "$f_1(x) = (x - 2)^2 + x \cdot \ln(x + 3)$"; +title_f2 = "$f_2(x) = e^{-2x} + (x - 2)^2$"; +title_f3 = "$f_3(x) = e^x \cdot (x^3 - 1) + (x - 1) \cdot \sin(x)$"; +titles = [title_f1; title_f2; title_f3]; \ No newline at end of file