Work 1: Add problem 1 matlab + report
This commit is contained in:
parent
657b991671
commit
1db5030d97
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal 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
Normal file
BIN
Work 1/lab01_2025.pdf
Normal file
Binary file not shown.
1
Work 1/report/AUThReport
Submodule
1
Work 1/report/AUThReport
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 74ec4b5f6c66382e5f1b6d2e6930897e4ed53ea6
|
||||||
BIN
Work 1/report/Work1_report.pdf
Normal file
BIN
Work 1/report/Work1_report.pdf
Normal file
Binary file not shown.
153
Work 1/report/Work1_report.tex
Normal file
153
Work 1/report/Work1_report.tex
Normal 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
Normal file
BIN
Work 1/scripts/Prob1_responce_20s.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 78 KiB |
BIN
Work 1/scripts/Prob1_responce_90s.png
Normal file
BIN
Work 1/scripts/Prob1_responce_90s.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 103 KiB |
47
Work 1/scripts/Problem1.m
Normal file
47
Work 1/scripts/Problem1.m
Normal 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');
|
||||||
Loading…
x
Reference in New Issue
Block a user