Browse Source

Work 1: Add problem 1 matlab + report

tags/v1.0
parent
commit
1db5030d97
8 changed files with 204 additions and 0 deletions
  1. +3
    -0
      .gitmodules
  2. BIN
      Work 1/lab01_2025.pdf
  3. +1
    -0
      Work 1/report/AUThReport
  4. BIN
      Work 1/report/Work1_report.pdf
  5. +153
    -0
      Work 1/report/Work1_report.tex
  6. BIN
      Work 1/scripts/Prob1_responce_20s.png
  7. BIN
      Work 1/scripts/Prob1_responce_90s.png
  8. +47
    -0
      Work 1/scripts/Problem1.m

+ 3
- 0
.gitmodules View File

@@ -0,0 +1,3 @@
[submodule "Work 1/report/AUThReport"]
path = Work 1/report/AUThReport
url = ssh://git@git.hoo2.net:222/hoo2/AUThReport.git

BIN
Work 1/lab01_2025.pdf View File


+ 1
- 0
Work 1/report/AUThReport

@@ -0,0 +1 @@
Subproject commit 74ec4b5f6c66382e5f1b6d2e6930897e4ed53ea6

BIN
Work 1/report/Work1_report.pdf View File


+ 153
- 0
Work 1/report/Work1_report.tex View File

@@ -0,0 +1,153 @@
%
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8 Unicode
% !TEX spellcheck = el-GR
%
% AUTH report template for english
%
% Requires compilation with pdfLaTeX or XeLaTeX
%
% authors:
% Χρήστος Χουτουρίδης ΑΕΜ 8997
% cchoutou@ece.auth.gr

% Options:
%
% 1) mainlang=<language>
% Default: english
% Set the default language of the document which affects hyphenations,
% localization (section, dates, etc...)
%
% example: \documentclass[mainlang=greek]{AUThReport}
%
% 2) <language>
% Add hyphenation and typesetting support for other languages
% Currently supports: english, greek, german, frenc
%
% example: \documentclass[english, greek]{AUThReport}
%
% 3) short: Requests a shorter title for the document
% Default: no short
%
% example: \documentclass[short]{AUThReport}
%
\documentclass[a4paper, 11pt, mainlang=greek, english]{AUThReport/AUThReport}

\CurrentDate{\today}

% Greek report document setup suggestions
%---------------------------------
% Document configuration
\AuthorName{Χρήστος Χουτουρίδης}
\AuthorAEM{8997}
\AuthorMail{cchoutou@ece.auth.gr}

%\CoAuthorName{CoAuthor Name}
%\CoAuthorAEM{AEM}
%\CoAuthorMail{CoAuthor Mail}

% \WorkGroup{Ομάδα Χ}

\DocTitle{Εργασία 1}
\DocSubTitle{Εκτίμηση Άγνωστων Παραμέτρων - Μέθοδος Ελαχίστων Τετραγώνων}

\Department{Τμήμα ΗΜΜΥ. Τομέας Ηλεκτρονικής}
\ClassName{Προσομοίωση και Μοντελοποίηση Δυναμικών Συστημάτων}

\InstructorName{Γ. Ροβιθάκης}
\InstructorMail{rovithak@auth.gr}

\CoInstructorName{Λ. Μπίκας}
\CoInstructorMail{lnmpikas@ece.auth.gr}


% Local package requirements
%---------------------------------
%\usepackage{tabularx}
%\usepackage{array}
%\usepackage{commath}

\usepackage{amsmath, amssymb, amsfonts}
\usepackage{graphicx}
\usepackage{float}

\begin{document}

% Request a title page or header
\InsertTitle

\section{Εισαγωγή}
Η παρούσα εργασία έχει ως αντικείμενο τη μελέτη ενός απλοποιημένου δυναμικού συστήματος — συγκεκριμένα ενός γραμμικοποιημένου εκκρεμούς με ροπή εισόδου — με σκοπό την κατανόηση της συμπεριφοράς του και την εκτίμηση των φυσικών παραμέτρων του μέσω της μεθόδου των ελαχίστων τετραγώνων.
Στο πρώτο μέρος της εργασίας εξετάζεται η δυναμική του συστήματος, η οποία περιγράφεται από μία διαφορική εξίσωση δευτέρας τάξης, και προσεγγίζεται τόσο θεωρητικά όσο και αριθμητικά μέσω προσομοίωσης στο περιβάλλον MATLAB.
\par
Αρχικά, το σύστημα αναδιατυπώνεται σε μορφή κατάστασης ώστε να καταστεί κατάλληλο για ανάλυση και προσομοίωση.
Στη συνέχεια, εφαρμόζεται ημιτονική διέγερση και εξετάζεται η απόκριση του συστήματος. Ιδιαίτερο ενδιαφέρον παρουσιάζει ο τρόπος με τον οποίο το σύστημα φτάνει στη μόνιμη περιοδική του συμπεριφορά, καθώς και ο ρυθμός με τον οποίο αποκλίνουν οι ταλαντώσεις από τη μεταβατική φάση.
Η ανάλυση αυτή θέτει τη βάση για τα επόμενα μέρη της εργασίας, όπου επιχειρείται η εκτίμηση των παραμέτρων του μοντέλου με τη χρήση δεδομένων εξόδου του συστήματος.

\subsection{Παραδοτέα}
Τα παραδοτέα της εργασίας αποτελούνται από:
\begin{itemize}
\item Την παρούσα αναφορά.
\item Τον κατάλογο \textbf{scripts/}, που περιέχει τον κώδικα της MATLAB.
\item Το \href{https://git.hoo2.net/hoo2/SystemModling}{σύνδεσμο} με το αποθετήριο που περιέχει όλο το project με τον κώδικα της MATLAB, της αναφοράς και τα παραδοτέα.
\end{itemize}

\section{Θέμα 1 – Μοντελοποίηση και Προσομοίωση Συστήματος Εκκρεμούς}

Το σύστημα που μελετάται περιγράφεται από τη γραμμικοποιημένη διαφορική εξίσωση:
\[
mL^2 \ddot{q}(t) + c \dot{q}(t) + mgL q(t) = u(t)
\]
όπου $q(t)$ είναι η γωνία του εκκρεμούς, $u(t)$ η ροπή εισόδου, και $m$, $L$, $c$, $g$ φυσικές σταθερές του συστήματος.

Ορίζοντας ως διάνυσμα κατάστασης:
\[
x(t) = \begin{bmatrix} q(t) \\ \dot{q}(t) \end{bmatrix}
\]
οι εξισώσεις κατάστασης γράφονται ως:
\[
\dot{x}(t) = A x(t) + B u(t)
\]
όπου:
\[
A =
\begin{bmatrix}
0 & 1 \\
-\frac{g}{L} & -\frac{c}{mL^2}
\end{bmatrix},
\quad
B = \begin{bmatrix} 0 \\ \frac{1}{mL^2} \end{bmatrix}
\]

Η συνάρτηση μεταφοράς του συστήματος προκύπτει από την αρχική εξίσωση ως:
\[
G(s) = \frac{Q(s)}{U(s)} = \frac{1}{mL^2 s^2 + c s + mgL}.
\]

Για την προσομοίωση χρησιμοποιήθηκε ημιτονική είσοδος $u(t) = A_0 \sin(\omega t)$, με $A_0 = 4$ και $\omega = 2$.
Οι υπόλοιπες παράμετροι ήταν $m = 0.75$, $L = 1.25$, $c = 0.15$, $g = 9.81$.
Ο αρχικός χρόνος προσομοίωσης ορίστηκε σε $20$ δευτερόλεπτα, όπως ζητείται στην εκφώνηση.

\subsection*{Παρατήρηση Συμπεριφοράς Συστήματος}

Το σύστημα παρουσίασε περιοδική απόκριση, η οποία όμως δεν σταθεροποιήθηκε γρήγορα.
Όπως φαίνεται στο Σχήμα~\ref{fig:20s}, το πλάτος των ταλαντώσεων συνεχίζει να μεταβάλλεται ακόμη και μετά από 20 δευτερόλεπτα, γεγονός που δείχνει ότι το σύστημα βρίσκεται ακόμη σε μεταβατική κατάσταση.

Η καθυστερημένη σύγκλιση οφείλεται κυρίως:
\begin{itemize}
\item στην πολύ μικρή τιμή του συντελεστή απόσβεσης ($c = 0.15$), και
\item στο γεγονός ότι η συχνότητα της εισόδου ($\omega = 2$ rad/s) είναι κοντά στη φυσική συχνότητα του εκκρεμούς ($\omega_n = \sqrt{g/L} \approx 2.8$ rad/s), προκαλώντας φαινόμενο ενίσχυσης (quasi-resonance).
\end{itemize}

Για τον λόγο αυτό, επεκτείναμε τη διάρκεια προσομοίωσης στα $90$ δευτερόλεπτα.
Όπως φαίνεται στο Σχήμα~\ref{fig:90s}, το σύστημα σταθεροποιείται τελικά σε περιοδική μορφή περίπου μετά από $50$ δευτερόλεπτα.

\InsertFigure{!ht}{1}{fig:20s}{../scripts/Prob1_responce_20s.png}{
Απόκριση του συστήματος για $t \in [0, 20]$ sec. Η μεταβατική φάση παραμένει ενεργή.
}
\InsertFigure{!ht}{1}{fig:90s}{../scripts/Prob1_responce_90s.png}{
Απόκριση του συστήματος για $t \in [0, 90]$ sec. Το σύστημα σταθεροποιείται σε περιοδική συμπεριφορά μετά τα $50$ sec.
}


\end{document}

BIN
Work 1/scripts/Prob1_responce_20s.png View File

Before After
Width: 2000  |  Height: 1344  |  Size: 78 KiB

BIN
Work 1/scripts/Prob1_responce_90s.png View File

Before After
Width: 2000  |  Height: 1344  |  Size: 103 KiB

+ 47
- 0
Work 1/scripts/Problem1.m View File

@@ -0,0 +1,47 @@
% Parameters
m = 0.75;
L = 1.25;
c = 0.15;
g = 9.81;
A0 = 4;
omega = 2;

% Time span
tspan = [0 20];
dt = 1e-3;
t_eval = 0:dt:20;

% ODE Function
odefun = @(t, x) [
x(2);
(1/(m*L^2)) * (A0*sin(omega*t) - c*x(2) - m*g*L*x(1))
];

x0 = [0; 0]; % Initial conditions
[t, x] = ode45(odefun, t_eval, x0); % Solve

% Plots
figure('Name', 'System responce', 'Position', [100, 100, 1280, 860]);
subplot(2,1,1);
plot(t, x(:,1)); ylabel('q(t) [rad]'); grid on; title('Γωνία');
subplot(2,1,2);
plot(t, x(:,2), 'r'); ylabel('dq(t) [rad/s]'); xlabel('t [sec]'); grid on; title('Γωνιακή Ταχύτητα');

saveas(gcf, 'Prob1_responce_20s.png');


% Time span
tspan = [0 90];
t_eval = 0:dt:90;

x0 = [0; 0]; % Initial conditions
[t, x] = ode45(odefun, t_eval, x0); % Solve

% Plots
figure('Name', 'System responce', 'Position', [100, 100, 1280, 860]);
subplot(2,1,1);
plot(t, x(:,1)); ylabel('q(t) [rad]'); grid on; title('Γωνία');
subplot(2,1,2);
plot(t, x(:,2), 'r'); ylabel('dq(t) [rad/s]'); xlabel('t [sec]'); grid on; title('Γωνιακή Ταχύτητα');

saveas(gcf, 'Prob1_responce_90s.png');

||||||
x
 
000:0
Loading…
Cancel
Save