diff --git a/Komp_obr_SFedU/01_Lect-measurements.pdf b/Komp_obr_SFedU/01_Lect-measurements.pdf new file mode 100644 index 0000000..c637153 Binary files /dev/null and b/Komp_obr_SFedU/01_Lect-measurements.pdf differ diff --git a/Komp_obr_SFedU/01_Lect-measurements.tex b/Komp_obr_SFedU/01_Lect-measurements.tex new file mode 100644 index 0000000..3d4db50 --- /dev/null +++ b/Komp_obr_SFedU/01_Lect-measurements.tex @@ -0,0 +1,408 @@ +\documentclass[10pt,pdf,hyperref={unicode}]{beamer} +\hypersetup{pdfpagemode=FullScreen} +\usepackage{lect} + +\title[Компьютерная обработка. Лекциия 1.]{Компьютерная обработка результатов измерений} +\subtitle{Лекция 1. Общие сведения об измерениях. Виды сигналов и методы их анализа.} +\date{} + +\begin{document} +% Титул +\begin{frame}{} +\maketitle +\end{frame} +% Содержание +\begin{frame}{} +\tableofcontents[hideallsubsections] +\end{frame} + +\section{Физические измерения} +\begin{frame}{Физические измерения} +\begin{defin} +Экспериментальное определение значения измеряемой величины с применением средств +измерений называется {\bf измерением}. +\end{defin} +\begin{block}{} +Важнейшей особенностью измерений является {\it принципиальная невозможность +получения результатов измерения, в точности равных истинному значению +измеряемой величины} (особенно эта особенность проявляется в микромире, где +господствует принцип неопределенности). + +Эта особенность приводит к необходимости оценки степени близости результата +измерения к истинному значению измеряемой величины, т.е. вычислять +{\bf погрешность измерения}. +\end{block} +\end{frame} + +\section{Величины} +\begin{frame}{Величины} +\only<1>{ + \begin{defin} + \ж Мерой\н называется средство измерений, предназначенное для воспроизведения и хранения + значения + физической величины. + Результатом сравнения оцениваемой вещи с мерой является именованное число, + называемое\ж значением величины\н. + \end{defin} + \begin{block}{Физические величины} + \begin{itemize} + \item постоянные (инварианты, константы, априорно фиксированные значения); + \item изменяющиеся (по определенному закону от $t$); + \item случайные (не имеющие точного значения). + \end{itemize} +% Скалярные, векторные, комплексные, тензорные величины.\par +% Метрология. + \end{block} +}\only<2>{ +\begin{block}{Физические величины} + Основные: + \begin{itemize} + \item длина (метр); + \item масса (килограмм); + \item время (секунда); + \item сила электрического тока (Ампер); + \item термодинамическая температура (Кельвин); + \item количество вещества (моль); + \item сила света (кандела). + \end{itemize} +Вспомогательные: +\begin{itemize} + \item плоский угол (градус); + \item телесный угол (стерадиан). +\end{itemize} +Производные величины (например, 1\,Кл=1\,А$\cdot$с). +\end{block} +}\only<3>{ +\begin{defin} +\ж Размер\н величины~--- ее количественная характеристика. Цель любого измерения~--- получение +информации о размере физической величины. + +\ж Размерность\н~--- качественная характеристика измеряемой величины. Если с изменением основной +величины в $n$~раз производная изменится в $n^p$~раз, то говорят, что данная производная единица +обладает размерностью $p$~относительно основной единицы. Например, размерность объема (м${}^3$) +равна трем. + +\ж Анализ размерностей\н помогает установить связи между физическими величинами. Например: +определить время падения тела под действием силы тяжести~($g$) с высоты~$h$. $t=C h^x\cdot g^y$. +Составим уравнение размерностей: $T=L^x\cdot(LT^{-2})^y$. Отсюда $y=-1/2$, $x=1/2$. Искомое +выражение: $t=C\sqrt{h/g}$ (как мы знаем, $C=\sqrt2$). +\end{defin} +} +\end{frame} + +\begin{frame}{Виды измерений} + \begin{description} + \only<1>{ + \item[Прямые] при которых искомое значение физической величины получают непосредственно. + \item[Косвенные] на основании результатов прямых измерений других физических величин, + функционально связанных с искомой величиной (например, измерение сопротивления при + помощи вольтметра и амперметра). + \item[Совместные] проводимые одновременно для нескольких неодноименных величин для + определения зависимости между ними (например, для измерения зависимости сопротивления + от температуры, $R=R_0(1+AT)$, измеряют $R$ при нескольких разных~$T$, откуда вычисляют + $R_0$~и $A$). + \item[Совокупные] при которых искомые значения величин определяют путем решения системы + уравнений, получаемых при измерениях этих величин в различных сочетаниях (например, + измерение сопротивлений резисторов, соединенных треугольником). + } + \only<2>{ + \item[Равноточные] выполненные одинаковыми по точности средствами измерений. + \item[Неравноточные] выполненных различающимися по точности средствами измерений и + (или) в разных условиях. + \item[Однократные, многократные] (в зависимости от возможности проведения повторных + измерений). + \item[Статические] для величин, принимаемых в соответствии с конкретной + измерительной задачей за неизменные на протяжении времени измерения. + \item[Динамические] для изменяющейся по размеру физической величины. + \item[Абсолютные] основанное на прямых измерениях одной или нескольких основных + величин и (или) использовании значений физических констант. + \item[Относительные] сравнение с эталонными мерами.} + \end{description} +\end{frame} + +\begin{frame}{Методы измерений} + \begin{description} + \item[Метод непосредственной оценки] непосредственно по средству измерения со шкалой. + \item[Нулевой метод] такое сравнение с мерой, при котором результирующий эффект + воздействия управляемой величины и меры сводят к нулю (например, измерение сопротивления + при помощи моста Уитстона). + \item[Дифференциальный (разностный) метод] измеряемая величина сравнивается с эталоном, + значение которого незначительно от нее отличается (например, взвешивание на рычажных весах + с гирями). + \item[Метод измерения замещением] поочередное измерение величины и замещающей меры (пример: + измерение сопротивления при помощи стабильного источника напряжения, амперметра и опорного + резистора). + \end{description} +\end{frame} + +\begin{frame}{} + \begin{block}{Качество измерений} + \ж Точность\н~--- близость результатов к истинному значению измеряемой величины.\\ + \ж Достоверность\н~--- степень доверия к результатам измерения.\\ + \ж Сходимость\н~--- близость результатов при измерении одним и тем же методом в одинаковых + условиях.\\ + \ж Воспроизводимость\н~--- близость результатов при измерении одним и тем же методом, но в + разных условиях. + + Пример: измерение толщины индикатором часового типа. Цена деления индикатора: $10\,$мкм. В + результате измерений получили ряд данных: $1.71$, $1.69$, $1.60$, $1.70$, $1.72$, среднее + значение: $(1.68\pm0.05)\,$мм. Если отбросить явно ошибочное $1.60$, получим: + $(1.71\pm0.01)\,$мм. Для оценки воспроизводимости измерим штангенциркулем (с ценой деления + $0.05\,$мм). Если в пределах погрешности получим $1.70\cdot1.72\,$мм, то метод измерения + дал хорошую воспроизводимость. + + При измерении температуры терморезистором АЦП может обеспечить цену деления $0.03\degr C$, + однако, точность и воспроизводимость измерений будет определяться характеристиками самого + терморезистора и измерительной схемы. Точность можно оценить по эталонному термометру в + единичном измерении; воспроизводимость~--- по множеству измерений с прохождением + контрольной точки "сверху" и "снизу". + \end{block} +\end{frame} + +\begin{frame}{Формы представления результатов} + \only<1>{ +\begin{block}{Общая форма представления} + Точечная оценка результата измерения, характеристики погрешностей измерения, указание условий + измерения. + + Характеристики погрешностей указывают в абсолютных или относительных единицах. Этими + характеристиками могут быть: + среднее квадратическое отклонение погрешности; + среднее квадратическое отклонение случайной погрешности; + среднее квадратическое отклонение систематической погрешности; + нижняя граница интервала погрешности измерений; + верхняя граница интервала погрешности измерений; + нижняя граница интервала систематической погрешности измерений; + верхняя граница интервала систематической погрешности измерений; + вероятность попадания погрешности в указанный интервал. +\end{block} +}\only<2>{ +\begin{block}{Требования к оформлению результата} + \begin{itemize} + \item Наименьшие разряды оценки и погрешности должны совпадать. Например: вместо + $x=1.23\pm0.5$ пишем $x=1.2\pm0.5$; вместо $y=5.1\cdot10^4\pm25$ пишем + $(51.000\pm0.025)\cdot10^3$. + \item Характеристики погрешностей выражаются числом, содержащим не более двух значащих + цифр, причем с округлением в б\'ольшую сторону. Например: вместо + $x=1.014\pm0.111$ пишем $x=1.01\pm0.12$. + \item Допускается характеризовать погрешность числом с одной значащей цифрой (с округлением + по классическиму правилу). + \end{itemize} +Примеры: +$(8.334 \pm 0.012)\,$г, $P = 0.95$. +$32.014\,$мм, характеристики погрешностей и условия измерений по РД 50-98\,--\,86, вариант 7к. +$(32.010\cdots32.018)\,$мм, $P = 0.95$, измерение индикатором ИЧ 10\,кл. точности 0 на стандартной +стойке с настройкой по концевым мерам длины 3\,кл. точности; измерительное перемещение не более +$0.1\,$мм; температурный режим измерений $\pm2\degr C$. +$72.6360\,$мм; $\Delta_\text{н}= -0.0012\,$мм, $\Delta_\text{в}= +0.0018\,$мм; $P = 0.95$. + +\end{block} +} +\end{frame} + +\begin{frame}{Представление результатов} +\only<1>{ +\begin{block}{Табличное} +Позволяет избежать многократной записи единиц измерения, обозначений измеряемой величины, +используемых множителей. В таблицы, помимо основных измерений, могут быть включены и результаты +промежуточных измерений. + +Для удобства импортирования данных и одновременно наглядности чтения удобно хранить в формате TSV +(tab separated values) или CSV (comma separated values). +SED позволит легко преобразовать TSV/CSV в таблицу \LaTeX. +\end{block} + +\begin{block}{Графическое} +На основе графика легко можно сделать вывод о соответствии +теоретических представлений данным эксперимента, определить вид функциональной +зависимости измеряемой величины. +\end{block} +} +\only<2>{\img{table1}} +\only<3>{\vspace*{-1em}\img[0.9]{table2}} +\only<4>{\vspace*{-2em}\img{graph1}} +\only<5>{\vspace*{-2em}\img{graph2}} +\end{frame} + +\begin{frame}{} +\only<1>{ +\begin{block}{Выбор типа графика} +\begin{description} + \item[График] подходит для изображения динамики какой-то зависимости, наглядной визуализации + экстремумов, перегибов и прочих характерных мест (например, фотометрическая кривая). + \item[Столбцевая диаграмма] позволяет визуализировать различие в нескольких наборах данных + (например, падение покупательной способности рубля с течением времени). + \item[Круговая диаграмма] лучше всего подходит для демонстрации вклада отдельных частей в целое + (например, химический состав атмосферы звезды). + \item[Гистограмма] похожа на график с дискретным аргументом (например, $0, 1, 2, \ldots$ или + $0-9, 10-19, 20-29,\ldots$). Гистограммы отлично характеризуют изображения. +\end{description} +\end{block} +}\only<2>{ +\begin{block}{Визуализация в виде таблицы} +Идеал~--- полное отсутствие таблиц в тексте. Исключения: данные в таблице~--- текст или пиктограммы. + +Если в таблице слишком много данных, ее никто не будет читать. Исключение~--- справочники (но они +нынче в электронном виде). +\end{block} +\begin{block}{Программное обеспечение} +Хорошо: \LaTeX, GNUplot, GNU Octave, R\dots. + +Плохо: LibreOffice (Writer, Calc). + +Ужасно: проприетарное ПО (M\$ Word и т.п.). +\end{block} +} +\end{frame} + +\section{Сигналы и их виды} +\begin{frame}{Сигналы и их виды} +\only<1>{ +\begin{defin} +Если некоторая изменяющаяся величина измеряется непрерывно (или квазинепрерывно), мы +имеем дело с потоком информации, или\ж сообщением\н. +В теории информации физический процесс, значения параметров которого отображают +передаваемое сообщение, называется\ж сигналом\н. +\end{defin} +\begin{block}{} +Модуляция--демодуляция. Зашумление. +{\bf Помехи}: аддитивные, мультипликативные, фазовые. +\end{block} +} +\only<2>{\img[0.7]{Ampl_modulation}} +\only<3>{\img{Freq_modulation}} +\only<4>{\begin{light}\img[0.7]{Phase_modulation}\end{light}} +\only<5>{Add/mult\img[0.7]{add_mult_noise}} +\end{frame} + + +\begin{frame}{Виды сигналов} +\only<1>{ +\begin{block}{Аналоговый} +Описывается непрерывной (или кусочно--непрерывной) функцией $x(t)$: $t\in[t_0,t_1]$, +$x\in[x_0,x_1]$. Аудиосигналы, телевизионные сигналы и т.п. +\end{block} +\img[0.4]{oscill} +} +\only<2>{ +\begin{block}{Дискретный} +Описывается решетчатой функцией (последовательностью, временн\'ым рядом) $x(nT)$: $x\in[x_0,x_1]$, +$n=\overline{1,N}$, $T$~--\к интервал дискретизации\н. Величину $f=1/T$ +называют\к частотой дискретизации\н. Если интервал дискретизации является +постоянной величиной, дискретный сигнал можно задать в виде ряда $\{x_1,\ldots, x_N\}$. +\end{block} +\img[0.6]{disc_sig} +} +\only<3>{ +\begin{block}{Цифровой} +Описывается квантованной решетчатой функцией и отличается от обычного дискретного сигнала тем, что +каждый уровень квантования кодируется двоичным кодом. Таким образом, если +величина $x\in[x_0,x_1]$ квантуется $N$~разрядным кодом, для +обратного представления из кода $K_x$ в значение $x$ применяется +преобразование: $x=x_0+K_x\cdot (x_1-x_0)/2^{N}$. К цифровым сигналам относятся +сигналы, используемые в системах связи с импульсно--кодовой модуляцией. +\end{block} +\img[0.4]{digital_signal} +} +\only<4>{\img{Analog_signal}} +\end{frame} + + +\begin{frame}{Дискретизация} +\begin{block}{} +Дискретизация строит по заданному аналоговому сигналу $x(t)$ дискретный сигнал $x_n(nT)$, причем +$x_n(nT)=x(nT)$. Операция\ж восстановления\н состоит в том, что по заданному дискретному сигналу +строится аналоговый сигнал. +\end{block} +\begin{block}{Теорема Котельникова--Найквиста} +\begin{itemize} +\item любой аналоговый сигнал может быть восстановлен с какой угодно точностью по своим дискретным +отсчётам, взятым с частотой $f > 2f_c$, где $f_c$~-- максимальная частота, которой ограничен спектр +реального сигнала; +\item если максимальная частота в сигнале равна или превышает половину частоты дискретизации +(наложение спектра), то способа восстановить сигнал из дискретного в аналоговый без искажений не +существует. +\end{itemize} +\end{block} +\end{frame} + + +\begin{frame}{Теорема Котельникова--Найквиста} +\begin{block}{} +$$\text{Фурье: }X_{s}(f)\ {\stackrel {\mathrm {def} }{=}}\sum _{n=-\infty }^{\infty }T\cdot x(nT)\ +e^{-i2\pi +nTf}$$ +$$\text{В окне: }X(f) = \sum _{n=-\infty }^{\infty }x(nT)\cdot \underbrace {T\cdot \mathrm {rect} +(Tf)\cdot +e^{-i2\pi nTf}} _{{\mathcal {F}}\left\{\mathrm{sinc}\left[\frac{\pi}{T}(t-nT)\right]\right\}}$$ +\end{block} +\begin{columns}\column{0.5\textwidth} +\img{ReconstructFilter} +\column{0.5\textwidth} +\begin{block}{Формула Уиттекера--Шеннона} +Восстановить непрерывную функцию из дискретной: +$$x(t)=\sum _{n=-\infty }^{\infty }x(nT)\cdot \mathrm{sinc}\left[\frac{\pi}{T}(t-nT)\right]$$ +\end{block} +\end{columns} +\end{frame} + + +\begin{frame}{Квантование} +\begin{defin} +Для преобразования дискретного сигнала в цифровой вид применяется операция\ж квантования\н или\ж +аналогово--цифрового преобразования\н~(АЦП), которая по заданному дискретному сигналу $x_n(nT)$ +строит цифровой кодированный сигнал $x_d(nT)$, причем $x_n(nT)\approx x_d(nT)$. Обратная квантованию +операция называется операцией\ж цифро--аналогового преобразования\н~(ЦАП). +\end{defin} +\only<1>{\img[0.7]{ADC}} +\only<2>{\img{DAC}} +\end{frame} + +\section{Литература} +\begin{frame}{Основная литература} +\begin{itemize} +\item Интернет--энциклопедия: http:/\!/wikipedia.org (Википедия). +\item Гонсалес~Р., Вудс~Р. Цифровая обработка изображений.~--- М.: Техносфера, 2012.~--- +1104~с. +\item Витязев~В.В. Вейвлет-анализ временных рядов: Учеб. пособие.~--- +СПб.: Изд-во С.-Петерб. ун-та., 2001.~--- 58~с. +\item Гонсалес~Р., Вудс~Р., Эддинс~С. Цифровая обработка изображений +в среде MATLAB.~--- М.: Техносфера, 2006~--- 616~с. +\item Гмурман~В.\,Е. Теория вероятностей и математическая статистика. +Учеб. пособие для вузов.~--- Изд. 7-е, стер.~--- М.: Высш. шк., 2001.~--- 479~с. +\item Говорухин~В., Цибулин~В. Компьютер в математическом исследовании. +Учебный курс.~--- СПб.: Питер, 2001.~--- 624~с. +\item Сергиенко~А.\,Б. Цифровая обработка сигналов.~--- СПб.: Питер, 2005.~--- +604~с. +\item Чен~К., Джиблин~П., Ирвинг~А. MATLAB в математических исследованиях: +Пер. с англ.~--- М.: Мир, 2001.~--- 346~с. +\end{itemize} +\end{frame} + +\begin{frame}{Дополнительная литература} +\begin{itemize} +\item Бахвалов~Н.\,С., Жидков~Н.\,П., Кобельков~Г.\,М. Численные методы.~--- +М.: Высш. шк., 1987.~--- 630~с. +\item Кнут~Д.\,Э. Все про \TeX./ Пер. с англ. М.\,В.~Лисиной.~--- +Протвино: АО~RD\TeX, 1993.~--- 592~с.: ил. +\item Львовский~С.\,М. Набор и верстка в системе \LaTeX.~--- 3-е изд., +исрп. и доп.~--- М.: МЦНМО, 2003.~--- 448~с. +\item Физическая энциклопедия/ Гл. ред. А.М.~Прохоров.~--- М.: Сов. +энциклопедия. Тт. I~--~V. 1988. +\item Цифровая обработка сигналов: Справочник/ Л.М.~Гольденберг, +Б.Д.~Матюшкин, М.Н.~Поляк.~--- М.: Радио и связь, 1985.~--- 312~с., ил. +\item \url{http://www.imageprocessingplace.com/} +\item Pan~G.\,W. Wavelets in electromagnetic and device modeling.~--- +John~Wiley \& Sons, Inc., Hobocen, New Jersey, 2003.~--- 531~p. +\end{itemize} +\end{frame} + +\begin{frame}{Спасибо за внимание!} +\centering +\begin{minipage}{5cm} +\begin{block}{mailto} +eddy@sao.ru\\ +edward.emelianoff@gmail.com +\end{block}\end{minipage} +\end{frame} +\end{document} diff --git a/Komp_obr_SFedU/01_Pract.pdf b/Komp_obr_SFedU/01_Pract.pdf new file mode 100644 index 0000000..f3ca5c5 Binary files /dev/null and b/Komp_obr_SFedU/01_Pract.pdf differ diff --git a/Komp_obr_SFedU/01_Pract.tex b/Komp_obr_SFedU/01_Pract.tex new file mode 100644 index 0000000..65d5a99 --- /dev/null +++ b/Komp_obr_SFedU/01_Pract.tex @@ -0,0 +1,384 @@ +\documentclass[10pt,pdf,hyperref={unicode}]{beamer} +\hypersetup{pdfpagemode=FullScreen} +\usepackage{lect} +\usepackage{listings} +\lstloadlanguages{Octave,C,bash} +\lstset{language=bash} + +\title[Компьютерная обработка. Практикум 1.]{Компьютерная обработка результатов измерений} +\subtitle{Практикум 1. Работа с файлами в bash.} +\date{} + +\begin{document} +% Титул +\begin{frame}{} +\maketitle +\end{frame} + +\begin{frame}{Linux} +\begin{block}{} +Ядро. GNU is not UNIX. <<Бритва Оккама>>: UNIX-way и KISS. <<Трубы>>. + +Файловые системы: транзакции, права доступа и аттрибуты файлов, <<все есть файл>>~--- псевдофайлы. +Монтирование ФС. Команды \t{mount}, \t{df}, \t{du}. Ссылки на файлы: \t{ln}. + +Структура файловой системы: базовые директории. + +Терминалы и псевдотерминалы. Командные оболочки. Команды \t{man} и \t{apropos}. Приглашение +командной строки: \t{\$PS1}. + +Рабочая директория: \t{pwd} и \t{\$PWD}. Команда \t{env}. Команда \t{alias}. +\end{block} +\end{frame} + +\begin{frame}{Базовые файловые операции} +\only<1>{ +\begin{block}{} +\t{ls}~-- отображение содержимого каталога. + +\t{cd}~-- переход в другой каталог. + +\t{mkdir}~-- создать каталог, \t{rmdir}~-- удалить. + +\t{rm}~-- удалить файлы, каталоги. + +\t{find}~-- поиск файла; \t{locate}~-- быстрый поиск с использованием базы данных. + +\t{touch}~-- создать файл либо изменить атрибуты существующего. + +\t{echo}~-- вывод в терминал данных. + +\t{reset}~-- сброс настроек терминала. +\end{block} +}\only<2>{ +\begin{block}{Специальные устройства} +\t{/dev/zero} при чтении возвращает нули.\\ +\t{/dev/null} уничтожает все данные, которые в него пишут.\\ +\t{/dev/random} случайные числа (требует <<энтропии>>).\\ +\t{/dev/urandom} псевдослучайные числа. +\end{block} +} +\end{frame} + +\begin{frame}{Переменные, скобки, возвращаемое значение} +\begin{block}{} + \t{x="text"; echo "\$x"; echo "\$\{x\}"}. \t{echo "{}'\$x'=\$x"}. + \t{echo "\bsl\$x=\$x"}. \t{unset x}. \t{set}. \t{env}. + \t{echo `ls`} и \t{echo \$(ls)}. \t{let a=25+3}. + + \t{\$\{VAR-default\}}, \t{\$\{VAR=default\}}~-- значение по умолчанию. + + \t{\$\{VAR?err message\}}~-- выдача сообщения. + + \t{\$\{VAR:pos[:len]\}}~-- подстрока с \t{pos} длины \t{len}. + + Математика: \t{var1=\$((5 + 5))}, \t{var2=\$((\$var1 * 2))}. + + \ж Возвращаемое значение\н: \t{\$?}. Если возвращается не 0, то это обычно~--- код ошибки. + Например: \t{команда1 \&\& команда2 || команда3}.\\ + Команды можно объединять: \t{(команда1; команда2; команда3)} (скобка вернет код возврата + последней команды). + \end{block} +\end{frame} + + +\begin{frame}[fragile]{Скрипты} +\begin{block}{Шебанг} + \t{\#!/bin/bash} или \t{\#!/bin/sh}. Шебанг необязателен, если скрипт можно вызывать в том + же сеансе bash (однако, в случае проблемы сеанс может <<упасть>>). +\end{block} +\begin{block}{Аргументы} + \t{\$N}~-- N-й аргумент (\t{\$0}~-- имя скрипта). \t{\$\#}~-- количество аргументов. + + \t{\$*} и \t{\$@}: +\begin{lstlisting} +function chkargs(){ + echo "you give $# arguments:" + for arg in "$@"; do + echo -e "\t$arg" + done +} +chkargs "$@" +chkargs "$*" +chkargs $* +\end{lstlisting} +\end{block} +\end{frame} + +\begin{frame}{Вывод\slash вывод файлов, перенаправление вывода} +\only<1>{ +\begin{block}{Команда \t{man}} + Выводит справку по флагам различных утилит. \t{man man}. +\end{block} +\begin{block}{} + Вывод содержимого файла: \t{cat file}. Перенаправление в другой файл: \t{cat file1 > + file2}. + + Номера стандартных дескрипторов: 0~-- stdin, 1~-- stdout, 2~-- stderr: + + \t{cat \$file 2>/dev/null}. + + \t{tail -n N}~-- отображение $N$ строк с конца файла. Чаще с флагом \t{-f} (для + непрерывного + перечитывания файла в процессе добавления новых строк). + + \t{head -n N}~-- отображение $N$ строк с начала файла. Часто~--- в комбинации с \t{tail}. + + Команды \t{less} и \t{more} позволяют интерактивно перемещаться по тексту (доступен также + поиск, переход на $N$-ю строку и т.д.). +\end{block} +}\only<2>{ +\begin{block}{} + \ж Каналы\н помогают перенаправить вывод одной команды на ввод другой. Например: \t{ls -l | + less}.\\ + \t{read}~-- считать данные со стандартного ввода\\ + \t{>>} позволяет дописывать файл. Например:\\ + \t{> filelist; while read x; do ls \$x >> filelist; done}\\ + \t{exec 1 > myfile}~-- перенаправить stdout в файл\\ + \t{exec 2 > errfile}~-- перенаправить stderr\\ + \t{exec 2 > \&1}~-- перенаправить stderr в stdout\\ + \t{exec 0 < file}~-- читать данные не с stdin, а из файла\\ + Временное: \t{exec 4 < \&0; exec 0 < myfile; \ldots ; exec 0 < \&4} +\end{block} +} +\end{frame} + + +\begin{frame}[fragile]{Условия} +\begin{block}{} + \t{if [ условие ]; then true; else false; fi} + + \t{[ условие ] \&\& true || false}. +\end{block} +\begin{lstlisting} +echo "Enter value" +read val +if [ $val -gt 100 ]; then + echo "value $val greater than 100"; +else + echo "value $val less than 100"; +fi +\end{lstlisting} + +\begin{lstlisting} + echo "Enter filename" + read f + [ -d $f ] && echo "$f is a directory" + [ -f $f ] && echo "$f is a file" + [ ! -e $f ] && echo "Not exists" +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile]{\t{case}} +\begin{lstlisting} +while [ -n "$1" ];do +case "$1" in +-a) echo "Found the -a option" ;; +-b) echo "Found the -b option" ;; +-c) echo "Found the -c option" ;; +*) echo "$1 is not an option" ;; +esac +shift +done +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile]{Цикл \t{for}} +\begin{lstlisting} +echo -e "\t1." + +for (( a = 1; a < 11; ++a )); do + echo "a=$a" +done + +echo -e "\n\t2." + +for a in $(seq 1 10); do + echo "a=$a" +done + +echo -e "\n\t3." + +for a in one "two args" three; do +echo "a=$a" +done +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile]{Цикл \t{while}} +\begin{lstlisting} +#!/bin/bash + +while read X; do + echo "You entered: $X" +done + +echo "End" +\end{lstlisting} +\begin{lstlisting} +./w +Hello +You entered: Hello +More words +You entered: More words +^D +End +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile]{Массивы} +\small +\begin{lstlisting} +array=(1 2 3 4 [5]=next [10]=last) +echo -n "array with size ${#array[*]} and indexes" +echo " ${!array[*]}: ${array[*]}" +echo "array[4]=${array[4]}, array[10] len=${#array[10]}" +\end{lstlisting} +Результат: +\begin{lstlisting} +array with size 6 and indexes 0 1 2 3 5 10: 1 2 3 4 next last +array[4]=, array[10] len=4 +\end{lstlisting} ++ скрипт \t{takeexp}. +\end{frame} + +\begin{frame}{Поиск и редактирование в файлах} +\only<1>{ +\begin{block}{\t{grep}} +\t{grep take takeexp}\\ +\t{echo -e "first line\bsl nsecond line\bsl nafirst line" \vl grep first}\\ +\t{echo -e "first line\bsl nsecond line\bsl nafirst line" \vl grep -w first}\\ +Отобразить N линий до, после или вокруг: \t{-BN}, \t{-AN}, \t{-CN}.\\ +Рекурсивный поиск: \t{-R}.\\ +Инверсия поиска: \t{-v}.\\ +Вывод номера строки: \t{-n}, имени файла: \t{-H}.\\ +Поиск нескольких фраз: \t{-e фраза}.\\ +Регулярные выражения: \t{grep [0-9] file};\\ +IP-адрес: \t{grep -E "[0-9]\{,3\}\bsl.[0-9]\{,3\}\bsl.[0-9]\{,3\}\bsl.[0-9]\{,3\}".\\ +Конструкция \t{\{min,max\}}. +} +\end{block} +}\only<2>{ +\begin{block}{\t{sed}} +\t{sed 's/test/another test/g' ./myfile}\\ +\t{sed -e 's/This/That/' -e 's/test/another test/' ./myfile}\\ +Применение результатов к самому файлу: \t{-i}\\ +Удаление строк: \t{sed '2,3d' myfile} и по шаблону: \t{sed '/test/d' file}\\ +Удаление диапазона по шаблону: \t{sed '/first/,/last/d' file}\\ +Добавить строку до заданной: \t{sed '5i newline' file}\\ +Добавить после заданной: \t{sed '5a newline' file}\\ +Заменить строку: \t{sed '2c newline' file}\\ +Замена отдельных символов: \t{sed 'y/oldset/newset'}\\ +Вставка файла: \t{sed '4r file2' file1}\\ +\end{block} +}\only<3>{ +\begin{block}{\t{awk}} +Вывод полей с номерами: \t{awk -F: '\{print \$1 \$4\}' file} (\t{-F}~-- разделитель)\\ +\t{echo "My name is Tom" | awk '\{\$4="Adam"; print \$0\}'}\\ +Выполнение команд в начале: \t{awk 'BEGIN \{print "Hello World!"\}'}\\ +Команды в конце: \t{awk 'END \{print "End of File"\}'}\\ +Использование скриптов в файле: \t{awk -f awkscript1 /etc/passwd}\\ +Условный оператор: \t{awk '\{if (\$1 > 20) print \$1\}' file}\\ +\t{echo -e "10\bsl n20\bsl n30\bsl n40\bsl n50" | awk -f awkscript2}\\ +Математика: \t{awk 'BEGIN\{x=exp(5); print x\}'} +\end{block} +} +\end{frame} + +\begin{frame}[fragile]{Регулярные выражения} +Спецсимволы: \verb'.*[]^${}\+?|()' (нуждаются в экранировании).\\ +\verb'^'~-- начало строки, \verb'$'~-- конце строки.\\ +Спецклассы: \verb'[[:alpha:]]', \verb'[[:alnum:]]', \verb'[[:blank:]]', \verb'[[:digit:]]', +\verb'[[:upper:]]', \verb'[[:lower:]]', \verb'[[:print:]]', \verb'[[:punct:]]', +\verb'[[:space:]]'.\\ +Символ <<или>>: \t{\vl}. \verb'echo -e "one\ntwo\nthree" | grep -P "one|three"'.\\ +Количество включений: \verb'{{min,max}}'.\\ +Группировка в скобках: \verb'echo -e "testtest\na test\ntesttesttest" | grep -P "(test){3}"'.\\ +\t{grep -G} (базовые регулярные) и \t{grep -P} (расширенные регулярные). + +Проверка адреса электронной почты: +\verb'^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$' +\end{frame} + + +\begin{frame}[fragile]{} +\begin{block}{Нестандартные баш-скрипты} + \lstset{language=C} + \begin{lstlisting} +//usr/bin/gcc $0 && exec ./a.out "$@" + +#include + +int main(int argc, char **argv){ + for(int x = 1; x < argc; ++x) + printf("arg %d is %s\n", x, argv[x]); + printf("Done\n"); + return 0; +} + \end{lstlisting} + \lstset{language=bash} + Запуск: + \begin{lstlisting} +./a.c some "amount of" data +arg 1 is some +arg 2 is amount of +arg 3 is data +Done + \end{lstlisting} +\end{block} +\end{frame} + +\begin{frame}{Примеры} +\begin{block}{} +\begin{enumerate} +\item Получить псевдослучайное число длиной $N$ символов из \t{/dev/urandom}. +\item Заполнить таблицу в 100~строк с шаблоном: столбец~1~--- номер строки, столбец~2~--- +псевдослучайное число от~0 до~1000, столбец~3~--- псевдослучайное число от~-20 до~20, столбец~4~--- +псевдослучайное число с фиксированной точкой от~0 до~100 с~3 знаками после запятой. +\item Отсортировать таблицу из предыдущего примера по 2, 3 и 4 столбцу. +\item В цикле сгенерировать из \t{/dev/urandom} последовательности латинских букв длиной до 100. +Если в последовательности есть искомая (введенная с клавиатуры), отобразить ее на экране. +Продолжать до нахождения 5 вхождений или же до достижения 10000 проверок. Вывести на экран +количество <<попаданий>> и <<промахов>>, а также процентную долю <<попаданий>> по отношению ко всем +испытаниям. +\end{enumerate} +\end{block} +\end{frame} + +\begin{frame}{Задания} +\begin{block}{} +\only<1>{ +\begin{enumerate} +\item Прочитайте \t{man column}. При помощи этой утилиты отформатируйте в читабельном виде вывод +скрипта скрипта из третьего примера. Попробуйте несколько разных видов оформления. +\item Модифицируйте скрипт \t{takeexp} так, чтобы он брал данные из файла, в котором они хранятся в +табличном виде (построчно): номер позиции, время экспозиции в миллисекундах, фокусное расстояние в +условных отсчетах. +\item Напишите скрипт, проверяющий, являются ли данные в таблице членами <<магического квадрата>> +$4\times 4$ (сумма по строкам, столбцам и диагоналям должна быть одинаковой). +\item Сгенерируйте 999 случайных целых чисел от~0 до~1000. При помощи \t{sort}, \t{head} и \t{tail} +найдите медиану полученного ряда. +\savei +\end{enumerate} +}\only<2>{ +\begin{enumerate} +\conti +\item Сгенерируйте 10000 случайных целых чисел от~0 до~99. Создайте файл, в который занесите +гистограмму распределения чисел (первая колонка~--- числа, вторая~--- количество их в ряду данных). +Отформатируйте таблицу при помощи утилиты \t{column}. +\item Нарисуйте в \t{bash} горизонтальную гистограмму по данным из предыдущего задания (значение +фиксированной длины, за которым следует поле из символов \t{*} в нужном количестве). Используйте +форматированный вывод (например, \t{printf "\%-4d\%.5s\bsl n"\, 123 +"*******************************"}. +Попробуйте другой способ нарисовать такую гистограмму. +Учтите, что ширина вывода должна должна быть ограничена заданным числом (80 или 100 символов). +\item Используя циклы и массивы, нарисуйте вертикальную гистограмму. Учтите, что рисовать придется +сверху-вниз. +\item Почитайте об escape-символах. Попробуйте вывести горизонтальную гистограмму в четырех +градациях цвета ($0\div25\%$ максимума~--- одним цветом, $25\div50\%$~--- другим и т.д.). +\end{enumerate} +} +\end{block} +\end{frame} + +\end{document} \ No newline at end of file diff --git a/Komp_obr_SFedU/02-Lect-statistics.pdf b/Komp_obr_SFedU/02-Lect-statistics.pdf new file mode 100644 index 0000000..2cc039e Binary files /dev/null and b/Komp_obr_SFedU/02-Lect-statistics.pdf differ diff --git a/Komp_obr_SFedU/02-Lect-statistics.tex b/Komp_obr_SFedU/02-Lect-statistics.tex new file mode 100644 index 0000000..6691df0 --- /dev/null +++ b/Komp_obr_SFedU/02-Lect-statistics.tex @@ -0,0 +1,589 @@ +\documentclass[10pt,pdf,hyperref={unicode}]{beamer} +\hypersetup{pdfpagemode=FullScreen} +\usepackage{lect} + +\title[Компьютерная обработка. Лекция 2.]{Компьютерная обработка результатов измерений} +\subtitle{Лекция 2. Статистика и вероятность. Случайные величины и распределения} +\date{} + +\begin{document} +% Титул +\begin{frame}{} +\maketitle +\end{frame} +% Содержание +\begin{frame}{} +\tableofcontents[hideallsubsections] +\end{frame} + +\section{Случайные величины, вероятность} +\begin{frame}{Случайные величины, вероятность} + \begin{defin} + \ж Случайной величиной\н называется величина~$X$, если все ее возможные значения образуют + конечную + или бесконечную последовательность чисел~$x_1,\ldots$, $x_N$, и если принятие ею каждого из + этих + значений есть случайное событие. + \end{defin} + \begin{defin}\begin{columns}\column{0.75\textwidth} + \ж Вероятностью\н наступления события называют предел относительной частоты + наступления данного события~$n_k/N$:\column{0.25\textwidth} + $$P(x_k)=\lim_{N\to\infty}\frac{n_k}{N}.$$ + \end{columns} + \end{defin} + \begin{block}{} + Если событие\ж невозможно\н ($\emptyset$), его вероятность равна нулю. Однако, обратное в + общем случае неверно (например, вероятность попасть в конкретную точку мишени равна нулю, + но это событие не является невозможным). + + Вероятность\ж достоверного\н события равна 1. + \end{block} +\end{frame} + +\begin{frame}{Условная вероятность} + \begin{defin}\ж Условной вероятностью\н двух событий $A$ и $B$ (вероятность появления $A$ при + условии $B$) называют отношение числа опытов, в которых $A$ и $B$ появились вместе, к полному + числу опытов, в которых появилось $B$: + $$P(A|B)=\frac{n_{AB}}{n_B}=\frac{n_{AB}/N}{n_B/N}=\frac{P(AB)}{P(B)}.$$ + \end{defin} + \begin{block}{} + У\ж независимых\н событий $P(A|B)=P(A)$, $P(B|A)=P(B)$. + А т.к. $P(A|B)=\frac{P(AB)}{P(B)}$, получим для независимых событий: + $$P(AB)=P(A)\cdot P(B).$$ + \end{block} + \begin{block}{Умножение вероятностей} + $$P(AB)=P(B)\cdot P(A|B)=P(A)\cdot P(B|A).$$ + \end{block} +\end{frame} + +\begin{frame}{Сложение вероятностей} + \begin{block}{Несовместные события} + $A_iA_j=\emptyset\quad \forall i\ne j$, $P(A_i+A_j)=P(A_i)+P(A_j)$. + \end{block} + \begin{block}{Совместные события} + $P(A_i+A_j)=P(A_i)+P(A_j)-P(A_iA_j)$. + \end{block} + \begin{block}{Независимые совместные события} + $$P(\overline{A}\,\overline{B}) = P(\overline{A})\cdot P(\overline{B}) = + (1-P(A))\cdot(1-P(B))=1-P(A)-P(B)+P(A)\cdot P(B)$$ + $$P(A+B)=P(A)+P(B)-P(AB)\quad\Arr$$ + $$1-P(A+B)=P(\overline{A}\,\overline{B})\quad\text{или}\quad + P(A+B)=1-P(\overline{A}\,\overline{B}).$$ + \end{block} +\end{frame} + +\begin{frame}{Полная вероятность} + \only<1>{ + \begin{block}{} + \ж Полная вероятность\н (вероятность события, зависящего от условий опыта) является + следствием правил сложения и умножения вероятностей. + \end{block} + \begin{block}{} + $N$ условий опыта должны быть взаимоисключающими, т.е. несовместными: $P(H_iH_j)=0$ для + $j\ne j$. И они должны формировать\ж полную группу\н, т.е. $\sum P(H_i)=1$. Тогда + $P(A)=\sum P(AH_i)$. А т.к. $P(AH_i)=P(H_i)\cdot P(A|H_i)$, получим: + $$P(A)=\sum_{i=1}^{N}P(H_i)\cdot P(A|H_i).$$ + Здесь $P(H_i)$~---\ж априорная вероятность\н (известна до проведения опыта). Вероятность + $P(A|H_i)$ мы узнаем из опыта, ее называют\ж апостериорной\н. + \end{block} +}\only<2>{ + \begin{block}{Пример} + Среди наблюдаемых спиральных галактик 23\% имеют тип Sa, 31\%~-- тип Sb и 45\%~-- тип Sc. + Вероятность вспышки сверхновой в течение года в галактике Sa составляет $0.20\%$, в Sb~-- + $0.35\%$, в Sc~-- $0.55\%$. Найти вероятность вспышки сверхновой в спиральной галактике, + тип которой не удается определить. + + $P(S_a)=0.23$, $P(S_b)=0.31$, $P(S_c)=0.46$. Вероятность вспышки в галактике типа $X$ есть + $P(F|X)$. Тогда полная вероятность вспышки равна $P(F)=\sum P(X)P(F|X)$. То есть: + $$P(F)=0.23\cdot0.002+0.31\cdot0.0035+0.46\cdot0.0055=0.0041=41\%.$$ + \end{block} +} +\end{frame} + +\begin{frame}{Формула (теорема) Байеса} + \only<1>{ + \begin{block}{} + Как и для полной вероятности, гипотезы $H_i$ считаем несовместными, образующими полную + группу. + Событие $A$ считаем уже произошедшим. В этом случае можно пересчитать априорные + вероятности~$P(H_i)$ с учетом этого. Найдем $P(H_i|A)$. Известно, что $P(H_iA)=P(H_i)\cdot + P(A|H_i)$ или $P(H_iA)=P(A)\cdot P(H_i|A)$. + $$P(A)\cdot P(H_i|A)=P(H_i)\cdot P(A|H_i),\quad\Arr$$ + \ж Формула Байеса\н + $$P(H_i|A)=\frac{P(H_i)P(A|H_i)}{P(A)},$$ + где $P(A)=\sum P(H_i)P(A|H_i)$. + \end{block} +}\only<2>{ + \begin{block}{Пример} + В течение часа наблюдений была обнаружена вспышка сверхновой в спиральной галактике + неизвестного типа. Определить вероятность того, что галактика принадлежит каждому из + подтипов Sa, Sb или Sc. + + По формуле Байеса, $P(X|F)=\dfrac{P(X)P(F|X)}{P(F)}$. В предыдущем примере мы уже нашли: + $P(F)=0.0041$, следовательно + $$P(S_a|F)=\frac{0.23\cdot 0.0020}{0.0041}=0.11,$$ + $$P(S_b|F)=\frac{0.31\cdot 0.0035}{0.0041}=0.27,$$ + $$P(S_c|F)=\frac{0.46\cdot 0.0055}{0.0041}=0.62.$$ + \end{block} +} +\end{frame} + +\begin{frame}{Итог: свойства вероятности} + \begin{block}{}\def\arraystretch{1.5} + \centering\begin{tabular}{>{\centering}p{0.45\textwidth}l} + $P(\emptyset) = 0$ &\\ + $\forall A\subset B \quad P(A) \le P(B)$ & $B$ включает в себя $A$\\ + $0\le P(A) \le 1$ & \\ + $\forall A\subset B\quad P(B \setminus A) = P(B) - P(A)$ & $B$ наступит без $A$\\ + $P(\overline{A}) =1 - P(A)$ &\\ + $P(A+B) = P(A) + P(B) - P(AB)$ & вероятность одного из событий\\ + $P(A\vert B) = \frc{P(AB)}{P(B)}$ & условная вероятность ($A$ при $B$) + $\Longrightarrow$\\ + $P(AB) = P(B)\cdot P(A\vert B)$ & или $P(AB) = P(A)\cdot P(B\vert A)$ + $\Longrightarrow$\\ + $P(A\vert B)=\dfrac{P(A)\cdot P(B\vert A)}{P(B)}$ & (теорема Байеса)\\[1em] + $P(AB) = P(A)\cdot P(B)$ & для независимых событий\\ + \end{tabular} + \end{block} +\end{frame} + +\section{Комбинаторика} +\begin{frame}{Комбинаторика} + \only<1>{ + \begin{block}{Размещение} + Количество способов, которыми можно разместить $n$ элементов по $k$ ячейкам. + + Без повторений: $A_n^k=n(n-1)\cdots(n-k+1)=\dfrac{n!}{(n-k)!}=\binom{n}{k}k!$. + + С повторениями (каждый предмет можно взять до $k$ раз): $\overline{A}_n^k=n^k$. + + Размещение без повторений встречается в задачах на составление $k$-значных чисел из + $n$~цифр, причем, каждая цифра может использоваться лишь однократно. Размещение с + повторениями показывает все возможные комбинации $n$~цифр в $k$~разрядах (например, + количество чисел до $k$-го разряда по основанию $n$). + \end{block} +}\only<2>{ + \begin{block}{Перестановка} + Без повторений: $P_n=A_n^n=n!$. + + С повторениями ($n$ элементов $m$ типов). $n_i$~-- количество элементов каждого типа (т.е. + $\sum n_i=n$). $P(n_1,\ldots,n_m)=\dfrac{n!}{\prod n_i!}$. + + Задача на перестановки без повторений является частным случаем задачи размещения без + повторений, когда $k=n$. + + Пример задачи на перестановки с повторениями~--- формирование разных слов (даже лишенных + смысла) из букв заданного слова. Например, из слова <<собака>> можно составить + $6!/(1!1!1!2!1!)=720/2=36$. + \end{block} +}\only<3>{ + \begin{block}{Сочетание} + Неупорядоченный набор из $k$ элементов $n$-элементного множества. Т.о. сочетание~--- это + такое размещение $n$ по $k$, где не учитывается порядок следования членов (напр., + размещения 123, 213, 321 и т.д. считаются одним сочетанием). + + Без повторений: $C_n^k=\binom{n}{k}=\dfrac{n!}{k!(n-k)!}$. + + С повторениями: + $\overline{C}_n^m=\binom{n+k-1}{n-1}=\binom{n+k-1}{k}=\dfrac{(n+k-1)!}{k!(n-1)!}$. + + Схема испытаний Бернулли: $P_n^k=C_n^kp^k(1-p)^{n-k}$ (вероятность, что событие наступит + $k$~раз в $n$~испытаниях). $1=(p+[1-p])^n=\sum C_n^k p^{n-k}(1-p)^k=\sum P_n^k$. + \end{block} +} +\end{frame} + +\begin{frame}{} + \begin{block}{} + Для непрерывных случайных величин, $X$, вводят понятия\ж Функции распределения\н, $F(x)$ и + \ж плотности вероятности\н, $\rho(x)$: $F(x)=P(X{ +\begin{defin} +\ж Квантиль\н~-- значение, которое случайная величина не превышает с фиксированной вероятностью. +$\alpha$-квантиль, $x_\alpha$: $P(X\le x_\alpha)=\alpha$, $P(X\ge x_\alpha)=1-\alpha$. +\end{defin} +\begin{block}{} +$P(X\le x_\frac{1+\alpha}{2})=\frac{1+\alpha}{2}$, $P(X\le +x_\frac{1-\alpha}{2})=\frac{1-\alpha}{2}$, следовательно, свойство: +$$P(x_\frac{1-\alpha}{2}\le X\le +x_\frac{1+\alpha}{2})=\frac{1+\alpha}{2}-\frac{1-\alpha}{2}=\alpha.$$ +\к Процентиль\н (перцентиль)~-- квартиль, выраженная в процентах. Например, <<70-й перцентиль>> +(величина с вероятностью 70\% меньше этого значения). \к Квартиль\н~-- деление на четыре (первый, +второй и третий квартили). \ж Медиана\н~-- второй квартиль. $IQR=x_{0.75}-x_{0.25}$~-- +интерквартильный интервал. +\end{block} +}\only<2>{ +\begin{columns} +\column{0.6\textwidth} +\begin{block}{Квантили нормального распределения} +$P$~-- вероятность, $x_P$~-- квантиль (в~RMS от мат. ожидания), $P_c = P(-x_P\le X-\mean{X}\le +x_P)$. + +\begin{tabular}{|c||c|c|c|c|c|} +\hline +$P$ & 99.99 & 99.90 & 99.00 & 97.72 & 97.50 \\ +\hline +$x_P$ & 3.719 & 3.090 & 2.326 & 1.999 & 1.960\\ +\hline +$P_c$ & 99.98 & 99.80 & 98.00 & 95.44 & 95.00 \\ +\hline +\end{tabular} + +\begin{tabular}{|c||c|c|c|c|c|} +\hline +$P$ & 95.00 & 90.00 & 84.13 & 50.00 \\ +\hline +$x_P$ & 1.645 & 1.282 & 1.000 & 0.000 \\ +\hline +$P_c$ & 90.00000 & 80.00 & 68.27 & 0.00\\ +\hline +\end{tabular} +\end{block} +\column{0.38\textwidth}\img{Boxplot_vs_PDF} +\end{columns} +} +\end{blueframe} + +\begin{frame}[fragile]{} +Octave: пакет \t{statistics}, функция \t{norminv}. Например: +\begin{verbatim} + norminv([0.9 0.95 0.99 0.999 0.9999]) + ans = + 1.2816 1.6449 2.3263 3.0902 3.7190 +\end{verbatim} +Можно также задать~$\mean{X}$ и $\sigma_X$ (скажем, квантиль 90\% при $\mean{X}=25$ и $\sigma_X=3$): +\begin{verbatim} +norminv(0.9, 25, 3) +ans = 28.845 +\end{verbatim} +Для расчета вероятности $P(X\le x_0)$ функция \t{normcdf} (интегральное распределение). Например, +посчитаем вероятности нахождения в интервале $\mean{X}\pm k\sigma$: +\begin{verbatim} +k=[1:0.5:5]; +normcdf(k)-normcdf(-k) +ans = +0.68269 0.86639 0.95450 0.98758 0.99730 0.99953 +0.99994 0.99999 1.00000 +\end{verbatim} +\end{frame} + +\begin{frame}{Характеристические значения распределений} +\begin{block}{Медиана и мода} + {\ж Мода}~--- наиболее часто встречающееся значение (но вполне могут быть + мультимодальные + распределения). {\ж Медиана} делит площадь распределения пополам. +\end{block} +\img[0.6]{mode_median} +\begin{block}{Поиск медианы} +Самый медленный~--- сортировкой ряда данных, $O(n\ln n)$. Quick Select, $O(n)$. Гистограмма (в т.ч. +дерево гистограмм), $O(n)$. Для фиксированных $n$~--- opt\_med (,,Numerical Recipes in C``), $O(n)$. +\end{block} +\end{frame} + +\section{Законы распределения} +\begin{frame}{Законы распределения} + \begin{defin} + \ж Закон распределения\н \к дискретной\н случайной величины~--- соответствие между + возможными значениями и их вероятностями. + \end{defin} + \begin{block}{Функция распределения} + $$F(x)\equiv P(X\le x)=\Int_{-\infty}^x\phi(x)\,dx, \qquad + \Infint\phi(x)\,dx=1.$$ + $$P(a\le X\le b)=F(b)-F(a).$$ + \end{block} +\end{frame} + +\begin{frame}{Равномерное распределение} + \begin{columns}\column{0.45\textwidth} + \begin{block}{} + $$ + \phi(x)=\begin{cases}\frac1{b-a}, & x\in [a,b] \\ 0, & x\not\in [a,b] + \end{cases}. + $$ + $$F(x)= \begin{cases} 0, & x < a \\ \frac{x-a}{b-a}, & a \le x < b \\ 1, & x \ge + b \end{cases}. + $$ + \end{block}\column{0.45\textwidth} + \begin{block}{} + $\mean{X}=\med(X)=(a+b)/2$, $\moda(X)=\forall x\in[a,b]$, + $\displaystyle\sigma^2_X = \frac{(b-a)^2}{12}$. + \end{block} + \end{columns} + + \smimg[0.45]{Uniform_distribution_PDF}\hspace{3pt} + \smimg[0.45]{Uniform_distribution_CDF} +\end{frame} + +\begin{lightframe}{Биномиальное распределение} + \vspace*{-0.8em}\begin{block}{} + \ж Формула Бернулли\н: + $\displaystyle P_n(k)=C_n^k p^k q^{n-k},\quad C_n^k=\frac{n!}{k!(n-k)!},\quad + q=1-p.$ + $$(p+q)^n=C_n^n p^n+\cdots+C_n^k p^k q^{n-k}+\cdots+C_n^0 q^k.$$ + Описывает вероятность наступления события~$k$ + раз в~$n$ независимых испытаниях + \end{block}\vspace*{-1em} + \begin{columns} + \column{0.45\textwidth} + \img{Binomial_Distribution} + \column{0.55\textwidth} + \begin{block}{} + $$ + F(k;n,p)=P(X\leq k)=\sum_{i=0}^\floor{k} C_n^i p^i(1-p)^{n-i}.$$ + $\mean{X}=np$, $\moda(X)=\floor{(n+1)p}$, $\floor{np}\le\med(X)\le\ceil{np}$, + $\sigma^2_X = npq$. + \end{block} + \end{columns} +\end{lightframe} + +\begin{frame}{Распределение Пуассона} + \vspace*{-2em}\begin{block}{} + Распределение вероятности\к редких событий\н. При $n\to\infty$ распределение Бернулли + преобразуется в распределение Пуассона + ($\lambda=np$): + $$P_n(k)=\frac{\lambda^k}{k!}\exp(-\lambda).$$ + \end{block} + \begin{columns}\column{0.48\textwidth} + \begin{block}{} + $F(k, \lambda) = \displaystyle\frac{\Gamma(k+1,\lambda)}{k!}$, + $\mean{X} = \lambda$, $\moda(X) = \floor{\lambda}$, + $\med{X}\approx\floor{\lambda+1/3-0.02/\lambda}$, + $\sigma^2_X = \lambda$. + + С ростом $\lambda$ распределение Пуассона стремится к распределению Гаусса. + \end{block} + \column{0.48\textwidth} + \img{poissonpdf} + \end{columns} +\end{frame} + +\begin{frame}{Распределение Гаусса} + \vspace*{-2em}\begin{block}{} + $ + \phi (x) = \dfrac 1 {\sigma \sqrt {2 \pi}} \exp \left( -\frac {(x -\mean{x})^2}{2 + \sigma^2} \right) + $, + $F(x) = \displaystyle\frac 1{\sigma \sqrt {2 \pi}} \Int_{-\infty}^x \exp \left( -\frac{(t + -\mean{x})^2}{2 \sigma^2} \right)\, dt$, + $\moda(X) = \med{X} = \mean{X}$. + $P(\alpha < X < \beta) = \Phi\left(\frac{\beta - \mean{x}}{\sigma}\right) - + \Phi\left(\frac{\alpha - \mean{x}}{\sigma}\right) $,\\ + функция Лапласа $\Phi(x)=\frac{1}{\sqrt{2\pi}}\int_0^x \exp\left(-\frc{t^2}{2}\right)$. + \end{block} + \img[0.6]{normpdf} +\end{frame} + +\begin{frame}{Показательное (экспоненциальное) распределение} + \vspace*{-1em}\begin{block}{} + Время между двумя последовательными свершениями события + $$f(x)=\begin{cases} + 0,& x<0,\\ + \lambda\exp(-\lambda x),& x\ge0; + \end{cases}\qquad + F(x)=\begin{cases} + 0,& x<0,\\ + 1-\exp(-\lambda x),& x\ge0, + \end{cases} + $$ + \end{block} + \vspace*{-1em}\begin{block}{} + $\mean{X} = \lambda^{-1}$, + $\moda(X) = 0$, $\med{X} = \ln(2)/\lambda$, + $\sigma^2_X = \lambda^{-2}$. + \end{block} + \vspace*{-1em}\img[0.5]{exppdf} +\end{frame} + +\section{Корреляция и ковариация} +\begin{frame}{Корреляция и ковариация} + \begin{defin} + \ж{}Ковариация\н является мерой линейной зависимости случайных величин и определяется + формулой: + $\mathrm{cov}(X,Y)=\mean{(X-\mean{X})(Y-\mean{Y})}$ $\Longrightarrow$ $\mathrm{cov}(X,X) = + \sigma^2_X$. + \к Ковариация независимых случайных величин равна нулю\н, обратное неверно. + \end{defin} + \begin{block}{} + Если ковариация положительна, то с ростом значений одной случайной величины, значения + второй имеют + тенденцию возрастать, а если знак отрицательный~--- убывать. + + Масштаб зависимости величин пропорционален их дисперсиям $\Longrightarrow$ масштаб можно + отнормировать (\ж{}коэффициент корреляции\н Пирсона): + $$\rho_{X,Y}=\frac{\mathrm{cov}(X,Y)}{\sigma X\sigma Y}, \qquad \mathbf{r}\in[-1,1].$$ + \end{block} +\end{frame} + +\begin{frame}{} + \begin{block}{} + Коэффициент корреляции равен~$\pm1$ тогда и только тогда, когда~$X$ и~$Y$ линейно зависимы. + Если + они независимы, $\rho_{X,Y}=0$ (\ж{}обратное неверно!\н). Промежуточные значения + коэффициента + корреляции не позволяют однозначно судить о зависимости случайных величин, но позволяет + предполагать + степень их зависимости. + \end{block} + \begin{block}{Корреляционная функция} + Одна из разновидностей~---\ж автокорреляционная функция\н: + $$ + \Psi(\tau) = \Int f(t) f(t-\tau)\, dt\equiv + \Int f(t+\tau) f(t)\,dt. + $$ + Для дискретных случайных величин автокорреляционная функция имеет вид + $$ + \Psi(\tau) = \aver{X(t)X(t-\tau)}\equiv\aver{X(t+\tau)X(t)}. + $$ + \end{block} +\end{frame} + +\begin{blueframe}{} +\only<1>{ + \begin{block}{Взаимно корреляционная функция} + Другая разновидность~---\ж кросс--корреляционная функция\н: + $$(f\star g)(t)\stackrel{\mathrm{def}}{=}\Infint f^{*}(\tau)g(t+\tau)\,d\tau$$ + свертка: + $$ (f*g)(x)\stackrel{\mathrm{def}}{=}\Infint f(y)\,g(x-y)\,dy = \Infint f(x-y)\,g(y)\, dy.$$ + + \end{block} + \img[0.5]{convcorr} +}\only<2>{ + \begin{block}{} + Если $X$ и $Y$~--- две независимых случайных величины с функциями распределения вероятностей + $f$ и $g$, то $f\star g$ соответствует распределению вероятностей выражения $-X+Y$, а + $f*g$~--- + распределению вероятностей суммы $X + Y$. + + ВКФ часто используется для поиска в длинной последовательности более короткой заранее + известной, + определения сдвига (см.~рис). + + Связь со сверткой: $f(t)\star g(t) = f^*(-t) * g(t)$, если $f$ и $g$ четны, то + $f(t)\star g(t) = f(t) * g(t)$. Через преобразование Фурье: + $\FT{f \star g} = \FT{f}^*\cdot\FT{g}$. +\end{block}\img[0.6]{autocorr} +} +\end{blueframe} + +\begin{frame}{} +\begin{block}{Применение корреляции} +\begin{itemize} + \item Расчет спектральной плотности энергии и энергетического содержимого сигнала. + $\FT{\Psi(\tau)}=G_E(f)$~-- образ Фурье автокорреляционной функции есть спектральная плотность + энергии; $\Psi(0)=E$~-- полная энергия сигнала. + \item Детектирование и оценка периодических сигналов в шуме. + \item Корреляционное детектирование. +\end{itemize} +\end{block} +\end{frame} + +\section{Шум} +\begin{frame}{Шум} + \begin{defin} + \ж Шум\н~--- беспорядочные колебания различной физической природы, отличающиеся сложной + временной и + спектральной структурой. + \end{defin} + \begin{block}{} + \ж Белый шум\н, $\xi(t)$, имеет время корреляции много меньше всех характерных времен + физической + системы; $\mean{\xi(t)}=0$, + $\Psi(t,\tau)=\aver{\xi(t+\tau)\xi(t)}=\sigma^2(t)\delta(\tau)$. + Разновидность~--- AWGN. + + \ж Дробовой шум\н имеет пуассонову статистику~\so $\sigma_X\propto\sqrt{x}$ и + $\SNR(N)\propto\sqrt{N}$. Суточные и вековые корреляции. + + Шум вида \ж<<соль--перец>>\н обычно характерен для изображений, считываемых с ПЗС. + \end{block} +\end{frame} +\begin{frame}{SNR} + \begin{defin} + \ж SNR\н~--- безразмерная величина, равная отношению мощности полезного сигнала к мощности + шума. + \end{defin} + \begin{block}{} + $$\SNR = {P_\mathrm{signal} \over P_\mathrm{noise}} = \left ({A_\mathrm{signal} \over + A_\mathrm{noise} } \right )^2, \quad + \SNR(dB) = 10 \lg \left ( {P_\mathrm{signal} \over P_\mathrm{noise}} + \right ) + = 20 \lg \left ( {A_\mathrm{signal} \over A_\mathrm{noise}} \right ). + $$ + \end{block} + + \img[0.6]{SNR} + \centerline{\tiny (10, 0, -10~дБ.)} +\end{frame} + + +\begin{frame}{Спасибо за внимание!} +\centering +\begin{minipage}{5cm} +\begin{block}{mailto} +eddy@sao.ru\\ +edward.emelianoff@gmail.com +\end{block}\end{minipage} +\end{frame} +\end{document} diff --git a/Komp_obr_SFedU/02_Pract.pdf b/Komp_obr_SFedU/02_Pract.pdf new file mode 100644 index 0000000..9e29c20 Binary files /dev/null and b/Komp_obr_SFedU/02_Pract.pdf differ diff --git a/Komp_obr_SFedU/02_Pract.tex b/Komp_obr_SFedU/02_Pract.tex new file mode 100644 index 0000000..6363b9a --- /dev/null +++ b/Komp_obr_SFedU/02_Pract.tex @@ -0,0 +1,253 @@ +\documentclass[a4paper,12pt]{extarticle} +\usepackage{/home/eddy/ed} +\title{Практикум \No2: статистика и вероятность} +\author{}\date{}\nocolon + +\long\def\task#1{\noindent\leavevmode\refstepcounter{sect}\llap{\textbf{\thesect}\;}\indent\textit{#1}} +\def\t#1{{\upshape\ttfamily #1}} + +\begin{document} +\maketitle +\section{Введение в Octave} +Справка: \verb'help команда'. + +Случайные числа: \verb'rand(rows, cols)'~--- равномерное распределение, +\verb'randn(rows, cols)'~--- нормальное, \verb'rande'~--- экспоненциальное, \verb'randg'~--- +гамма-распределение, \verb'randp'~--- Пуассон. + +\subsection{Матрицы и векторы} +Создание векторов: \verb'A=[1 2 3]' или же \verb'A=[1,2,3]'. Вектор-столбец: \verb|A=[1 2 3]'| или +же \verb'A=[1;2;3]'. \verb'A=[начзн.:<шаг:>конзн.]'. + +Создание матриц: \verb'A=[1 5 2; 4 1 0]'. Конкатенация: \verb'A=[1:3]', \verb'B=[6:8]', +\verb'C=[12:14]'; \verb'D=[A;B;C]'. Или: \verb|A=[1:3]'|, \verb|B=[6:8]'|, +\verb|C=[12:14]'|; \verb'D=[A B C]'. Конкатенация возможна и для векторов и матриц: +\verb|E=[(20:22)' (11:13)']|, \verb'[D E]'. \verb'X=[4 3 2]', \verb'Y=[9 8 7]', \verb'Z=[X Y]'. + +Размер в элементах: \verb'numel(A)'. Размер в байтах: \verb'sizeof(A)'. Размерность: \verb'size(A)'. + +Посмотреть значение переменной можно, указав ее имя или же команду \verb'disp(X)'. + +Специальные матрицы: \verb'eye(x)', \verb'ones(x)', \verb'zeros(x)', +\verb'repmat(matrix, [ycount xcount])', \verb'magic(x)'. +\textbf{Первая координата~--- Y!} + +Список переменных: \verb'whos'. Удалить переменные: \verb'clear'. + +\textbf{Индексы~--- с единицы!} Индексация: \verb'X=magic(5)', \verb'X(1:2,3:5)', +\verb'X(2:end,3:end)', \verb'X(:,3)', \verb'X(3,:)', \verb'magic(4)(:,1)'. + +Матрицу~--- в столбец: \verb'magic(4)(:)'. + +Удаление элементов матриц и векторов: \verb'vec=[1:10]', \verb'idx=[3,7,5]', \verb'vec[idx]=[]'; +\verb'X(:,[1,3])=[]'. + +\subsection{Матричные и векторные операции} +Сложение, вычитание: \verb'A+B', \verb'A-B'. + +Транспонирование, сопряжение: \verb|A'|. Степень (для квадратных матриц): \verb'X^n'. +\textbf{Отрицательная степень}: \verb'A^(-1)==inv(A)', но \verb'A^(-2)==inv(A)^2'! +\textbf{Поэлементные операции}: \verb'A.(op)'. Умножение матриц: \verb'A*B', например, +\begin{verbatim} +A=[1 4 7; 8 5 2]; +B=[4 5; 9 6; 3 1]; +X=A*B +ans = +61 36 +83 72 +\end{verbatim} + +\verb'A=[1 2; 3 4]', \verb'B=[50 60; 70 80]'. +Матричное деление: \verb'A/B' (\verb'(A/B)*B==A'), эквивалентно $AB^{-1}$. <<Левое>> деление: +\verb'A\B' (\verb'A*(A\B)==B'), эквивалентно $A^{-1}B$. + +\subsection{Графики} +\verb'x=[0:0.1:2*pi]', \verb'plot(sin(x))'. + +Сохранить график: \verb'print -dpdf plot.pdf'. + +Гистограмма: \verb'hist(x,N)'. Например, +\begin{verbatim} +x=rand(1,10000); +hist(x); +hist(x, 5); +x=randn(1,10000); +hist(x,20); +\end{verbatim} + +Графики двумерных функций. \verb'[X,Y]=meshgrid(-5:0.1:5,-6:0.1:6);', \verb'Z=X.^2-4*Y.^2;', +\verb'surf(X,Y,Z)'. \verb'surfc(X,Y,Z)'~--- с изолиниями. \verb'mesh(X,Y,Z)'. + +Закрыть график: \verb'close all' или же \verb'close(fig)'. \verb'P=figure(N);'. Выбор между текущим +графиком для отображения: \verb'figure(N)'. Например: +\begin{verbatim} +P1=figure(1); P2=figure(2); +mesh(X,Y,Z); +figure(1); +surfc(X,Y,Z); +close(P2); +\end{verbatim} + +\verb'hold on/off'~--- дорисовать что-то на графике. + +Но интерфейс Octave к gnuplot не сравнится с самим gnuplot (пример)! + +Построим график плотности вероятности нормального распределения величины с $\mean{X}=-20$ и +$\sigma_X=20$: \verb'x=[-70:30]; y=normpdf(x,-20,20);'. + +\subsection{Циклы, условия} +Цикл \verb'for'. \verb'for x=1:10; printf("x=%d\n", x); endfor'. + +\begin{verbatim} + X=[]; Y=[]; for x=1:3; A=dlmread(sprintf("for%02d", x)); + > X=[X; A(:,1)]; Y=[Y; A(:,2)]; endfor + plot(X, Y, 'o') +\end{verbatim} + +Цикл \verb'while': +\begin{verbatim} + F=1; x=1; while F < 1e10; x+=1; F*=x; endwhile; printf("!%d=%g\n", x, F); + !14=8.71783e+10 +\end{verbatim} + +Условия: +\begin{verbatim} +x = input("Enter value: "); +if(x < -5) printf("Less than -5\n") +>elseif (x > 5) printf("More than 5\n") +>else printf("Between -5 and 5\n") +>endif +\end{verbatim} + +\subsection{m-файлы} +Функции и скрипты. Функции: \verb'checkX.m'. + +Скрипты: \verb'script.m'. Скрипт выполняется в глобальном пространстве! +Пример (закомментировать \verb'x=' в \verb'script.m'): +\begin{verbatim} +clear +x = [-2*pi:0.1:2*pi]; +script +\end{verbatim} + +Проверка переменной (и не только): \verb'exist(name, type)', скрипт \verb'script_chk' (запустить с +определенной \verb'x' и после \verb'clear'). + +\subsection{Статистика} +Среднее: \verb'mean(x)'. RMS: \verb'std(x)'. Медиана: \verb'median(x)'. Сумма: \verb'sum(x)'. +Кумулятивная сумма: \verb'cumsum(x)'. Сортировка: \verb'sort(x)'. + +Минимум, максимум: \verb'min(x)', \verb'max(x)'. + + +\section{Примеры выполнения заданий} +\task{Сгенерировать синусоиду на участке~$[0,2\pi]$, добавить к ней гауссов белый шум с +амплитудой~10\,дБ. Построить график.} + +Сгенерируем синусоидальный сигнал на участке~$[0,2\pi]$ +командами +$$\verb'x=[0:pi/50:2*pi]; y=sin(x);'$$ +Теперь добавим к сигналу +гауссов белый шум с амплитудой 10~дБ относительно амплитуды сигнала: +$$\verb"y1=awgn(y,10,'measured'); plot(x, [y; y1])"$$ +Третий параметр (measured) обязателен, т.к. без него процесс добавления +шума будет несколько иным (мощность сигнала будет считаться равной 0~дБ), можете +проверить на синусоиде с амплитудой~10. + +\task{Сгенерировать синусоиду с периодом $\pi/5$ на интервале $[0,20]$ с амплитудной модуляцией +пилообразной функцией с периодом~10.} + +Для генерации синусоидального сигнала $y_0=A\sin(2\pi t/T)$ с амплитудной модуляцией +по закону $y_1=f(t)$ необходимо перемножить эти две функции: $y=y_0\cdot y_1$. +Промодулируем синусоиду с периодом $\pi/5$ пилообразным сигналом с периодом~10 +на интервале $x\in[0,20]$. +Для генерирования <<пилы>> используется функция \verb'sawtooth'. Если задать +ей один аргумент (вектор $x$), период будет равен~$2\pi$, а сигнал будет +изменяться в интервале $[-1,1]$. Чтобы задать смещение максимума, равное $a\cdot2\pi$, +необходимо указать: \verb'y=sawtooth(x,a)'. Таким образом, чтобы получить +<<пилу>> с интервалом сигнала в $[0,1]$ и периодом~10, необходимо дать команду +\verb'y1=0.5+sawtooth(x*2*pi/10)/2;'. Следовательно, получить наш сигнал можно +командой +$$\verb'y=sin(x*10).*(0.5+sawtooth(x*pi/5)/2);'$$ +(не забудьте про точку перед знаком умножения между функциями, иначе +получите ошибку, т.к. Octave попытается перемножить два вектора--строки). + +\task{На интервале $[0,20]$ создать две синусоиды, сдвинутые друг относительно друга на 3~единицы. +При помощи взаимно-корреляционной функции определить этот сдвиг.} + +\verb'x=[0:0.05:20];' \verb'y=sin(x);' +\verb'y1=sin(x+3);' + +Попробуем определить, на сколько единиц сдвинут первый +сигнал относительно второго. Для этого воспользуемся корреляционной функцией. +Запишем \verb'Corr=xcorr(y,y1);'. Корреляционная функция в данном случае имеет +вдвое большую ширину, чем исходная, т.к. она получается путем последовательного +сдвига второй функции относительно первой. Поэтому построим график командой +\verb'plot([-20:0.05:20],Corr)'. Воспользовавшись функцией увеличения можно +увидеть, что ближайший к нулю максимум соответствует сдвигу одной функции +относительно другой. В нашем случае сигнал был периодическим, поэтому при +сдвигах на величины, превышающие половину периода, возникает ошибка, кратная +полупериоду. Это необходимо учитывать в расчетах. + +Поменяем сдвиг на~0.2 и посмотрим, как изменится график. + +\task{Найдите сумму, разность, произведение и частное матриц + $$A=\begin{pmatrix}4&12&8\\7&11&-1\\2&12&3\end{pmatrix},\qquad + B=\begin{pmatrix}11&2&0\\0&3&0\\1&-1&12\end{pmatrix}.$$ + Найдите определители исходных и получившихся матриц (команда \t{det(A)})} +\begin{verbatim} +a=[4 12 8; 7 11 -1; 2 12 3]; +b=[11 2 0; 0 3 0; 1 -1 12]; +sum=a+b +dif=a-b +prod=a*b +div=a/b +det(a) ... +\end{verbatim} + +\section{Задания для самостоятельного выполнения} +\begin{enumerate} + \item Найдите сумму, разность, произведение и частное матриц + $$A=\begin{pmatrix}1&2&3\\6&5&4\\9&8&7\end{pmatrix},\qquad + B=\begin{pmatrix}9&8&7\\5&3&1\\0&2&6\end{pmatrix}.$$ + Найдите определители исходных и получившихся матриц (команда \verb'det(A)'). + + \item + Найдите значение почленного, матричного и скалярного произведений векторов + $a=(2,5,7)$ и $b=(11,13,17)$. Скалярное произведение найдите двумя способами: + путем перемножения векторов и при помощи функции \verb'dot(a,b)'. + Найдите векторное произведение $a\times b$ при помощи функции + \verb'cross(a,b)'. + + \item + Постройте график нормального распределения на интервале $[0,100]$ с математическим + ожиданием~50 и дисперсией~100. + + \item + \label{noicy_AM} + Получите сигнал с амплитудной модуляцией (из примера). Добавьте к нему гауссов + белый шум с SNR 100, 50, 10 и~1~дБ. Постройте отдельно графики всех + полученных сигналов. Можно ли сделать какой-либо вывод о виде сигнала при + SNR=1? Как вы думаете, можно ли восстановить из него исходный сигнал? + + \item + Для полученного сигнала найдите следующие характеристики: математическое ожидание + (\verb'mean'), среднее квадратичное отклонение (\verb'std'), медиану (\verb'median') + и моду (\verb'mode'). Найдите аналогичные величины для разности между зашумленным + и оригинальным сигналом. Сравните полученные величины с теоретическими. + + \item + Попытайтесь определить сдвиг двух синусоид (из примера) при зашумлении: + \begin{itemize} + \item только одной с уровнем сигнал/шум 1~дБ; + \item обеих с уровнем SNR=1~дБ; + \item одной с уровнем SNR=0.1~дБ; + \item обеих с уровнем SNR=0.1~дБ. + \end{itemize} + Постройте один из сигналов с SNR=0.1~дБ. Можно ли определить его период? + Можно ли определить период по автокорреляционной функции этого сигнала? +\end{enumerate} + + +\end{document} + diff --git a/Komp_obr_SFedU/03-Lect-estimation.pdf b/Komp_obr_SFedU/03-Lect-estimation.pdf new file mode 100644 index 0000000..4a91430 Binary files /dev/null and b/Komp_obr_SFedU/03-Lect-estimation.pdf differ diff --git a/Komp_obr_SFedU/03-Lect-estimation.tex b/Komp_obr_SFedU/03-Lect-estimation.tex new file mode 100644 index 0000000..4551009 --- /dev/null +++ b/Komp_obr_SFedU/03-Lect-estimation.tex @@ -0,0 +1,555 @@ +\documentclass[10pt,pdf,hyperref={unicode}]{beamer} +\hypersetup{pdfpagemode=FullScreen} +\usepackage{ed} +\usepackage{lect} + +\title[Компьютерная обработка. Лекция 3.]{Компьютерная обработка результатов измерений} +\subtitle{Лекция 3. Систематические и случайные погрешности. Теория оценок.} +\date{22 марта 2021 года} + +\begin{document} +% Титул +\begin{frame} +\maketitle +\end{frame} +% Содержание +\begin{frame} +\tableofcontents +\end{frame} + +\section{Погрешность} +\begin{frame}{Погрешность} +\only<1>{ +\begin{defin} +\ж Погрешность\н --- отклонение измеренного значения величины от её истинного (действительного) +значения. +\end{defin} +\begin{block}{} +Абсолютная погрешность, $\Delta x$ (напр., RMS); относительная погрешность, $\delta x=\Delta +x/\mean{x}$; приведенная погрешность $\gamma x=\Delta x/N_x$ (нормировочный коэффициент). +\end{block} +\begin{block}{По причине возникновения} +\begin{description} +\item[Инструментальные] определяются погрешностями применяемых средств измерений. +\item[Методические] обусловлены несовершенством метода, а также упрощениями, положенными в основу +методики. +\item[Субъективные] обусловлены качествами экспериментатора. +\end{description} +\end{block}} +\only<2>{ +\begin{block}{По характеру проявления} +\begin{description} +\item[Случайные] обусловлены совокупностью внешних факторов, влияющих на результат эксперимента. +\item[Систематические] связаны с влиянием прибора на измеряемую величину или методическими +ошибками, выявляются лишь сменой прибора\slash метода\slash экспериментатора. +\item[Промахи] наиболее сильно себя проявляют и связаны с неисправностью прибора или +экспериментатора. +\end{description} +\end{block} +\begin{block}{Средняя квадратическая погрешность среднего арифметического} +$$ +\sigma_{\aver{x}}=\frac{\sigma_x}{\sqrt{n}}= +\sqrt{\frac{\sum\limits_{i=1}^n(\mean{x_i}-\aver{x})^2}{n(n-1)}}. +$$ +\end{block} +}\only<3>{ +\img{pogr} +Примеры погрешностей: а) случайная, б) случайная и систематическая, в) случайная и промахи. +} +\end{frame} + +\begin{frame}{Правила вычисления погрешностей} + \begin{block}{} + \begin{enumerate} + \item + $$\Delta\bigl(\sum a_n\bigr)=\sum\Delta a_n.$$ + \item + $$\prod(a_i\pm\Delta a_i)=\prod a_i\prod(1\pm\delta a_i)\approx + \prod a_i(1\pm\sum\delta a_i),$$ + $$\bigl(a[1\pm\delta a]\bigr)^n\approx a^n(1\pm n\delta a).$$ + \item\ж В сложных функциях\н вида $y=f(x_1,\ldots,x_n)$ можно оценить + погрешность, воспользовавшись приближением: + $$ + \delta y\approx\Bigl|\frac{dy}{y}\Bigr|=\Bigl| + \frac{d f(x_1,\ldots,x_n)}{f(x_1,\ldots,x_n)}\Bigr|, + $$ + в котором следует заменить $\frc{dx_i}{x_i}=\delta x_i$~-- относительная + погрешность + измерения величины~$x_i$, $d x_i=\Delta x_i$~-- абсолютная погрешность. Все + слагаемые необходимо суммировать по абсолютной величине. + \end{enumerate} + \end{block} +\end{frame} + +\section{Теория оценок} +\begin{frame}{Правило <<трех сигм>>} + \begin{block}{} + При гауссовом распределении случайной величины вероятность + $$P(|x-\mean{x}|<3\sigma)=2\Phi(3)=0.9973.$$ + ($\Phi$~-- нормальное интегральное распределение). + \end{block} + \begin{defin} + \ж Правило трех сигм\н: если случайная величина распределена нормально, то абсолютная величина ее + отклонения от математического ожидания не превосходит утроенного среднего квадратичного отклонения. + \end{defin} + \begin{defin} + \ж Теорема Ляпунова\н: случайная величина, являющаяся суммой большого числа взаимно независимых + случайных величин, имеет нормальное распределение. + \end{defin} +\end{frame} + +\begin{frame}{Распределение $\chi^2$} +\only<1>{ +\begin{block}{} +Распределение суммы квадратов~$n$ нормальных независимых случайных величин ($x_i$, $i=\overline{1,n}$, +$\mean{x}=0$, $\sigma_x=1$): $\chi^2=\sum_{i=1}^n x_i^2\;$ с~$k=n$ степенями свободы. +Каждое линейное соотношение уменьшает количество степеней свободы на единицу. +Плотность распределения <<хи квадрат>>: +$$ +f(x)=\begin{cases} + 0,& x\le0,\\ + \dfrac{\e^{-x/2}x^{k/2-1}}{2^{k/2}\Gamma(k/2)},& x>0,\\ +\end{cases} +$$ +где $\Gamma(x)=\Int_0^\infty t^{x-1} e^{-t}dt$~-- гамма-функция, в частности, +$\Gamma(n+1)=n!$. $\mean{\chi^2}=k$, $\sigma^2_{\chi^2}=2k$. +Из закона больших чисел при $k\to\infty$ это распределение приближается к нормальному. +\end{block} +}\only<2>{ +\begin{block}{} +В общем случае для любых нормальных независимых случайных величин +$$\chi^2=\sum \left(\frac{x_i-\mean{x}}{\sigma_x}\right)^2.$$ +При $k=2$ распределение совпадает с экспоненциальным. + +\ж Квантили\н распределения $\chi^2$ вычисляются при помощи функции \t{chi2inv} пакета \t{statistics}. Например: + +{\texttt chi2inv([0.990:0.001:0.999], 10) \\ +ans = \\ +23.209 23.514 23.853 24.235 24.673 25.188 25.813 26.611 27.722 29.588 } + +Само распределение можно отобразить при помощи \t{chi2pdf(x, N)}. \t{chi2cdf}~-- интегральное распределение. +\end{block} +} +\end{frame} + +\begin{frame}{Распределение Стьюдента (t-распределение)} +\only<1>{ +\begin{block}{} +Строится наподобие $\chi^2$ для $n+1$ независимой нормальной величины $Y_i$: +$$t=\frac{Y_0}{\sqrt{\frac{1}{n}\sum_{i=1}^n Y_i^2}}.$$ +Плотность распределения: +$$ +f(x)=\frac{\Gamma(\frac{n+1}{2})}{\sqrt{n\pi}\, \Gamma(\frac{n}{2})} +\left(1+\frac{x^2}{n}\right)^{-\frac{n+1}{2}}. +$$ +Распределение симметрично. $\mean{t}=0$ при $n>1$, $\sigma^2_t=\frc{n}{(n-2)}$ при $n>2$. + +\end{block} +}\only<2>{ +\begin{block}{} +Можно представить $T$ с $k$ степенями свободы через нормальное и $\chi^2$: если $Z$ распределено нормально, а +$V$~-- по закону $chi^2$, то +$$T=Z\sqrt{\dfrac{k}{V}}.$$ + +Распределение возникает из распределения выборочных среднего, $\aver{X}$ и дисперсии, $S$: +$$\frac{\aver{X}-\mean{X}}{S/\sqrt{n}}\propto t(n-1).$$ + +Аналогичные функции из пакета \t{statistics}: \t{tinv}, \t{tpdf}, \t{tcdf}: + +{\texttt + tinv([0.990:0.001:0.999], 100) \\ + ans = \\ + 2.3642 2.4052 2.4506 2.5012 2.5589 2.6259 2.7064 2.8077 2.9464 3.1737 } +\end{block} +} +\end{frame} + +\section{Ковариационная матрица} +\def\cov#1{\ensuremath{\mathrm{cov}(#1)}} +\begin{frame}{Ковариационная матрица} +\only<1>{ +\begin{block}{} +\ж Ковариация\н, $\sigma_{xx}=\sigma_x^2=D(x)=\mean{(x-\mean{x})^2}$: +$$\cov{x,y}=\sigma_{xy}=\sigma_{yx}=\lim_{N\to\infty}\frac{1}{N}\sum_{k=1}^N (x-\mean{x})(y-\mean{y})= +\mean{(x-\mean{x})(y-\mean{y})}.$$ + +\ж Ковариационная матрица\н для двух и $M$~одинаковых величин ($\cov{X}$): +$$C_{xy}=\begin{pmatrix}\sigma_x^2 & \sigma_{xy} \\ \sigma_{yx} & \sigma_y^2 \\ \end{pmatrix},\quad +C_{x_M} = \begin{pmatrix} +\sigma_1^2 & \sigma_{12} & \sigma_{13} & \dots & \sigma_{1M} \\ +\sigma_{21} & \sigma_{2}^2 & \sigma_{23} & \dots & \sigma_{2M} \\ +\hdotsfor{5}\\ +\sigma_{M1} & \sigma_{M2} & \sigma_{M3} & \dots & \sigma_{M}^2 \\ +\end{pmatrix},\quad +C=C^{T}. +$$ +\end{block}}\only<2>{ +\begin{block}{} +Пусть $\Delta x=\mean{x-\mean{x}}$, тогда $C$ можно определить как $C=\mean{\Delta x\cdot\Delta x^T}$, +где $\Delta x$~-- вектор-столбец. В общем случае $C_{xy}=\mean{\Delta x\Delta y^T}$ для векторов~$X$ и~$Y$ любой +длины.\ж Свойства\н: +\begin{itemize} +\item для независимых $X$ и $Y$, $C_{XY}=C_X+C_Y$; +\item $\cov{AX + B}= A\cov{X}A^T$ ($A$~-- произвольная квадратная матрица); +\item $\cov{X,Y} = \cov{Y,X}^T$; +\item $\cov{\sum X_i, Y}=\sum\cov{X_i, Y}$, $\cov{X, \sum Y_i}=\sum\cov{X, Y_i}$; +\item для независимых $X$ и $Y$ $\cov{X,Y}=0$. +\end{itemize} +\end{block} +}\only<3>{ +\begin{columns} +\column{0.45\textwidth}\begin{block}{} +Вектор данных: $X=\binom{x_i}{y_i}$; $\Sigma=C_{xy}$. $\sigma_x$ и~$\sigma_y$ характеризуют разброс данных по осям. +$\sigma_{xy}$ отражает линейную зависимость $y(x)$. В данном случае удобней было бы использовать\ж +корреляционную матрицу\н, где $\rho_{xy}=\frc{\mean{(x-\mean{x})(y-\mean{y})}}{\sigma_x\sigma_y}$. При $\rho_{xy}=0$ +эллиптичное облако точек, при $\rho_{xy}=1$ расположение точек вдоль отрезка. +\end{block} +\column{0.55\textwidth}\img{covarianceXY} +\end{columns} +} +\end{frame} + +\begin{frame}[fragile]{} +\begin{block}{} + \ж Собственные значения\н ковариационной матрицы характеризуют дисперсию вдоль направления, заданного ее\ж + собственными векторами\н. $C_{xy}v=\lambda v$. + \begin{verbatim} + [v, lambda]=eig([3 2; 2 3], "vector") + \end{verbatim} + Получили два собственных значения:~1 и~5, которым соответствуют вектора + $v(1)=\binom{-\sqrt{2}/2}{\sqrt{2}/2}$ и + $v(5)=\binom{\sqrt{2}/2}{\sqrt{2}/2}$. + \end{block} +\img[0.8]{covarmatr} +\end{frame} + + +\section{Доверительные интервалы} +\begin{frame}{Доверительный интервал} +\only<1>{ +\begin{block}{Доверительная вероятность} +$p = P(X_0 \le x \le X_1)$ +\end{block} +\begin{block}{Математическое ожидание} +Если известен закон распределения (мат. ожидание и дисперсия: $\mu$ и $\sigma$), то +$$P\Bigl(\aver{X}-z_{1-\frac{\alpha}2}\frac{\sigma}{\sqrt{n}} \le \mu \le + \aver{X}+z_{1-\frac{\alpha}2}\frac{\sigma}{\sqrt{n}}\Bigr) = 1 - \alpha,$$ +где $z_\alpha$~-- $\alpha$--квантиль нормального распределения + +В Octave: \t{norminv(x)}. Например, для $1-\alpha=0.95$, $1-\frac{\alpha}{2}=0.975$. +\end{block} +} +\only<2>{ + \begin{defin}\ж $\alpha$--квантилем\н называется число $x_\alpha$: + $P(X\le x_\alpha)\ge\alpha$ и $P(X\ge x_\alpha)\ge1-\alpha$. Т.е. по интегральной функции распределения + $F(x_\alpha)=\alpha$. А т.к. $P(a\le X\le b)=F(b)-F(a)$, получаем: + $$P(x_{\frac{1-\alpha}2}\le X\le x_{\frac{1+\alpha}2})=\alpha.$$ + \end{defin} +\begin{block}{Пример} +В 64 наблюдениях получено: $S_1=\sum x=600$, $S_2=\sum (x-\mean{x})^2=3800$. Вычислить 95\% доверительный +интервал матожидания. + +Решение: $\sigma=\sqrt{S_2/(n-1)}=7.72$; $\aver{x}=S_1/n=9.375$. $F(0.975)=1.96$, отсюда найдем границы интервала +$\aver{x}\pm F(0.975)\sigma/\sqrt{n}$: $\mean{x}\in[7.484, 11.266]$ с точностью 95\%. +\end{block} +} +\only<3>{ +\begin{block}{Математическое ожидание} +Если закон распределения неизвестен, то +$$P\Bigl(\aver{X}-t_{1-\frac{\alpha}2, n-1}\frac{S}{\sqrt{n}} \le \mu \le + \aver{X}+t_{1-\frac{\alpha}2,n-1}\frac{S}{\sqrt{n}}\Bigr) = 1 - \alpha,$$ +где $S$~-- несмещенный RMS. Величина +$$T=\frac{\aver{X}-\mu}{S/\sqrt{n}}$$ имеет распределение Стьюдента, а $t_{\alpha, n-1}$~-- его +квантили. + +Пример: $\aver{X}=10$, $S_n=2$, $n=11$ (10~степеней свободы), по таблице для двухстороннего +распределения Стьюдента с вероятностью~95\% $T_{10}^{95}=2.228$. Тогда доверительный интервал есть +$\mean{X}\pm TS_n/\sqrt{n}$, т.е. $\mu\in(8.6565, 11.3440)$. + +В Octave \t{t=tinv(0.975, 10)}, т.к. $1-\alpha=0.95$ \Arr $\alpha=0.05$ \Arr $1-\frac{\alpha}{2}=0.975$. +\end{block} +} +\only<4>{ +\begin{block}{Дисперсия} +Если известно среднее, можно воспользоваться распределением $\chi^2$. +$$ +P\Biggl(\frac{\displaystyle\sum_{i=1}^n (X_i-\mu)^2}{\chi^2_{(1+\alpha)/2,n}}\le\sigma^2\le +\frac{\displaystyle\sum_{i=1}^n (X_i-\mu)^2}{\chi^2_{(1-\alpha)/2,n}}\Biggr)=\alpha. +$$ +Если же среднее неизвестно, то +$$ +P\Bigl(\frac{(n-1)S^2}{\chi^2_{(1+\alpha)/2,n-1}}\le\sigma^2\le +\frac{(n-1)S^2}{\chi^2_{(1-\alpha)/2,n-1}}\Bigr)=\alpha. +$$ +\end{block} +} +\end{frame} + +\begin{frame}{Алгоритм обработки результатов измерений} +\only<1>{ +\begin{block}{Прямые измерения} + \begin{enumerate} + \item Заполнить таблицу с результатами $N$~измерений $x_i$. + \item Вычислить среднее арифметическое измеренной величины: $\mean{x} = \dfrac{1}{n}\sum + x_i$. + \item Определить стандартный доверительный интервал: + $S_x=\sqrt{\dfrac{1}{n(n-1)}\sum(x_i-\mean{x})^2}$. + \item Задать значение коэффициента надежности~$\alpha$, и по нему определить значение + коэффициента Стьюдента~$t_{\alpha,N}$. + По паспортным данным определить абсолютную погрешность измерительного прибора, $\Delta + x_\text{пр}$. Если $\Delta x_\text{пр}>4t_{\alpha,N}S_x$, представить результат в виде + $x=\mean{x}\pm\Delta x_\text{пр}/2$, обработка окончена. + \item Если $\Delta x_\text{пр}{ +\begin{block}{Косвенные измерения} + \begin{itemize} + \item Вычислить для всех измеряемых величин среднее значение и погрешность прямого + измерения. При этом для всех величин выбирается одно и то же значение доверительной + вероятности~$\alpha$. + \item По формуле вычислить среднее значение измеряемой величины: $\mean{w}=f(\mean{x}, + \mean{y}, \cdots)$. + \item Оценить погрешность косвенно измеряемой величины: + $$(\Delta w)^2 = + \left.\Bigl(\partder{w}{x}\Bigr)^2\right|_{\tiny\begin{smallmatrix} + x=\mean{x};\\y=\mean{y};\\ + \cdots\end{smallmatrix}}(\Delta x)^2 + + \left.\Bigl(\partder{w}{y}\Bigr)^2\right|_{\tiny\begin{smallmatrix} + x=\mean{x};\\y=\mean{y};\\ + \cdots\end{smallmatrix}}(\Delta y)^2 + + \cdots.$$ + \item Записать результат в виде $w=\mean{w}\pm\Delta w, \quad \alpha=\ldots$. + \end{itemize} +\end{block} +} +\end{frame} + +\section{Метод наименьших квадратов} +\begin{frame}{Метод наименьших квадратов} +\begin{block}{} +Пусть имеется функция $f(x|a)$, зависящая от аргумента $x$ и набора параметров~$a$. Данной функции +соответствует набор пар данных $(x_n,y_n)$, причем $y_n=f(x_n|a)+\epsilon_n$, где $\epsilon_n$~-- +случайная ошибка. Математическое ожидание ошибки $\mean{\epsilon}=0$, ее среднеквадратическое +отклонение равно~$\sigma_n$. Для оценки~$a$ (аппроксимации набора данных заданной функцией) +необходимо минимизировать выражение +$$\Phi=\sum_{n=1}^N\Bigl(\frac{y_n-f(x_n|a)}{\sigma^2_n}\Bigr)^2.$$ +При этом подразумевается, что число измерений превышает число параметров~$a$. +\end{block} +\end{frame} + +\begin{frame}{Пример: линейная зависимость} +\begin{block}{} +Пусть $y=ax+b$, $x_n$ известны с пренебрежимо малой погрешностью, $y_n$~-- результаты измерений +с нормальным распределением, $\mean{y_i}=ax_i+b$. Минимизируем величину $Y=\sum(y_i-\mean{y_i})^2$, +$\partder{Y}{a}=0$, $\partder{Y}{b}=0$: +$$ +a=\frac{n\sum x_iy_i-\sum x_i\sum y_i}{n\sum x^2_i-\Bigl(\sum x_i\Bigr)^2}= +\frac{\mean{xy}-\mean{x}\,\mean{y}}{\mean{x^2}-(\mean{x})^2}, +$$ +$$ +b=\frac{\sum x_i^2\sum y_i-\sum x_i\sum x_i y_i}{n\sum x^2_i-\Bigl(\sum +x_i\Bigr)^2}= +\frac{\mean{x^2\strut}\,\mean{\strut +y}-\mean{x}\,\mean{xy}}{\mean{x^2}-(\mean{x})^2}. +$$ +$$ +\sigma^2=\frac{n}{n-2}\Bigl(\mean{y^2}-(\mean{y})^2-a^2\bigl[ +\mean{x^2}-(\mean{x})^2\bigr]\Bigr),\qquad +\sigma^2_a=\frac{\sigma^2}{n\bigl(\mean{x^2}-(\mean{x})^2\bigr)},\quad +\sigma_b^2=\sigma_a^2\mean{x^2}. +$$ +\end{block} +\end{frame} + +\begin{frame}{Аппроксимация МНК} +\only<1>{\img{lesssquare}} +\only<2>{ +\begin{block}{} +Некоторые зависимости, можно свести к линейным. Например, $y=\e^{ax+b}$ \so $\ln y=ax+b$. + +Возможно также сведение зависимостей к системам линейных уравнений $A\vec{x}=\vec{b}$, ранг матрицы +$A$ должен быть больше количества искомых переменных. Минимизируем +$(A\vec{x}-\vec{b})^T(A\vec{x}-\vec{b})$, что приводит к системе уравнений +$$ +A^TA\vec{x}=A^T\vec{b}\quad\so\quad +\vec{x}=(A^TA)^{-1}A^T\vec{b}. +$$ +Или $\vec{x}=A^{+}\vec{b}$ (псевдообратная матрица), в Octave~--- <<левое деление>> $A\backslash +b$. +\end{block} +} +\end{frame} + +\begin{frame}[fragile]{} +\begin{block}{Пример} +Пусть некоторая величина изменяется по закону $y=a_0+a_1\e^{-t}+a_2te^{-t}$. +В матричном виде $Y=TA$, где $T$~-- функциональная матрица, у которой в первом столбце +размещены единицы (соответствует умножению на~$a_0$), во втором~--- функция +$\e^{-t}$, а в третьем~--- $t\e^{-t}$. Коэффициенты~$A$ найдем при помощи МНК: +$A=T\backslash Y$. +\begin{verbatim} +t = [0 0.3 0.8 1.1 1.6 2.3]'; +y = [0.6 0.67 1.01 1.35 1.47 1.25]'; +T = [ones(size(t)) exp(-t) t.*exp(-t)]; +A = T\y +\end{verbatim} +\end{block} +\end{frame} + +\section{Ошибка МНК} +\begin{frame}{Ошибка МНК} +\only<1>{ +\begin{block}{МНК для линейной зависимости} +Пусть наблюдаемая $l$ имеет линейную зависимость от $a$, $b$ и~$c$: +$$l(t) = x\cdot a(t) + y\cdot b(t) + z\cdot c(t).$$ +Из эксперимента получаем $N$ наборов данных $l_k$, $a_k$, $b_k$ и~$c_k$: +$$l_k = xa_k + yb_k + zc_k + \Delta l_k.$$ +Найдем $x$, $y$ и $z$, минимизируя $S=\Delta l_k^2=\sum\bigl(l_k-(xa_k + yb_k + zc_k)\bigr)^2$: +$$\partder{S}{\aleph}=\frac{\partial}{\partial\aleph} \sum\bigl(l_k-(xa_k + yb_k + zc_k)\bigr)^2 = 0$$ +\end{block} +}\only<2>{ +\begin{block}{} +Введем обозначения: $\sum_{k=1}^N \aleph_k\beth_k = [\aleph\beth]$. Тогда после дифференцирования получим систему +из~трех уравнений для нахождения трех неизвестных: +$$ +\left\{\begin{aligned} +x[aa] + y[ab] + z[ac] & = [al], \\ +x[ba] + y[bb] + z[bc] & = [bl], \\ +x[ca] + y[cb] + z[cc] & = [cl]. \\ +\end{aligned}\right.\quad\text{или}\quad +\begin{pmatrix} +[aa] & [ab] & [ac]\\ +[ba] & [bb] & [bc]\\ +[ca] & [cb] & [cc]\\ +\end{pmatrix} +\begin{pmatrix} +x\\ y\\ z +\end{pmatrix} = +\begin{pmatrix} + [al]\\ [bl]\\ [cl] +\end{pmatrix}. +$$ +Или $MK=V$, следовательно, $K=M^{-1}V$ (\t{K=M\bsl V}). +Аналогичную систему можно составить для погрешностей: +$$ +\begin{pmatrix} + [aa] & [ab] & [ac]\\ + [ba] & [bb] & [bc]\\ + [ca] & [cb] & [cc]\\ +\end{pmatrix} +\begin{pmatrix} + \Delta x\\ \Delta y\\ \Delta z +\end{pmatrix} = +\begin{pmatrix} + [a\Delta l]\\ [b\Delta l]\\ [c\Delta l] +\end{pmatrix} \quad\text{или}\quad +M \Delta K = \Delta V. +$$ +\end{block} +}\only<3>{ +\begin{block}{} +Итак, для погрешностей имеем: $\Delta K=M^{-1}\Delta V$. Если наблюдения~--- равноточные и независимые, +ковариационная матрица ошибок диагональна: +$$ +C_L = \begin{pmatrix} +\Delta l_1 \\ \Delta l_2 \\ \cdots \\ \Delta l_N +\end{pmatrix} +\Bigl(\Delta l_1\; \Delta l_2\; \ldots\; \Delta l_N \Bigr) = \sigma_0^2\begin{pmatrix} +1 & 0 & 0 & \cdots & 0\\ +0 & 1 & 0 & \cdots & 0\\ +\hdotsfor{5}\\ +0 & 0 & 0 & \cdots & 1\\ +\end{pmatrix} = \sigma_0^2 E_N. +$$ +Аналогично построим ковариационную матрицу ошибок неизвестных: +$$ +C_K = \begin{pmatrix} +\sigma^2_x & \sigma_{xy} & \sigma_{xz}\\ +\sigma_{yx} & \sigma^2_y & \sigma_{yz}\\ +\sigma_{zx} & \sigma_{zy} & \sigma^2_z +\end{pmatrix} = \Delta K \cdot \Delta K^T = M^{-1}\Delta V\cdot \Delta V^T (M^{-1})^T +$$ +Т.к. $[\aleph\beth]=[\beth\aleph]$, матрица $M$ симметрична ($M=M^T$). +\end{block} +}\only<4>{ +\begin{block}{} +Члены ковариационной матрицы $\Delta V\cdot\Delta V^T$ на примере одного: +$$ +\aver{[a\Delta l][a\Delta l]}=\aver{\sum a_i\Delta l_i\sum a_j\Delta l_j}=\aver{\sum\sum a_ia_j\Delta l_i\Delta l_j}, +$$ +т.е. $\Delta V\cdot\Delta V^T=\sum\sum a_ia_j\aver{\Delta l_i\Delta l_j}$, а т.к. $\aver{\Delta l_i\Delta l_j}$ равны нулю при $i\ne +j$ и равны $\sigma_0^2$ при $i=j$, получим: $\sigma_0^2\sum a_k^2=\sigma_0^2[aa]$. И в итоге: +$$C_K = M^{-1}\sigma_0^2 M M^{-1}=\sigma_0^2 M^{-1}!$$ +Вывод: обратная матрица нормальных уравнений является матрицей весов вектора неизвестных. + +Для получения несмещенной оценки $\sigma_0^2$ воспользуемся формулой: +$$\sigma_0^2 = \frac{\sum \Bigl(l_k-(xa_k + yb_k + zc_k)\Bigr)^2}{N-M},$$ +где $M$~-- число неизвестных (в нашем случае~--- три). +\end{block} +} +\end{frame} + +\begin{frame}[fragile]{} +\parbox{0.4\textwidth}{По набору данных получить коэффициенты линейной зависимости и определить их погрешности.} +\leavevmode\hspace{1em} +\begin{tabular}{|c||c|c|c|c|c|c|c|c|}\hline +\bf A & 1 &0& -1& 2& 3& -2& 0& 4\\ +\bf B & 0 &3& 2& -1& 2& -1& 3& 1\\ +\bf C & 2& -2& 0& 1& -2& 3& -2& 0\\ \hline +\bf L & 7 &1& 3& 2& 1& 6& 1& 5\\ \hline +\end{tabular} +\small +\begin{verbatim} +A=[1 0 -1 2 3 -2 0 4]'; B=[0 3 2 -1 2 -1 3 1]'; C=[2 -2 0 1 -2 3 -2 0]'; +L=[7 1 3 2 1 6 1 5]'; T=[A B C]; % T - матрица данных, T*K=L +K=T \ L % искомые коэффициенты +V=T' * L; Mr=K/V; % M*K = V, Mr->M^(-1) +v=L-T*K; sigma0 = sqrt(sum(v.^2)/(8-3)); +DK = sigma0 * sqrt(diag(Mr)) % искомые погрешности +for i=1:3; +printf("K%d=%.2f+-%.2f (%.1f%%)\n", i, K(i), DK(i), 100*DK(i)/K(i)); +endfor +K1=0.72+-0.06 (7.7%) +K2=2.29+-0.07 (3.3%) +K3=3.06+-0.14 (4.5%) +\end{verbatim} +\end{frame} + +\begin{frame}{Спасибо за внимание!} + \centering + \begin{minipage}{5cm} + \begin{block}{mailto} + eddy@sao.ru\\ + edward.emelianoff@gmail.com + \end{block}\end{minipage} +\end{frame} +\end{document} + + +\section{Иррегулярно распределенные данные} +\begin{frame}{} +\begin{columns} +\column{0.65\textwidth} +\begin{block}{Иррегулярно распределенные данные} +БПФ, корреляция, периодограммы и т.п. +\begin{itemize} +\item Resampling (если данные достаточно плотно расположены). +\item Определение периода как расстояния между минимумами (максимумами) из аппроксимации. +\item Auto Regressive Moving Average (ARMA). +\item Фильтрация Калмана. +\item Метод Ваничека (аппроксимация набора данных рядом синусоид). +\item Периодограмма Ломба-Скаргла (ортогонализация пар синусоид введением задержки во времени, +Scargle, 1981). +\item Irregular Autoregressive Model (IAR). +\item Complex IAR (CIAR). +\end{itemize} +\end{block} +\column{0.32\textwidth} +\vspace*{-2em}\img{irregular} +\end{columns} +\end{frame} + diff --git a/Komp_obr_SFedU/Materials4Pract/01/a.c b/Komp_obr_SFedU/Materials4Pract/01/a.c new file mode 100755 index 0000000..0c497e4 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/a.c @@ -0,0 +1,10 @@ +//usr/bin/gcc $0 && exec ./a.out "$@" + +#include + +int main(int argc, char **argv){ + for(int x = 1; x < argc; ++x) + printf("arg %d is %s\n", x, argv[x]); + printf("Done\n"); + return 0; +} diff --git a/Komp_obr_SFedU/Materials4Pract/01/args b/Komp_obr_SFedU/Materials4Pract/01/args new file mode 100755 index 0000000..d71439b --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/args @@ -0,0 +1,12 @@ +#!/bin/bash + +function chkargs(){ + echo "you give $# arguments:" + for arg in "$@"; do + echo -e "\t$arg" + done +} + +chkargs "$@" +chkargs "$*" +chkargs $* diff --git a/Komp_obr_SFedU/Materials4Pract/01/array b/Komp_obr_SFedU/Materials4Pract/01/array new file mode 100755 index 0000000..b69c166 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/array @@ -0,0 +1,6 @@ +#!/bin/bash + +array=(1 2 3 4 [5]=next [10]=last) +echo "array with size ${#array[*]} and indexes ${!array[*]}: ${array[*]}" +echo "array[4]=${array[4]}, array[10] len=${#array[10]}" + diff --git a/Komp_obr_SFedU/Materials4Pract/01/awkscript1 b/Komp_obr_SFedU/Materials4Pract/01/awkscript1 new file mode 100644 index 0000000..7555d11 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/awkscript1 @@ -0,0 +1,15 @@ +BEGIN { + print "List of users and shells" + print " UserName \t HomePath" + print "-----------------------" + FS=":" +} +{ + print $1 " \t " $6 +} +END { + home=ENVIRON["HOME"] + name=ENVIRON["USER"] + print "-----------------------" + print "Your name is " name " and home is " home +} diff --git a/Komp_obr_SFedU/Materials4Pract/01/awkscript2 b/Komp_obr_SFedU/Materials4Pract/01/awkscript2 new file mode 100644 index 0000000..8026eee --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/awkscript2 @@ -0,0 +1,11 @@ +{ + if ($1 > 20) + { + x = $1 * 2 + print x + } else + { + x = $1 / 2 + print x + } +} \ No newline at end of file diff --git a/Komp_obr_SFedU/Materials4Pract/01/case b/Komp_obr_SFedU/Materials4Pract/01/case new file mode 100755 index 0000000..9233d5a --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/case @@ -0,0 +1,11 @@ +#!/bin/bash + +while [ -n "$1" ];do + case "$1" in + -a) echo "Found the -a option" ;; + -b) echo "Found the -b option" ;; + -c) echo "Found the -c option" ;; + *) echo "$1 is not an option" ;; + esac + shift +done diff --git a/Komp_obr_SFedU/Materials4Pract/01/ex1 b/Komp_obr_SFedU/Materials4Pract/01/ex1 new file mode 100755 index 0000000..c573c30 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/ex1 @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ $# -ne 1 ]; then + echo "Usage: $0 LEN - get random number with length LEN" + exit 1 +fi +cat /dev/urandom | tr -dc '0-9' | fold -w $1 | head -n 1 diff --git a/Komp_obr_SFedU/Materials4Pract/01/ex2 b/Komp_obr_SFedU/Materials4Pract/01/ex2 new file mode 100755 index 0000000..140bc5b --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/ex2 @@ -0,0 +1,10 @@ +#!/bin/sh + +for ((nl = 1; nl < 1001; ++nl)); do + one=$((RANDOM % 1001)) + two=$((RANDOM % 41 - 20)) + #three=$(echo "scale=3; $((SRANDOM % 100001)) / 1000" | bc -l) + R=$((SRANDOM % 100001)) + three=$(echo "$R" | awk '{printf "%.3f", $1/1000}') + echo -e "$nl\t$one\t$two\t$three" +done diff --git a/Komp_obr_SFedU/Materials4Pract/01/ex3 b/Komp_obr_SFedU/Materials4Pract/01/ex3 new file mode 100755 index 0000000..c9bdbb2 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/ex3 @@ -0,0 +1,8 @@ +#!/bin/sh +OUT=1000strings + +./ex2 1000 > $OUT +for ((i = 2; i < 5; ++i)); do + sort -n -k $i $OUT > ${OUT}_$i +done + diff --git a/Komp_obr_SFedU/Materials4Pract/01/ex4 b/Komp_obr_SFedU/Materials4Pract/01/ex4 new file mode 100755 index 0000000..41eb457 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/ex4 @@ -0,0 +1,22 @@ +#!/bin/sh + +if [ $# -ne 1 ]; then echo "Usage: $0 word"; exit 1; fi + +TOTAL=0 +miss=0; hit=0; + +while true; do + TOTAL=$((TOTAL+1)) + ans=$(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 100 | head -n1 | grep $1) + if [ -x$ans = -x ]; then + miss=$((miss+1)) + else + echo "$ans" + hit=$((hit+1)) + fi + [ $hit -ge 5 -o $TOTAL -ge 10000 ] && break +done + +part=$(echo "$hit $TOTAL" | awk '{ printf "%.2f", $1*100/$2}') + +echo "Miss: $miss, Hit: $hit (${part}%)" diff --git a/Komp_obr_SFedU/Materials4Pract/01/for b/Komp_obr_SFedU/Materials4Pract/01/for new file mode 100755 index 0000000..8d3490f --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/for @@ -0,0 +1,19 @@ +#!/bin/bash + +echo -e "\t1." + +for (( a = 1; a < 11; ++a )); do + echo "a=$a" +done + +echo -e "\n\t2." + +for a in $(seq 1 10); do + echo "a=$a" +done + +echo -e "\n\t3." + +for a in one "two args" three; do + echo "a=$a" +done diff --git a/Komp_obr_SFedU/Materials4Pract/01/if b/Komp_obr_SFedU/Materials4Pract/01/if new file mode 100755 index 0000000..d10d7b4 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/if @@ -0,0 +1,15 @@ +#!/bin/bash + +echo "Enter value" +read val +if [ $val -gt 100 ]; then + echo "value $val greater than 100"; +else + echo "value $val less than 100"; +fi + +echo "Enter filename" +read f +[ -d $f ] && echo "$f is a directory" +[ -f $f ] && echo "$f is a file" +[ ! -e $f ] && echo "Not exists" diff --git a/Komp_obr_SFedU/Materials4Pract/01/takeexp b/Komp_obr_SFedU/Materials4Pract/01/takeexp new file mode 100755 index 0000000..987a1c8 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/takeexp @@ -0,0 +1,43 @@ +#!/bin/bash +# array with filter positions (0 - hole, 1 - B, 2 - V, 3 - R, 4 - r') +POSITIONS=( 1 2 3 ) +# array with expositions (in milliseconds!!!) for each position from POSITIONS +EXPTIME=( 600000 300000 400000 ) +# array with focus (mm*10000) for each position +FOCUS=( 45000 45500 45300 ) + +# array size +len=${#POSITIONS[*]} + +__x=0 +function chkweather(){ + local y=$__x + __x=$((__x+1)) + return $y +} + +function move_focuser(){ + echo "move focuser to $1" +} + +function move_turret(){ + echo "move turret to $1" +} + +function capture_frame(){ + echo "capture frame with exposition $1 to file prefix $2" +} + +function take_image(){ + for (( i=0; i<$len; i++ )); do + move_focuser ${FOCUS[i]} + move_turret ${POSITIONS[i]} + capture_frame ${EXPTIME[i]} filename + done +} + +while chkweather; do + take_image +done + +echo "stop_observations" diff --git a/Komp_obr_SFedU/Materials4Pract/01/while b/Komp_obr_SFedU/Materials4Pract/01/while new file mode 100755 index 0000000..e3048eb --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/01/while @@ -0,0 +1,7 @@ +#!/bin/bash + +while read X; do + echo "You entered: $X" +done + +echo "End" diff --git a/Komp_obr_SFedU/Materials4Pract/02/checkX.m b/Komp_obr_SFedU/Materials4Pract/02/checkX.m new file mode 100644 index 0000000..6d40a68 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/checkX.m @@ -0,0 +1,6 @@ +function C = checkX(x) + if(x < -5) C = sprintf("%d less than -5\n", x); + elseif (x > 5) C = sprintf("%d more than 5\n", x); + else C = sprintf("%d between -5 and 5\n", x); + endif; +endfunction \ No newline at end of file diff --git a/Komp_obr_SFedU/Materials4Pract/02/for01 b/Komp_obr_SFedU/Materials4Pract/02/for01 new file mode 100644 index 0000000..a2322ec --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/for01 @@ -0,0 +1,7 @@ +1 3 +2 12 +3 56 +4 0 +9 11 +12 5 + diff --git a/Komp_obr_SFedU/Materials4Pract/02/for02 b/Komp_obr_SFedU/Materials4Pract/02/for02 new file mode 100644 index 0000000..36e5193 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/for02 @@ -0,0 +1,5 @@ +3 12 +5 15 +10 20 +11 1 +15 2 diff --git a/Komp_obr_SFedU/Materials4Pract/02/for03 b/Komp_obr_SFedU/Materials4Pract/02/for03 new file mode 100644 index 0000000..af09748 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/for03 @@ -0,0 +1,7 @@ +22 12 +30 32 +33 11 +45 1 +46 5 +70 112 +80 32 diff --git a/Komp_obr_SFedU/Materials4Pract/02/gnuplot/02:15_T0.dat b/Komp_obr_SFedU/Materials4Pract/02/gnuplot/02:15_T0.dat new file mode 100644 index 0000000..abd55ee --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/gnuplot/02:15_T0.dat @@ -0,0 +1,53 @@ +110 19 -7 4.50 1635722064 +120 17 -22 4.20 1635722064 +121 15 -13 4.46 1635722064 +130 22 -17 4.37 1635722064 +140 25 -10 4.34 1635722064 +141 27 -4 4.43 1635722064 +150 27 4 4.58 1635722064 +151 25 10 4.73 1635722064 +170 10 25 4.86 1635722064 +171 17 22 4.78 1635722064 +200 4 27 4.87 1635720574 +210 -4 27 4.86 1635720574 +211 -10 25 4.83 1635720574 +220 -17 22 4.78 1635722069 +221 -22 17 4.71 1635722069 +230 -25 10 4.56 1635722069 +240 -27 -4 4.40 1635722069 +241 -27 4 4.51 1635722069 +260 -22 -17 4.18 1635722069 +261 -17 -22 4.25 1635722069 +270 -10 -25 4.11 1635722069 +271 -4 -27 4.04 1635722069 +300 -3 -20 4.22 1635722075 +301 -10 -17 4.29 1635722075 +310 -15 -13 4.39 1635722075 +320 -19 -7 4.51 1635722075 +321 -20 0 4.61 1635722075 +330 -19 7 4.62 1635722075 +340 -15 13 4.70 1635722075 +341 -10 17 4.84 1635722075 +350 -3 20 4.89 1635722075 +400 9 9 4.80 1635722081 +410 3 13 4.88 1635722081 +420 -9 9 4.78 1635722081 +421 -3 13 4.92 1635722081 +430 -13 3 4.71 1635722081 +440 -13 -3 4.59 1635722081 +450 -9 -9 4.52 1635722081 +451 -3 -13 4.44 1635722081 +460 3 -13 4.51 1635722081 +470 3 -20 4.33 1635722081 +500 4 -27 4.09 1635722083 +510 10 -17 4.35 1635722083 +511 10 -25 4.23 1635722083 +520 9 -9 4.57 1635722083 +530 3 -5 4.61 1635722083 +540 -3 -5 4.59 1635722083 +541 -6 0 4.69 1635722083 +550 -3 5 4.72 1635722083 +560 3 5 4.84 1635722083 +561 6 0 4.70 1635722083 +570 13 -3 4.69 1635722083 +571 13 3 4.80 1635722083 diff --git a/Komp_obr_SFedU/Materials4Pract/02/gnuplot/T0.jpg b/Komp_obr_SFedU/Materials4Pract/02/gnuplot/T0.jpg new file mode 100644 index 0000000..368493e Binary files /dev/null and b/Komp_obr_SFedU/Materials4Pract/02/gnuplot/T0.jpg differ diff --git a/Komp_obr_SFedU/Materials4Pract/02/gnuplot/plotjpg b/Komp_obr_SFedU/Materials4Pract/02/gnuplot/plotjpg new file mode 100755 index 0000000..0a6327f --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/gnuplot/plotjpg @@ -0,0 +1,53 @@ +#!/bin/bash +# +# run it like +# ./plot 19.12.25/11\:20_T0.dat +# +OUT=tmpfile.txt +awk '{print $2 "\t" $3 "\t" $4}' $1 > $OUT +DATE=$(echo $1 | sed -e 's|/| |' -e 's|_.*||') +TX=$(echo $1 | sed 's|.*_\(.*\).dat|\1|') +if [ $TX = "T0" ]; then Tname="TOP side" +else Tname="BOTTOM side" +fi +VAL=$(head -n1 $1 | awk '{print $4}') +echo -e "30\t30\t$VAL\n-30\t-30\t$VAL" >> $OUT +cat << EOF > gnutplt +#!/usr/bin/gnuplot +set contour +unset surface +set cntrparam order 4 +set cntrparam bspline +#set cntrparam levels auto 6 +#set cntrparam levels incremental -30,0.1,30 +set view map +set size square +set xrange [-40:40] +set yrange [-40:40] +set dgrid3d 100,100,4 +set table "contour.txt" +splot '$OUT' u 1:2:3 +unset table +unset contour +set surface +set table "dgrid.txt" +splot '$OUT' u 1:2:3 +unset table +reset +set terminal jpeg enhanced size 1024,768 +set output "$TX.jpg" +set size square +set xrange [-30:30] +set yrange [-30:30] +set xlabel "X, dm" +set ylabel "Y, dm" +set title "Mirror temperature $TX for $DATE ($Tname)" +set pm3d map +unset key +circle(x,y,z) = x**2+y**2 > 900 ? NaN : z +splot 'dgrid.txt' u 1:2:(circle(\$1,\$2,\$3)) w pm3d, 'contour.txt' u 1:2:(circle(\$1,\$2,\$3)) w l lc rgb "black", '$OUT' u 1:2:(circle(\$1,\$2,\$3)):3 with labels font ",8" +EOF + +chmod 755 gnutplt +./gnutplt +rm -f gnutplt $OUT contour.txt dgrid.txt diff --git a/Komp_obr_SFedU/Materials4Pract/02/script.m b/Komp_obr_SFedU/Materials4Pract/02/script.m new file mode 100644 index 0000000..83109d4 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/script.m @@ -0,0 +1,3 @@ +%x = [0:0.1:2*pi]; +y = cos(x); +plot(x,y); diff --git a/Komp_obr_SFedU/Materials4Pract/02/script_chk.m b/Komp_obr_SFedU/Materials4Pract/02/script_chk.m new file mode 100644 index 0000000..e07ef67 --- /dev/null +++ b/Komp_obr_SFedU/Materials4Pract/02/script_chk.m @@ -0,0 +1,5 @@ +if(!exist("x", "var")) +x = [0:0.1:2*pi]; +endif +y = cos(x); +plot(x,y); diff --git a/Komp_obr_SFedU/lect.sty b/Komp_obr_SFedU/lect.sty new file mode 100644 index 0000000..00b7567 --- /dev/null +++ b/Komp_obr_SFedU/lect.sty @@ -0,0 +1,140 @@ +\usepackage[T2A]{fontenc} %поддержка кириллицы +\usepackage[koi8-r]{inputenc} +\usepackage[english,russian]{babel} +\usepackage{array} +\usepackage{xspace} +%\usepackage[intlimits]{amsmath} + + +\def\No{\textnumero} + +\graphicspath{{./pic/}} +\usetheme{Boadilla} +\usefonttheme{structurebold} +\usefonttheme[onlymath]{serif} +\setbeamercovered{transparent} + +\newenvironment{pict}% + {\begin{figure}[!h]\begin{center}\noindent}% + {\end{center}\end{figure}} + +\setbeamercolor{color1}{bg=blue!50!black,fg=white} +\setbeamercolor{light1}{bg=blue!20!white,fg=black} +\setbeamercolor{normal text}{bg=blue!20!black,fg=cyan!70!white} +\setbeamercolor{frametitle}{fg=red,bg=blue!40!black} +\setbeamercolor{title}{fg=red,bg=blue!40!black} +\setbeamercolor{block title}{fg=cyan,bg=blue!40!black} +\newenvironment{defin}{\begin{beamercolorbox}[shadow=true, rounded=true]{color1}}% +{\end{beamercolorbox}} +\newenvironment{light}{\begin{beamercolorbox}[shadow=false,rounded=false]{light1}}% + {\end{beamercolorbox}} +\newcommand{\img}[2][]{\begin{pict}\includegraphics[width=#1\columnwidth]{#2}\end{pict}} +\newcommand{\smimg}[2][]{\includegraphics[width=#1\columnwidth]{#2}} +\logo{\includegraphics[width=1cm,height=1cm,keepaspectratio]{saologo.jpg}} + +\def\daterussian{ % fix for iюня and iюля + \def\today{\number\day~\ifcase\month\or + \cyrya\cyrn\cyrv\cyra\cyrr\cyrya\or + \cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya\or + \cyrm\cyra\cyrr\cyrt\cyra\or + \cyra\cyrp\cyrr\cyre\cyrl\cyrya\or + \cyrm\cyra\cyrya\or + \cyri\cyryu\cyrn\cyrya\or + \cyri\cyryu\cyrl\cyrya\or + \cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra\or + \cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya\or + \cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya\or + \cyrn\cyro\cyrya\cyrb\cyrr\cyrya\or + \cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya\fi + \space \number\year~\cyrg.}} + +\author[Емельянов Э.В.]{Емельянов Эдуард Владимирович} +\institute[САО РАН]{Специальная астрофизическая обсерватория РАН\\ + {\tiny Лаборатория физики оптических транзиентов}\\ +} + +\def\ж{\bf} +\def\т{\tt} +\def\н{\normalfont} +\def\к{\it} +\def\t#1{\texttt{#1}} +\def\bi{\bfseries\itshape} % Жирный курсив +\def\red#1{\textcolor{red}{#1}} +\def\green#1{\textcolor{green}{#1}} +\def\blue#1{\textcolor{blue}{#1}} + +\newenvironment{lightframe}{\bgroup\setbeamercolor{normal text}% +{bg=blue}\begin{frame}}{\end{frame}\egroup} +\newenvironment{blueframe}{\bgroup\setbeamercolor{normal text}% +{bg=cyan!70!white}\begin{frame}}{\end{frame}\egroup} + +% save & continue counters in different frames +\newcounter{saveenumi} +\newcommand{\savei}{\setcounter{saveenumi}{\value{enumi}}} +\newcommand{\conti}{\setcounter{enumi}{\value{saveenumi}}} +%\resetcounteronoverlays{saveenumi} + +\newsavebox{\hght} % for ddotvec +\newlength{\lngth} + +\def\arr{\ensuremath{\,\rightarrow\,}} % Стрелка вправо +\def\Arr{\ensuremath{\,\Rightarrow\,}} % жирная -//- +\def\aver#1{\bgroup\mathopen{<}#1\mathclose{>}\egroup} +\def\Ang{\mbox{\rm\AA}} % Ангстрем +\def\B#1{\ensuremath{\mathbf{#1}}} +\def\bsl{\textbackslash} +\def\ceil#1{\bgroup\lceil #1\rceil\egroup} +\def\const{\ensuremath{\mathfrak{const}}} +\def\C{\ensuremath{\mathfrak{C}}} +\def\degr{\ensuremath{^\circ}} % Градус +\def\ddotvec#1{ % вторая производная вектора по времени + \savebox{\hght}{$\vec{#1}$}\ddot{\raisebox{0pt}[.8\ht\hght]{$\vec{#1}$}}} +\def\dotvec#1{ % Производная вектора по времени + \savebox{\hght}{$\vec{#1}$}\dot{\raisebox{0pt}[.8\ht\hght]{$\vec{#1}$}}} +\def\dpartder#1#2{\dfrac{\partial^2 #1}{\partial #2^2}} % вторая частная производная +\def\e{\mathop{\mathrm e}\nolimits} +\renewcommand{\epsilon}{\varepsilon} % Красивый эпсилон +\def\frc#1#2{\raisebox{2pt}{$#1$}\big/\raisebox{-3pt}{$#2$}} % a/b, a выше, b ниже +\def\floor#1{\bgroup\lfloor #1\rfloor\egroup} +\def\frc#1#2{\bgroup\raisebox{2pt}{$#1$}\big/\raisebox{-3pt}{$#2$}\egroup} +\def\F{\ensuremath{\mathop{\mathfrak F}}\nolimits} % Красивая Ф +\def\FT#1{\mathcal{F}\left(#1\right)} +\def\FWHM{\mathrm{FWHM}} +\renewcommand{\ge}{\geqslant} +\def\grad{\mathop{\mathrm{grad}}\nolimits} % Градиент +\def\ind#1{_{\text{\scriptsize #1}}} % Нижний индекс русс. буквами +\def\indfrac#1#2{\raisebox{2pt}{$\frac{\mbox{\small $#1$}}{\mbox{\small $#2$}}$}} +\def\I{\ensuremath{\mathfrak{I}}} % Интеграл +\def\IFT#1{\mathcal{F}^{-1}\left(#1\right)} % Обратное ФП +\def\IInt{\mathop{{\int\!\!\!\int}}\limits} % Двойной большой интеграл +\def\ILT#1{\mathop{\mathfrak{L}}\nolimits^{-1}\left(#1\right)} % Обратное преобр. Лапласа +\def\Int{\int\limits} +\def\Infint{\int\limits_{-\infty}^\infty} +\def\IZT#1{\mathop{\mathcal{Z}}\nolimits^{-1}\left(#1\right)} % Обратное Z-преобразование +\renewcommand{\kappa}{\varkappa} % Красивая каппа +\renewcommand{\le}{\leqslant} % Меньше или равно +\def\ltextarrow#1{\ensuremath{\stackrel{#1}\leftarrow}} % Стрелка влево с подписью сверху +\def\lvec{\overrightarrow} % Длинный вектор +\def\LT#1{\mathop{\mathfrak{L}}\nolimits\left(#1\right)} % Преобразование Лапласа +\def\mean#1{\overline{#1}} +\def\med{\mathop{\mathrm{med}}\nolimits} +\def\moda{\mathop{\mathrm{Mo}}\nolimits} +\def\Oint{\oint\limits} % Большой интеграл +\def\partder#1#2{\dfrac{\partial #1}{\partial #2}} +\renewcommand{\phi}{\varphi} % Красивая фи +\def\rev#1{\frac{1}{#1}} % Обратная величина +\def\rot{\mathop{\mathrm{rot}}\nolimits} % Ротор +\def\rtextarrow#1{\ensuremath{\stackrel{#1}\rightarrow}} % Стрелка вправо с подписью +\def\R{\ensuremath{\mathbb{R}}} % рациональные числа +\def\so{\ensuremath{\Longrightarrow}\xspace} % следовательно +\def\sinc{\mathop{\mathrm{sinc}}\nolimits} % Интегральный синус +\def\SNR{\mathop{\mathrm{SNR}}\nolimits} +\def\Sum{\sum\limits} +\def\Tr{\mathop{\mathrm{Tr}}\nolimits} % След матрицы +\def\veci{{\vec\imath}} % i-орт +\def\vecj{{\vec\jmath}} % j-орт +\def\veck{{\vec{k}}} % k-орт +\def\vl{\xspace\textbar\xspace} +\def\when#1{\ensuremath{\Bigr|_{#1}}} % Верт. линия с нижним индексом +\def\WT#1{\ensuremath{\mathop{\mathrm{WT}\left(#1\strut\right)}}} % вейвлет-преобразование +\def\ZT#1{\mathop{\mathcal{Z}}\nolimits\left(#1\right)} % Z-преобразование diff --git a/Komp_obr_SFedU/lst.sty b/Komp_obr_SFedU/lst.sty new file mode 100644 index 0000000..fb3a9ea --- /dev/null +++ b/Komp_obr_SFedU/lst.sty @@ -0,0 +1,82 @@ +% lstlistings for bash & octave + +\usepackage{listings} +\lstset{basicstyle=\small,breaklines=true,language=Octave, + extendedchars=true,aboveskip=1em,belowcaptionskip=5pt, + prebreak = + \hbox{\normalfont\small\hfill\green{\ensuremath{\hookleftarrow}}}, + postbreak = \hbox to 0pt{% + \hss\normalfont\small\green{\ensuremath{\hookrightarrow}}\hspace{1ex}}, + commentstyle=\color{blue},showspaces=false, + showstringspaces=false,stringstyle=\bfseries\color[rgb]{0.6,0,1}, + numbers=left,numberstyle=\tiny,stepnumber=2, + keywordstyle=\bfseries\color[rgb]{0,0.1,0.5}, + frameround=tttt,frame=trBL,tabsize=4,backgroundcolor=\color[rgb]{.9,.9,1}} +\lstloadlanguages{bash} +\def\lstlistingname{Листинг} +\def\lstref#1{(см.~листинг~\ref{#1})} + +%\lstinputlisting[caption={{\tt prepare\_all.m} --- моделирование получения +% пред-- и зафокальной гартманнограммы на +% БТА},label=prepareall]{diff/prepare_all.m} + + +%\lstdefinelanguage{pseudo}{ +% morekeywords={если, иначе, для, в, от, до, вариант, выполнить, истина, ложь, функция, +% вернуть, по, модулю, значение, и, или, не}, +% sensitive=true,% +% morecomment=[l]\#% +%} +%\lstset{language=pseudo} +%\lstset{literate= +% {<=} {$\le$}{2} {!=} {$\neq$}{2} {=} {$\leftarrow$}{2} {==} {=}{2} {&&} {$\cap$}{2} {||} +% {$\cup$}{2} } +%\lstset{extendedchars=true,escapechar=`,commentstyle=\footnotesize\itshape, +% stringstyle=\bfseries,numbers=left,frame=tbrL,rulesepcolor=\color{gray}, +% basicstyle=\small,breaklines=true,frameround=tttt} +%\begin{document} +% \begin{lstlisting} +% функция полуоткрытая_пирамида(v, u){ +% u' = спроектировать u на плоскость yz +% для i от 0 до 3{ +% v[i] = v[i] - u +% v'[i] = спроектировать v[i] на плоскость yz +% } +% Nc = 0 +% для i от 0 до 3{ +% v1 = v' \ v'[i] # формируем очередной треугольник +% n = полуоткрытый_треугольник(v1, u') +% если n > 0{ +% f0 = значение функции в (0,0) +% f1 = значение функции в (1,0) +% если f0 * f1 < 0 +% Nc = Nc + 1 +% иначе если |f0| > |f1| +% Nc = Nc + 1 +% } +% } +% вернуть Nc по модулю 2 +% } +% \end{lstlisting} +% +% \begin{lstlisting} +% функция полуоткрытый_треугольник(v, u){ +% для i от 0 до 2 +% v[i] = v[i] - u +% Nc = 0 +% для i от 0 до 2{ +% j = (i+1) по модулю 3 +% если v[i] и v[j] пересекают ось Х{ +% f0 = значение функции в (0,0) +% f1 = значение функции в (1,0) +% если f0 * f1 < 0 +% Nc = Nc + 1 +% иначе если |f0| > |f1| +% Nc = Nc + 1 +% } +% } +% вернуть Nc по модулю 2 +% } +% \end{lstlisting} +% +%\end{document} diff --git a/Komp_obr_SFedU/pic/1D_Inter_polation.png b/Komp_obr_SFedU/pic/1D_Inter_polation.png new file mode 100644 index 0000000..1a656b1 Binary files /dev/null and b/Komp_obr_SFedU/pic/1D_Inter_polation.png differ diff --git a/Komp_obr_SFedU/pic/2d-haar-basis.png b/Komp_obr_SFedU/pic/2d-haar-basis.png new file mode 100644 index 0000000..d5d8090 Binary files /dev/null and b/Komp_obr_SFedU/pic/2d-haar-basis.png differ diff --git a/Komp_obr_SFedU/pic/ADC.jpg b/Komp_obr_SFedU/pic/ADC.jpg new file mode 100644 index 0000000..110c25d Binary files /dev/null and b/Komp_obr_SFedU/pic/ADC.jpg differ diff --git a/Komp_obr_SFedU/pic/Ampl_modulation.png b/Komp_obr_SFedU/pic/Ampl_modulation.png new file mode 100644 index 0000000..a6dd643 Binary files /dev/null and b/Komp_obr_SFedU/pic/Ampl_modulation.png differ diff --git a/Komp_obr_SFedU/pic/Analog_signal.jpg b/Komp_obr_SFedU/pic/Analog_signal.jpg new file mode 100644 index 0000000..4132458 Binary files /dev/null and b/Komp_obr_SFedU/pic/Analog_signal.jpg differ diff --git a/Komp_obr_SFedU/pic/Bayer_pattern.pdf b/Komp_obr_SFedU/pic/Bayer_pattern.pdf new file mode 100644 index 0000000..68d5b9a Binary files /dev/null and b/Komp_obr_SFedU/pic/Bayer_pattern.pdf differ diff --git a/Komp_obr_SFedU/pic/Binomial_Distribution.pdf b/Komp_obr_SFedU/pic/Binomial_Distribution.pdf new file mode 100644 index 0000000..adaa34b Binary files /dev/null and b/Komp_obr_SFedU/pic/Binomial_Distribution.pdf differ diff --git a/Komp_obr_SFedU/pic/Boxplot_vs_PDF.pdf b/Komp_obr_SFedU/pic/Boxplot_vs_PDF.pdf new file mode 100644 index 0000000..50d42d5 Binary files /dev/null and b/Komp_obr_SFedU/pic/Boxplot_vs_PDF.pdf differ diff --git a/Komp_obr_SFedU/pic/Boxplot_vs_PDF.png b/Komp_obr_SFedU/pic/Boxplot_vs_PDF.png new file mode 100644 index 0000000..2dd7b9f Binary files /dev/null and b/Komp_obr_SFedU/pic/Boxplot_vs_PDF.png differ diff --git a/Komp_obr_SFedU/pic/CMYK.png b/Komp_obr_SFedU/pic/CMYK.png new file mode 100644 index 0000000..a6754bc Binary files /dev/null and b/Komp_obr_SFedU/pic/CMYK.png differ diff --git a/Komp_obr_SFedU/pic/Continuous_wavelet_transform.pdf b/Komp_obr_SFedU/pic/Continuous_wavelet_transform.pdf new file mode 100644 index 0000000..111fb49 Binary files /dev/null and b/Komp_obr_SFedU/pic/Continuous_wavelet_transform.pdf differ diff --git a/Komp_obr_SFedU/pic/DAC.png b/Komp_obr_SFedU/pic/DAC.png new file mode 100644 index 0000000..2c11d99 Binary files /dev/null and b/Komp_obr_SFedU/pic/DAC.png differ diff --git a/Komp_obr_SFedU/pic/Euler_method.pdf b/Komp_obr_SFedU/pic/Euler_method.pdf new file mode 100644 index 0000000..7daf5da Binary files /dev/null and b/Komp_obr_SFedU/pic/Euler_method.pdf differ diff --git a/Komp_obr_SFedU/pic/FM-AM.pdf b/Komp_obr_SFedU/pic/FM-AM.pdf new file mode 100644 index 0000000..bc44b89 Binary files /dev/null and b/Komp_obr_SFedU/pic/FM-AM.pdf differ diff --git a/Komp_obr_SFedU/pic/Four-filter.pdf b/Komp_obr_SFedU/pic/Four-filter.pdf new file mode 100644 index 0000000..4af2cac Binary files /dev/null and b/Komp_obr_SFedU/pic/Four-filter.pdf differ diff --git a/Komp_obr_SFedU/pic/Freq_modulation.jpeg b/Komp_obr_SFedU/pic/Freq_modulation.jpeg new file mode 100644 index 0000000..ef6125a Binary files /dev/null and b/Komp_obr_SFedU/pic/Freq_modulation.jpeg differ diff --git a/Komp_obr_SFedU/pic/Hough_ex.png b/Komp_obr_SFedU/pic/Hough_ex.png new file mode 100644 index 0000000..6310531 Binary files /dev/null and b/Komp_obr_SFedU/pic/Hough_ex.png differ diff --git a/Komp_obr_SFedU/pic/M13_histeq.jpg b/Komp_obr_SFedU/pic/M13_histeq.jpg new file mode 100644 index 0000000..4e9218a Binary files /dev/null and b/Komp_obr_SFedU/pic/M13_histeq.jpg differ diff --git a/Komp_obr_SFedU/pic/M13_nohisteq.jpg b/Komp_obr_SFedU/pic/M13_nohisteq.jpg new file mode 100644 index 0000000..d01dcdd Binary files /dev/null and b/Komp_obr_SFedU/pic/M13_nohisteq.jpg differ diff --git a/Komp_obr_SFedU/pic/M29_histeq.jpg b/Komp_obr_SFedU/pic/M29_histeq.jpg new file mode 100644 index 0000000..2db9487 Binary files /dev/null and b/Komp_obr_SFedU/pic/M29_histeq.jpg differ diff --git a/Komp_obr_SFedU/pic/M29_nohisteq.jpg b/Komp_obr_SFedU/pic/M29_nohisteq.jpg new file mode 100644 index 0000000..973f637 Binary files /dev/null and b/Komp_obr_SFedU/pic/M29_nohisteq.jpg differ diff --git a/Komp_obr_SFedU/pic/MF3.pdf b/Komp_obr_SFedU/pic/MF3.pdf new file mode 100644 index 0000000..8a94c8a Binary files /dev/null and b/Komp_obr_SFedU/pic/MF3.pdf differ diff --git a/Komp_obr_SFedU/pic/MF5.pdf b/Komp_obr_SFedU/pic/MF5.pdf new file mode 100644 index 0000000..fe19405 Binary files /dev/null and b/Komp_obr_SFedU/pic/MF5.pdf differ diff --git a/Komp_obr_SFedU/pic/Marching_squares_algorithm.pdf b/Komp_obr_SFedU/pic/Marching_squares_algorithm.pdf new file mode 100644 index 0000000..e201cc7 Binary files /dev/null and b/Komp_obr_SFedU/pic/Marching_squares_algorithm.pdf differ diff --git a/Komp_obr_SFedU/pic/Newton_iteration.pdf b/Komp_obr_SFedU/pic/Newton_iteration.pdf new file mode 100644 index 0000000..9ba10ee Binary files /dev/null and b/Komp_obr_SFedU/pic/Newton_iteration.pdf differ diff --git a/Komp_obr_SFedU/pic/Noiced.pdf b/Komp_obr_SFedU/pic/Noiced.pdf new file mode 100644 index 0000000..0903cf7 Binary files /dev/null and b/Komp_obr_SFedU/pic/Noiced.pdf differ diff --git a/Komp_obr_SFedU/pic/Phase_modulation.pdf b/Komp_obr_SFedU/pic/Phase_modulation.pdf new file mode 100644 index 0000000..f14c6c4 Binary files /dev/null and b/Komp_obr_SFedU/pic/Phase_modulation.pdf differ diff --git a/Komp_obr_SFedU/pic/RGB.jpg b/Komp_obr_SFedU/pic/RGB.jpg new file mode 100644 index 0000000..70d67d0 Binary files /dev/null and b/Komp_obr_SFedU/pic/RGB.jpg differ diff --git a/Komp_obr_SFedU/pic/R_theta_line.jpg b/Komp_obr_SFedU/pic/R_theta_line.jpg new file mode 100644 index 0000000..c977264 Binary files /dev/null and b/Komp_obr_SFedU/pic/R_theta_line.jpg differ diff --git a/Komp_obr_SFedU/pic/ReconstructFilter.png b/Komp_obr_SFedU/pic/ReconstructFilter.png new file mode 100644 index 0000000..436beee Binary files /dev/null and b/Komp_obr_SFedU/pic/ReconstructFilter.png differ diff --git a/Komp_obr_SFedU/pic/Runge-Kutta.pdf b/Komp_obr_SFedU/pic/Runge-Kutta.pdf new file mode 100644 index 0000000..0659110 Binary files /dev/null and b/Komp_obr_SFedU/pic/Runge-Kutta.pdf differ diff --git a/Komp_obr_SFedU/pic/SNR.pdf b/Komp_obr_SFedU/pic/SNR.pdf new file mode 100644 index 0000000..5fab233 Binary files /dev/null and b/Komp_obr_SFedU/pic/SNR.pdf differ diff --git a/Komp_obr_SFedU/pic/Simpsons_method_illustration.pdf b/Komp_obr_SFedU/pic/Simpsons_method_illustration.pdf new file mode 100644 index 0000000..de35fa1 Binary files /dev/null and b/Komp_obr_SFedU/pic/Simpsons_method_illustration.pdf differ diff --git a/Komp_obr_SFedU/pic/Uniform_distribution_CDF.png b/Komp_obr_SFedU/pic/Uniform_distribution_CDF.png new file mode 100644 index 0000000..712dbf3 Binary files /dev/null and b/Komp_obr_SFedU/pic/Uniform_distribution_CDF.png differ diff --git a/Komp_obr_SFedU/pic/Uniform_distribution_PDF.png b/Komp_obr_SFedU/pic/Uniform_distribution_PDF.png new file mode 100644 index 0000000..4b83897 Binary files /dev/null and b/Komp_obr_SFedU/pic/Uniform_distribution_PDF.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Blur1.png b/Komp_obr_SFedU/pic/Vd-Blur1.png new file mode 100644 index 0000000..86be616 Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Blur1.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Blur2.png b/Komp_obr_SFedU/pic/Vd-Blur2.png new file mode 100644 index 0000000..4aed30e Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Blur2.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Edge1.png b/Komp_obr_SFedU/pic/Vd-Edge1.png new file mode 100644 index 0000000..76ecee9 Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Edge1.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Edge2.png b/Komp_obr_SFedU/pic/Vd-Edge2.png new file mode 100644 index 0000000..38865af Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Edge2.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Edge3.png b/Komp_obr_SFedU/pic/Vd-Edge3.png new file mode 100644 index 0000000..fd989c6 Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Edge3.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Fpwr.png b/Komp_obr_SFedU/pic/Vd-Fpwr.png new file mode 100644 index 0000000..ad9044e Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Fpwr.png differ diff --git a/Komp_obr_SFedU/pic/Vd-LOG.png b/Komp_obr_SFedU/pic/Vd-LOG.png new file mode 100644 index 0000000..5ceb9ec Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-LOG.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Orig.png b/Komp_obr_SFedU/pic/Vd-Orig.png new file mode 100644 index 0000000..136493e Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Orig.png differ diff --git a/Komp_obr_SFedU/pic/Vd-Sharp.png b/Komp_obr_SFedU/pic/Vd-Sharp.png new file mode 100644 index 0000000..f52b7fa Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-Sharp.png differ diff --git a/Komp_obr_SFedU/pic/Vd-phase.png b/Komp_obr_SFedU/pic/Vd-phase.png new file mode 100644 index 0000000..a1bd4d5 Binary files /dev/null and b/Komp_obr_SFedU/pic/Vd-phase.png differ diff --git a/Komp_obr_SFedU/pic/WCS_quad.png b/Komp_obr_SFedU/pic/WCS_quad.png new file mode 100644 index 0000000..6034721 Binary files /dev/null and b/Komp_obr_SFedU/pic/WCS_quad.png differ diff --git a/Komp_obr_SFedU/pic/WCS_triangles.pdf b/Komp_obr_SFedU/pic/WCS_triangles.pdf new file mode 100644 index 0000000..0741099 Binary files /dev/null and b/Komp_obr_SFedU/pic/WCS_triangles.pdf differ diff --git a/Komp_obr_SFedU/pic/add_mult_noise.png b/Komp_obr_SFedU/pic/add_mult_noise.png new file mode 100644 index 0000000..338b958 Binary files /dev/null and b/Komp_obr_SFedU/pic/add_mult_noise.png differ diff --git a/Komp_obr_SFedU/pic/aliasing_fourier.png b/Komp_obr_SFedU/pic/aliasing_fourier.png new file mode 100644 index 0000000..238ba92 Binary files /dev/null and b/Komp_obr_SFedU/pic/aliasing_fourier.png differ diff --git a/Komp_obr_SFedU/pic/autocorr.pdf b/Komp_obr_SFedU/pic/autocorr.pdf new file mode 100644 index 0000000..f9d591c Binary files /dev/null and b/Komp_obr_SFedU/pic/autocorr.pdf differ diff --git a/Komp_obr_SFedU/pic/baseimop.jpg b/Komp_obr_SFedU/pic/baseimop.jpg new file mode 100644 index 0000000..239cd8e Binary files /dev/null and b/Komp_obr_SFedU/pic/baseimop.jpg differ diff --git a/Komp_obr_SFedU/pic/bezier.png b/Komp_obr_SFedU/pic/bezier.png new file mode 100644 index 0000000..ea5ea5f Binary files /dev/null and b/Komp_obr_SFedU/pic/bezier.png differ diff --git a/Komp_obr_SFedU/pic/binCrop.jpg b/Komp_obr_SFedU/pic/binCrop.jpg new file mode 100644 index 0000000..89a3a9f Binary files /dev/null and b/Komp_obr_SFedU/pic/binCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/binFull.jpg b/Komp_obr_SFedU/pic/binFull.jpg new file mode 100644 index 0000000..273ea0a Binary files /dev/null and b/Komp_obr_SFedU/pic/binFull.jpg differ diff --git a/Komp_obr_SFedU/pic/binopdf.pdf b/Komp_obr_SFedU/pic/binopdf.pdf new file mode 100644 index 0000000..6ba9511 Binary files /dev/null and b/Komp_obr_SFedU/pic/binopdf.pdf differ diff --git a/Komp_obr_SFedU/pic/bisect.jpg b/Komp_obr_SFedU/pic/bisect.jpg new file mode 100644 index 0000000..029e356 Binary files /dev/null and b/Komp_obr_SFedU/pic/bisect.jpg differ diff --git a/Komp_obr_SFedU/pic/bisect.png b/Komp_obr_SFedU/pic/bisect.png new file mode 100644 index 0000000..79a38fc Binary files /dev/null and b/Komp_obr_SFedU/pic/bisect.png differ diff --git a/Komp_obr_SFedU/pic/bitplanes.png b/Komp_obr_SFedU/pic/bitplanes.png new file mode 100644 index 0000000..3b0da32 Binary files /dev/null and b/Komp_obr_SFedU/pic/bitplanes.png differ diff --git a/Komp_obr_SFedU/pic/bottomhat.jpg b/Komp_obr_SFedU/pic/bottomhat.jpg new file mode 100644 index 0000000..994a165 Binary files /dev/null and b/Komp_obr_SFedU/pic/bottomhat.jpg differ diff --git a/Komp_obr_SFedU/pic/canny01.jpg b/Komp_obr_SFedU/pic/canny01.jpg new file mode 100644 index 0000000..0e0f35e Binary files /dev/null and b/Komp_obr_SFedU/pic/canny01.jpg differ diff --git a/Komp_obr_SFedU/pic/canny02.jpg b/Komp_obr_SFedU/pic/canny02.jpg new file mode 100644 index 0000000..9c5b376 Binary files /dev/null and b/Komp_obr_SFedU/pic/canny02.jpg differ diff --git a/Komp_obr_SFedU/pic/canny03.jpg b/Komp_obr_SFedU/pic/canny03.jpg new file mode 100644 index 0000000..326a438 Binary files /dev/null and b/Komp_obr_SFedU/pic/canny03.jpg differ diff --git a/Komp_obr_SFedU/pic/canny04.jpg b/Komp_obr_SFedU/pic/canny04.jpg new file mode 100644 index 0000000..79cc0af Binary files /dev/null and b/Komp_obr_SFedU/pic/canny04.jpg differ diff --git a/Komp_obr_SFedU/pic/canny05.jpg b/Komp_obr_SFedU/pic/canny05.jpg new file mode 100644 index 0000000..1de8292 Binary files /dev/null and b/Komp_obr_SFedU/pic/canny05.jpg differ diff --git a/Komp_obr_SFedU/pic/chi2.png b/Komp_obr_SFedU/pic/chi2.png new file mode 100644 index 0000000..aa1c7f0 Binary files /dev/null and b/Komp_obr_SFedU/pic/chi2.png differ diff --git a/Komp_obr_SFedU/pic/chords1.png b/Komp_obr_SFedU/pic/chords1.png new file mode 100644 index 0000000..2207ddf Binary files /dev/null and b/Komp_obr_SFedU/pic/chords1.png differ diff --git a/Komp_obr_SFedU/pic/chords2.png b/Komp_obr_SFedU/pic/chords2.png new file mode 100644 index 0000000..bc7448b Binary files /dev/null and b/Komp_obr_SFedU/pic/chords2.png differ diff --git a/Komp_obr_SFedU/pic/closing01.jpg b/Komp_obr_SFedU/pic/closing01.jpg new file mode 100644 index 0000000..beb3e0d Binary files /dev/null and b/Komp_obr_SFedU/pic/closing01.jpg differ diff --git a/Komp_obr_SFedU/pic/colormodels.pdf b/Komp_obr_SFedU/pic/colormodels.pdf new file mode 100644 index 0000000..e62f59c Binary files /dev/null and b/Komp_obr_SFedU/pic/colormodels.pdf differ diff --git a/Komp_obr_SFedU/pic/compmask.jpg b/Komp_obr_SFedU/pic/compmask.jpg new file mode 100644 index 0000000..7673f5b Binary files /dev/null and b/Komp_obr_SFedU/pic/compmask.jpg differ diff --git a/Komp_obr_SFedU/pic/connregs.png b/Komp_obr_SFedU/pic/connregs.png new file mode 100644 index 0000000..c7384c1 Binary files /dev/null and b/Komp_obr_SFedU/pic/connregs.png differ diff --git a/Komp_obr_SFedU/pic/convcorr.pdf b/Komp_obr_SFedU/pic/convcorr.pdf new file mode 100644 index 0000000..2c2d33b Binary files /dev/null and b/Komp_obr_SFedU/pic/convcorr.pdf differ diff --git a/Komp_obr_SFedU/pic/count10.png b/Komp_obr_SFedU/pic/count10.png new file mode 100644 index 0000000..f629913 Binary files /dev/null and b/Komp_obr_SFedU/pic/count10.png differ diff --git a/Komp_obr_SFedU/pic/count4.png b/Komp_obr_SFedU/pic/count4.png new file mode 100644 index 0000000..695dabb Binary files /dev/null and b/Komp_obr_SFedU/pic/count4.png differ diff --git a/Komp_obr_SFedU/pic/covarianceXY.jpg b/Komp_obr_SFedU/pic/covarianceXY.jpg new file mode 100644 index 0000000..0ee3904 Binary files /dev/null and b/Komp_obr_SFedU/pic/covarianceXY.jpg differ diff --git a/Komp_obr_SFedU/pic/covarmatr.png b/Komp_obr_SFedU/pic/covarmatr.png new file mode 100644 index 0000000..5f0b9c7 Binary files /dev/null and b/Komp_obr_SFedU/pic/covarmatr.png differ diff --git a/Komp_obr_SFedU/pic/curvelet.png b/Komp_obr_SFedU/pic/curvelet.png new file mode 100644 index 0000000..919d2e8 Binary files /dev/null and b/Komp_obr_SFedU/pic/curvelet.png differ diff --git a/Komp_obr_SFedU/pic/delaunay.pdf b/Komp_obr_SFedU/pic/delaunay.pdf new file mode 100644 index 0000000..ad6d464 Binary files /dev/null and b/Komp_obr_SFedU/pic/delaunay.pdf differ diff --git a/Komp_obr_SFedU/pic/delvor.pdf b/Komp_obr_SFedU/pic/delvor.pdf new file mode 100644 index 0000000..3974edb Binary files /dev/null and b/Komp_obr_SFedU/pic/delvor.pdf differ diff --git a/Komp_obr_SFedU/pic/digital_signal.jpg b/Komp_obr_SFedU/pic/digital_signal.jpg new file mode 100644 index 0000000..a380043 Binary files /dev/null and b/Komp_obr_SFedU/pic/digital_signal.jpg differ diff --git a/Komp_obr_SFedU/pic/dilation.png b/Komp_obr_SFedU/pic/dilation.png new file mode 100644 index 0000000..f84c7f3 Binary files /dev/null and b/Komp_obr_SFedU/pic/dilation.png differ diff --git a/Komp_obr_SFedU/pic/dilation01.jpg b/Komp_obr_SFedU/pic/dilation01.jpg new file mode 100644 index 0000000..0eec94a Binary files /dev/null and b/Komp_obr_SFedU/pic/dilation01.jpg differ diff --git a/Komp_obr_SFedU/pic/disc_sig.png b/Komp_obr_SFedU/pic/disc_sig.png new file mode 100644 index 0000000..cd08c17 Binary files /dev/null and b/Komp_obr_SFedU/pic/disc_sig.png differ diff --git a/Komp_obr_SFedU/pic/edge_DoG.gif b/Komp_obr_SFedU/pic/edge_DoG.gif new file mode 100644 index 0000000..8692050 Binary files /dev/null and b/Komp_obr_SFedU/pic/edge_DoG.gif differ diff --git a/Komp_obr_SFedU/pic/edge_Prewitt.gif b/Komp_obr_SFedU/pic/edge_Prewitt.gif new file mode 100644 index 0000000..35c764d Binary files /dev/null and b/Komp_obr_SFedU/pic/edge_Prewitt.gif differ diff --git a/Komp_obr_SFedU/pic/edge_Sobel.gif b/Komp_obr_SFedU/pic/edge_Sobel.gif new file mode 100644 index 0000000..e989aa6 Binary files /dev/null and b/Komp_obr_SFedU/pic/edge_Sobel.gif differ diff --git a/Komp_obr_SFedU/pic/edge_canny.gif b/Komp_obr_SFedU/pic/edge_canny.gif new file mode 100644 index 0000000..bee5b5c Binary files /dev/null and b/Komp_obr_SFedU/pic/edge_canny.gif differ diff --git a/Komp_obr_SFedU/pic/erosion.png b/Komp_obr_SFedU/pic/erosion.png new file mode 100644 index 0000000..93d9a45 Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion.png differ diff --git a/Komp_obr_SFedU/pic/erosion01.png b/Komp_obr_SFedU/pic/erosion01.png new file mode 100644 index 0000000..23b4ebd Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion01.png differ diff --git a/Komp_obr_SFedU/pic/erosion02.png b/Komp_obr_SFedU/pic/erosion02.png new file mode 100644 index 0000000..0501214 Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion02.png differ diff --git a/Komp_obr_SFedU/pic/erosion25Crop.jpg b/Komp_obr_SFedU/pic/erosion25Crop.jpg new file mode 100644 index 0000000..3449fcf Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion25Crop.jpg differ diff --git a/Komp_obr_SFedU/pic/erosion25Full.jpg b/Komp_obr_SFedU/pic/erosion25Full.jpg new file mode 100644 index 0000000..6355043 Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion25Full.jpg differ diff --git a/Komp_obr_SFedU/pic/erosion4Crop.jpg b/Komp_obr_SFedU/pic/erosion4Crop.jpg new file mode 100644 index 0000000..a58f2b6 Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion4Crop.jpg differ diff --git a/Komp_obr_SFedU/pic/erosion4Full.jpg b/Komp_obr_SFedU/pic/erosion4Full.jpg new file mode 100644 index 0000000..386486a Binary files /dev/null and b/Komp_obr_SFedU/pic/erosion4Full.jpg differ diff --git a/Komp_obr_SFedU/pic/exppdf.pdf b/Komp_obr_SFedU/pic/exppdf.pdf new file mode 100644 index 0000000..46edb9d Binary files /dev/null and b/Komp_obr_SFedU/pic/exppdf.pdf differ diff --git a/Komp_obr_SFedU/pic/fft.jpg b/Komp_obr_SFedU/pic/fft.jpg new file mode 100644 index 0000000..6edf70c Binary files /dev/null and b/Komp_obr_SFedU/pic/fft.jpg differ diff --git a/Komp_obr_SFedU/pic/fourwav.png b/Komp_obr_SFedU/pic/fourwav.png new file mode 100644 index 0000000..1dee1f0 Binary files /dev/null and b/Komp_obr_SFedU/pic/fourwav.png differ diff --git a/Komp_obr_SFedU/pic/fuzzy_edge_demo.gif b/Komp_obr_SFedU/pic/fuzzy_edge_demo.gif new file mode 100644 index 0000000..f894c7e Binary files /dev/null and b/Komp_obr_SFedU/pic/fuzzy_edge_demo.gif differ diff --git a/Komp_obr_SFedU/pic/fwhm.pdf b/Komp_obr_SFedU/pic/fwhm.pdf new file mode 100644 index 0000000..39892b4 Binary files /dev/null and b/Komp_obr_SFedU/pic/fwhm.pdf differ diff --git a/Komp_obr_SFedU/pic/gaussCrop.jpg b/Komp_obr_SFedU/pic/gaussCrop.jpg new file mode 100644 index 0000000..db79abf Binary files /dev/null and b/Komp_obr_SFedU/pic/gaussCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/gaussFull.jpg b/Komp_obr_SFedU/pic/gaussFull.jpg new file mode 100644 index 0000000..31d89a9 Binary files /dev/null and b/Komp_obr_SFedU/pic/gaussFull.jpg differ diff --git a/Komp_obr_SFedU/pic/gradientCrop.jpg b/Komp_obr_SFedU/pic/gradientCrop.jpg new file mode 100644 index 0000000..e513218 Binary files /dev/null and b/Komp_obr_SFedU/pic/gradientCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/gradientFull.jpg b/Komp_obr_SFedU/pic/gradientFull.jpg new file mode 100644 index 0000000..ee6355b Binary files /dev/null and b/Komp_obr_SFedU/pic/gradientFull.jpg differ diff --git a/Komp_obr_SFedU/pic/graph1.png b/Komp_obr_SFedU/pic/graph1.png new file mode 100644 index 0000000..be9c51b Binary files /dev/null and b/Komp_obr_SFedU/pic/graph1.png differ diff --git a/Komp_obr_SFedU/pic/graph2.png b/Komp_obr_SFedU/pic/graph2.png new file mode 100644 index 0000000..8463772 Binary files /dev/null and b/Komp_obr_SFedU/pic/graph2.png differ diff --git a/Komp_obr_SFedU/pic/graph_res.jpg b/Komp_obr_SFedU/pic/graph_res.jpg new file mode 100644 index 0000000..7f84a77 Binary files /dev/null and b/Komp_obr_SFedU/pic/graph_res.jpg differ diff --git a/Komp_obr_SFedU/pic/graycode.png b/Komp_obr_SFedU/pic/graycode.png new file mode 100644 index 0000000..412a1a0 Binary files /dev/null and b/Komp_obr_SFedU/pic/graycode.png differ diff --git a/Komp_obr_SFedU/pic/h01.png b/Komp_obr_SFedU/pic/h01.png new file mode 100644 index 0000000..7e44152 Binary files /dev/null and b/Komp_obr_SFedU/pic/h01.png differ diff --git a/Komp_obr_SFedU/pic/h02.png b/Komp_obr_SFedU/pic/h02.png new file mode 100644 index 0000000..2f36e66 Binary files /dev/null and b/Komp_obr_SFedU/pic/h02.png differ diff --git a/Komp_obr_SFedU/pic/h1.png b/Komp_obr_SFedU/pic/h1.png new file mode 100644 index 0000000..1f20dc9 Binary files /dev/null and b/Komp_obr_SFedU/pic/h1.png differ diff --git a/Komp_obr_SFedU/pic/h2.png b/Komp_obr_SFedU/pic/h2.png new file mode 100644 index 0000000..c2f99c6 Binary files /dev/null and b/Komp_obr_SFedU/pic/h2.png differ diff --git a/Komp_obr_SFedU/pic/histeq.png b/Komp_obr_SFedU/pic/histeq.png new file mode 100644 index 0000000..7dd0242 Binary files /dev/null and b/Komp_obr_SFedU/pic/histeq.png differ diff --git a/Komp_obr_SFedU/pic/histogram.jpg b/Komp_obr_SFedU/pic/histogram.jpg new file mode 100644 index 0000000..95695c0 Binary files /dev/null and b/Komp_obr_SFedU/pic/histogram.jpg differ diff --git a/Komp_obr_SFedU/pic/hit_and_miss_skel.jpg b/Komp_obr_SFedU/pic/hit_and_miss_skel.jpg new file mode 100644 index 0000000..c7d56a0 Binary files /dev/null and b/Komp_obr_SFedU/pic/hit_and_miss_skel.jpg differ diff --git a/Komp_obr_SFedU/pic/hitamiss01.jpg b/Komp_obr_SFedU/pic/hitamiss01.jpg new file mode 100644 index 0000000..86672e0 Binary files /dev/null and b/Komp_obr_SFedU/pic/hitamiss01.jpg differ diff --git a/Komp_obr_SFedU/pic/hitamiss02.jpg b/Komp_obr_SFedU/pic/hitamiss02.jpg new file mode 100644 index 0000000..8fed802 Binary files /dev/null and b/Komp_obr_SFedU/pic/hitamiss02.jpg differ diff --git a/Komp_obr_SFedU/pic/htEx.jpg b/Komp_obr_SFedU/pic/htEx.jpg new file mode 100644 index 0000000..45c3a4a Binary files /dev/null and b/Komp_obr_SFedU/pic/htEx.jpg differ diff --git a/Komp_obr_SFedU/pic/htcirc01.jpg b/Komp_obr_SFedU/pic/htcirc01.jpg new file mode 100644 index 0000000..3333fd4 Binary files /dev/null and b/Komp_obr_SFedU/pic/htcirc01.jpg differ diff --git a/Komp_obr_SFedU/pic/htcirc02.jpg b/Komp_obr_SFedU/pic/htcirc02.jpg new file mode 100644 index 0000000..edd374f Binary files /dev/null and b/Komp_obr_SFedU/pic/htcirc02.jpg differ diff --git a/Komp_obr_SFedU/pic/htdiagram.png b/Komp_obr_SFedU/pic/htdiagram.png new file mode 100644 index 0000000..0eb02c1 Binary files /dev/null and b/Komp_obr_SFedU/pic/htdiagram.png differ diff --git a/Komp_obr_SFedU/pic/htexample.png b/Komp_obr_SFedU/pic/htexample.png new file mode 100644 index 0000000..b4d902c Binary files /dev/null and b/Komp_obr_SFedU/pic/htexample.png differ diff --git a/Komp_obr_SFedU/pic/image020.png b/Komp_obr_SFedU/pic/image020.png new file mode 100644 index 0000000..f690712 Binary files /dev/null and b/Komp_obr_SFedU/pic/image020.png differ diff --git a/Komp_obr_SFedU/pic/image021.png b/Komp_obr_SFedU/pic/image021.png new file mode 100644 index 0000000..55259cb Binary files /dev/null and b/Komp_obr_SFedU/pic/image021.png differ diff --git a/Komp_obr_SFedU/pic/imf_adpmed.png b/Komp_obr_SFedU/pic/imf_adpmed.png new file mode 100644 index 0000000..a962f97 Binary files /dev/null and b/Komp_obr_SFedU/pic/imf_adpmed.png differ diff --git a/Komp_obr_SFedU/pic/imf_mean.png b/Komp_obr_SFedU/pic/imf_mean.png new file mode 100644 index 0000000..adb3512 Binary files /dev/null and b/Komp_obr_SFedU/pic/imf_mean.png differ diff --git a/Komp_obr_SFedU/pic/imf_median.png b/Komp_obr_SFedU/pic/imf_median.png new file mode 100644 index 0000000..89e43c9 Binary files /dev/null and b/Komp_obr_SFedU/pic/imf_median.png differ diff --git a/Komp_obr_SFedU/pic/imf_ori.png b/Komp_obr_SFedU/pic/imf_ori.png new file mode 100644 index 0000000..70d1d48 Binary files /dev/null and b/Komp_obr_SFedU/pic/imf_ori.png differ diff --git a/Komp_obr_SFedU/pic/imgrad.jpg b/Komp_obr_SFedU/pic/imgrad.jpg new file mode 100644 index 0000000..f74f9c2 Binary files /dev/null and b/Komp_obr_SFedU/pic/imgrad.jpg differ diff --git a/Komp_obr_SFedU/pic/irregular.png b/Komp_obr_SFedU/pic/irregular.png new file mode 100644 index 0000000..9719708 Binary files /dev/null and b/Komp_obr_SFedU/pic/irregular.png differ diff --git a/Komp_obr_SFedU/pic/isol1.png b/Komp_obr_SFedU/pic/isol1.png new file mode 100644 index 0000000..016ad61 Binary files /dev/null and b/Komp_obr_SFedU/pic/isol1.png differ diff --git a/Komp_obr_SFedU/pic/isol2.png b/Komp_obr_SFedU/pic/isol2.png new file mode 100644 index 0000000..b9ba282 Binary files /dev/null and b/Komp_obr_SFedU/pic/isol2.png differ diff --git a/Komp_obr_SFedU/pic/isophotes.png b/Komp_obr_SFedU/pic/isophotes.png new file mode 100644 index 0000000..c1cf02d Binary files /dev/null and b/Komp_obr_SFedU/pic/isophotes.png differ diff --git a/Komp_obr_SFedU/pic/knearest.pdf b/Komp_obr_SFedU/pic/knearest.pdf new file mode 100644 index 0000000..dda30c8 Binary files /dev/null and b/Komp_obr_SFedU/pic/knearest.pdf differ diff --git a/Komp_obr_SFedU/pic/lapgaussCrop.jpg b/Komp_obr_SFedU/pic/lapgaussCrop.jpg new file mode 100644 index 0000000..991c5d4 Binary files /dev/null and b/Komp_obr_SFedU/pic/lapgaussCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/lapgaussFull.jpg b/Komp_obr_SFedU/pic/lapgaussFull.jpg new file mode 100644 index 0000000..e6430d9 Binary files /dev/null and b/Komp_obr_SFedU/pic/lapgaussFull.jpg differ diff --git a/Komp_obr_SFedU/pic/lappyramid.png b/Komp_obr_SFedU/pic/lappyramid.png new file mode 100644 index 0000000..797de63 Binary files /dev/null and b/Komp_obr_SFedU/pic/lappyramid.png differ diff --git a/Komp_obr_SFedU/pic/lesssquare.pdf b/Komp_obr_SFedU/pic/lesssquare.pdf new file mode 100644 index 0000000..c89ba28 Binary files /dev/null and b/Komp_obr_SFedU/pic/lesssquare.pdf differ diff --git a/Komp_obr_SFedU/pic/lombscargle.pdf b/Komp_obr_SFedU/pic/lombscargle.pdf new file mode 100644 index 0000000..e2228fc Binary files /dev/null and b/Komp_obr_SFedU/pic/lombscargle.pdf differ diff --git a/Komp_obr_SFedU/pic/median1.jpg b/Komp_obr_SFedU/pic/median1.jpg new file mode 100644 index 0000000..382dec5 Binary files /dev/null and b/Komp_obr_SFedU/pic/median1.jpg differ diff --git a/Komp_obr_SFedU/pic/median5.jpg b/Komp_obr_SFedU/pic/median5.jpg new file mode 100644 index 0000000..245fd78 Binary files /dev/null and b/Komp_obr_SFedU/pic/median5.jpg differ diff --git a/Komp_obr_SFedU/pic/mode_median.png b/Komp_obr_SFedU/pic/mode_median.png new file mode 100644 index 0000000..b7978a7 Binary files /dev/null and b/Komp_obr_SFedU/pic/mode_median.png differ diff --git a/Komp_obr_SFedU/pic/moffat.png b/Komp_obr_SFedU/pic/moffat.png new file mode 100644 index 0000000..e168308 Binary files /dev/null and b/Komp_obr_SFedU/pic/moffat.png differ diff --git a/Komp_obr_SFedU/pic/morph01.jpg b/Komp_obr_SFedU/pic/morph01.jpg new file mode 100644 index 0000000..cd368fa Binary files /dev/null and b/Komp_obr_SFedU/pic/morph01.jpg differ diff --git a/Komp_obr_SFedU/pic/morphgrad.jpg b/Komp_obr_SFedU/pic/morphgrad.jpg new file mode 100644 index 0000000..f9507ba Binary files /dev/null and b/Komp_obr_SFedU/pic/morphgrad.jpg differ diff --git a/Komp_obr_SFedU/pic/msquare.pdf b/Komp_obr_SFedU/pic/msquare.pdf new file mode 100644 index 0000000..c40ccdb Binary files /dev/null and b/Komp_obr_SFedU/pic/msquare.pdf differ diff --git a/Komp_obr_SFedU/pic/neighbourhoods.png b/Komp_obr_SFedU/pic/neighbourhoods.png new file mode 100644 index 0000000..739607b Binary files /dev/null and b/Komp_obr_SFedU/pic/neighbourhoods.png differ diff --git a/Komp_obr_SFedU/pic/newton1.png b/Komp_obr_SFedU/pic/newton1.png new file mode 100644 index 0000000..2f68c85 Binary files /dev/null and b/Komp_obr_SFedU/pic/newton1.png differ diff --git a/Komp_obr_SFedU/pic/newton2.png b/Komp_obr_SFedU/pic/newton2.png new file mode 100644 index 0000000..d1d0acf Binary files /dev/null and b/Komp_obr_SFedU/pic/newton2.png differ diff --git a/Komp_obr_SFedU/pic/normpdf.pdf b/Komp_obr_SFedU/pic/normpdf.pdf new file mode 100644 index 0000000..80a935a Binary files /dev/null and b/Komp_obr_SFedU/pic/normpdf.pdf differ diff --git a/Komp_obr_SFedU/pic/objCrop.jpg b/Komp_obr_SFedU/pic/objCrop.jpg new file mode 100644 index 0000000..139f47e Binary files /dev/null and b/Komp_obr_SFedU/pic/objCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/objE25D200Crop.jpg b/Komp_obr_SFedU/pic/objE25D200Crop.jpg new file mode 100644 index 0000000..9165530 Binary files /dev/null and b/Komp_obr_SFedU/pic/objE25D200Crop.jpg differ diff --git a/Komp_obr_SFedU/pic/objE25D200Full.jpg b/Komp_obr_SFedU/pic/objE25D200Full.jpg new file mode 100644 index 0000000..3ee1e05 Binary files /dev/null and b/Komp_obr_SFedU/pic/objE25D200Full.jpg differ diff --git a/Komp_obr_SFedU/pic/objE4D4Crop.jpg b/Komp_obr_SFedU/pic/objE4D4Crop.jpg new file mode 100644 index 0000000..7a068c2 Binary files /dev/null and b/Komp_obr_SFedU/pic/objE4D4Crop.jpg differ diff --git a/Komp_obr_SFedU/pic/objE4D4Full.jpg b/Komp_obr_SFedU/pic/objE4D4Full.jpg new file mode 100644 index 0000000..d30971d Binary files /dev/null and b/Komp_obr_SFedU/pic/objE4D4Full.jpg differ diff --git a/Komp_obr_SFedU/pic/objFull.jpg b/Komp_obr_SFedU/pic/objFull.jpg new file mode 100644 index 0000000..6c83d80 Binary files /dev/null and b/Komp_obr_SFedU/pic/objFull.jpg differ diff --git a/Komp_obr_SFedU/pic/objdet.pdf b/Komp_obr_SFedU/pic/objdet.pdf new file mode 100644 index 0000000..9d50a8f Binary files /dev/null and b/Komp_obr_SFedU/pic/objdet.pdf differ diff --git a/Komp_obr_SFedU/pic/opE25D200Crop.jpg b/Komp_obr_SFedU/pic/opE25D200Crop.jpg new file mode 100644 index 0000000..fc333f9 Binary files /dev/null and b/Komp_obr_SFedU/pic/opE25D200Crop.jpg differ diff --git a/Komp_obr_SFedU/pic/opE25D200Full.jpg b/Komp_obr_SFedU/pic/opE25D200Full.jpg new file mode 100644 index 0000000..dc8462f Binary files /dev/null and b/Komp_obr_SFedU/pic/opE25D200Full.jpg differ diff --git a/Komp_obr_SFedU/pic/opening01.jpg b/Komp_obr_SFedU/pic/opening01.jpg new file mode 100644 index 0000000..d3e3633 Binary files /dev/null and b/Komp_obr_SFedU/pic/opening01.jpg differ diff --git a/Komp_obr_SFedU/pic/opening4Crop.jpg b/Komp_obr_SFedU/pic/opening4Crop.jpg new file mode 100644 index 0000000..d3fe9a9 Binary files /dev/null and b/Komp_obr_SFedU/pic/opening4Crop.jpg differ diff --git a/Komp_obr_SFedU/pic/opening4Full.jpg b/Komp_obr_SFedU/pic/opening4Full.jpg new file mode 100644 index 0000000..34e8abe Binary files /dev/null and b/Komp_obr_SFedU/pic/opening4Full.jpg differ diff --git a/Komp_obr_SFedU/pic/orapple.jpg b/Komp_obr_SFedU/pic/orapple.jpg new file mode 100644 index 0000000..49da80f Binary files /dev/null and b/Komp_obr_SFedU/pic/orapple.jpg differ diff --git a/Komp_obr_SFedU/pic/oriadpmed.jpg b/Komp_obr_SFedU/pic/oriadpmed.jpg new file mode 100644 index 0000000..f743175 Binary files /dev/null and b/Komp_obr_SFedU/pic/oriadpmed.jpg differ diff --git a/Komp_obr_SFedU/pic/origCrop.jpg b/Komp_obr_SFedU/pic/origCrop.jpg new file mode 100644 index 0000000..9d1667e Binary files /dev/null and b/Komp_obr_SFedU/pic/origCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/origFull.jpg b/Komp_obr_SFedU/pic/origFull.jpg new file mode 100644 index 0000000..470f777 Binary files /dev/null and b/Komp_obr_SFedU/pic/origFull.jpg differ diff --git a/Komp_obr_SFedU/pic/oscill.jpg b/Komp_obr_SFedU/pic/oscill.jpg new file mode 100644 index 0000000..54cf580 Binary files /dev/null and b/Komp_obr_SFedU/pic/oscill.jpg differ diff --git a/Komp_obr_SFedU/pic/pogr.png b/Komp_obr_SFedU/pic/pogr.png new file mode 100644 index 0000000..49e5fab Binary files /dev/null and b/Komp_obr_SFedU/pic/pogr.png differ diff --git a/Komp_obr_SFedU/pic/poissonpdf.pdf b/Komp_obr_SFedU/pic/poissonpdf.pdf new file mode 100644 index 0000000..89dcd8c Binary files /dev/null and b/Komp_obr_SFedU/pic/poissonpdf.pdf differ diff --git a/Komp_obr_SFedU/pic/prewitt.jpg b/Komp_obr_SFedU/pic/prewitt.jpg new file mode 100644 index 0000000..41c9697 Binary files /dev/null and b/Komp_obr_SFedU/pic/prewitt.jpg differ diff --git a/Komp_obr_SFedU/pic/prewitthCrop.jpg b/Komp_obr_SFedU/pic/prewitthCrop.jpg new file mode 100644 index 0000000..89a6897 Binary files /dev/null and b/Komp_obr_SFedU/pic/prewitthCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/prewitthFull.jpg b/Komp_obr_SFedU/pic/prewitthFull.jpg new file mode 100644 index 0000000..1ff0e8f Binary files /dev/null and b/Komp_obr_SFedU/pic/prewitthFull.jpg differ diff --git a/Komp_obr_SFedU/pic/prewittvCrop.jpg b/Komp_obr_SFedU/pic/prewittvCrop.jpg new file mode 100644 index 0000000..ce57ba3 Binary files /dev/null and b/Komp_obr_SFedU/pic/prewittvCrop.jpg differ diff --git a/Komp_obr_SFedU/pic/prewittvFull.jpg b/Komp_obr_SFedU/pic/prewittvFull.jpg new file mode 100644 index 0000000..960b47f Binary files /dev/null and b/Komp_obr_SFedU/pic/prewittvFull.jpg differ diff --git a/Komp_obr_SFedU/pic/pyramid.jpg b/Komp_obr_SFedU/pic/pyramid.jpg new file mode 100644 index 0000000..2039784 Binary files /dev/null and b/Komp_obr_SFedU/pic/pyramid.jpg differ diff --git a/Komp_obr_SFedU/pic/rectangmeth.png b/Komp_obr_SFedU/pic/rectangmeth.png new file mode 100644 index 0000000..9dad549 Binary files /dev/null and b/Komp_obr_SFedU/pic/rectangmeth.png differ diff --git a/Komp_obr_SFedU/pic/sRGB.png b/Komp_obr_SFedU/pic/sRGB.png new file mode 100644 index 0000000..96b454e Binary files /dev/null and b/Komp_obr_SFedU/pic/sRGB.png differ diff --git a/Komp_obr_SFedU/pic/saologo.jpg b/Komp_obr_SFedU/pic/saologo.jpg new file mode 100644 index 0000000..69c0b52 Binary files /dev/null and b/Komp_obr_SFedU/pic/saologo.jpg differ diff --git a/Komp_obr_SFedU/pic/scale.jpg b/Komp_obr_SFedU/pic/scale.jpg new file mode 100644 index 0000000..8df56a1 Binary files /dev/null and b/Komp_obr_SFedU/pic/scale.jpg differ diff --git a/Komp_obr_SFedU/pic/scat01.png b/Komp_obr_SFedU/pic/scat01.png new file mode 100644 index 0000000..57fd1c5 Binary files /dev/null and b/Komp_obr_SFedU/pic/scat01.png differ diff --git a/Komp_obr_SFedU/pic/scatFFT.png b/Komp_obr_SFedU/pic/scatFFT.png new file mode 100644 index 0000000..aa59dee Binary files /dev/null and b/Komp_obr_SFedU/pic/scatFFT.png differ diff --git a/Komp_obr_SFedU/pic/scatter_corr.png b/Komp_obr_SFedU/pic/scatter_corr.png new file mode 100644 index 0000000..903fb7b Binary files /dev/null and b/Komp_obr_SFedU/pic/scatter_corr.png differ diff --git a/Komp_obr_SFedU/pic/skel01.jpg b/Komp_obr_SFedU/pic/skel01.jpg new file mode 100644 index 0000000..df6e5ce Binary files /dev/null and b/Komp_obr_SFedU/pic/skel01.jpg differ diff --git a/Komp_obr_SFedU/pic/skel02.png b/Komp_obr_SFedU/pic/skel02.png new file mode 100644 index 0000000..eebd13e Binary files /dev/null and b/Komp_obr_SFedU/pic/skel02.png differ diff --git a/Komp_obr_SFedU/pic/tab_res.jpg b/Komp_obr_SFedU/pic/tab_res.jpg new file mode 100644 index 0000000..df34f61 Binary files /dev/null and b/Komp_obr_SFedU/pic/tab_res.jpg differ diff --git a/Komp_obr_SFedU/pic/table1.png b/Komp_obr_SFedU/pic/table1.png new file mode 100644 index 0000000..da315a1 Binary files /dev/null and b/Komp_obr_SFedU/pic/table1.png differ diff --git a/Komp_obr_SFedU/pic/table2.png b/Komp_obr_SFedU/pic/table2.png new file mode 100644 index 0000000..73c0dac Binary files /dev/null and b/Komp_obr_SFedU/pic/table2.png differ diff --git a/Komp_obr_SFedU/pic/tophat.jpg b/Komp_obr_SFedU/pic/tophat.jpg new file mode 100644 index 0000000..a664af0 Binary files /dev/null and b/Komp_obr_SFedU/pic/tophat.jpg differ diff --git a/Komp_obr_SFedU/pic/trapezmeth.png b/Komp_obr_SFedU/pic/trapezmeth.png new file mode 100644 index 0000000..e330454 Binary files /dev/null and b/Komp_obr_SFedU/pic/trapezmeth.png differ diff --git a/Komp_obr_SFedU/pic/voronoi.pdf b/Komp_obr_SFedU/pic/voronoi.pdf new file mode 100644 index 0000000..1065b97 Binary files /dev/null and b/Komp_obr_SFedU/pic/voronoi.pdf differ diff --git a/Komp_obr_SFedU/pic/wat01.jpg b/Komp_obr_SFedU/pic/wat01.jpg new file mode 100644 index 0000000..055a2f5 Binary files /dev/null and b/Komp_obr_SFedU/pic/wat01.jpg differ diff --git a/Komp_obr_SFedU/pic/wat02.jpg b/Komp_obr_SFedU/pic/wat02.jpg new file mode 100644 index 0000000..940c2db Binary files /dev/null and b/Komp_obr_SFedU/pic/wat02.jpg differ diff --git a/Komp_obr_SFedU/pic/watershed.jpg b/Komp_obr_SFedU/pic/watershed.jpg new file mode 100644 index 0000000..3bab44e Binary files /dev/null and b/Komp_obr_SFedU/pic/watershed.jpg differ diff --git a/Komp_obr_SFedU/pic/watershed01.png b/Komp_obr_SFedU/pic/watershed01.png new file mode 100644 index 0000000..11d0a58 Binary files /dev/null and b/Komp_obr_SFedU/pic/watershed01.png differ diff --git a/Komp_obr_SFedU/pic/wavelet.jpg b/Komp_obr_SFedU/pic/wavelet.jpg new file mode 100644 index 0000000..94ba87e Binary files /dev/null and b/Komp_obr_SFedU/pic/wavelet.jpg differ diff --git a/Komp_obr_SFedU/pic/wavelet_img.png b/Komp_obr_SFedU/pic/wavelet_img.png new file mode 100644 index 0000000..53cd0df Binary files /dev/null and b/Komp_obr_SFedU/pic/wavelet_img.png differ diff --git a/Komp_obr_SFedU/pic/wpack01.png b/Komp_obr_SFedU/pic/wpack01.png new file mode 100644 index 0000000..90d11b4 Binary files /dev/null and b/Komp_obr_SFedU/pic/wpack01.png differ diff --git a/Komp_obr_SFedU/pic/wpack02.png b/Komp_obr_SFedU/pic/wpack02.png new file mode 100644 index 0000000..8df4268 Binary files /dev/null and b/Komp_obr_SFedU/pic/wpack02.png differ diff --git a/Komp_obr_SFedU/pic/wpack03.png b/Komp_obr_SFedU/pic/wpack03.png new file mode 100644 index 0000000..2719769 Binary files /dev/null and b/Komp_obr_SFedU/pic/wpack03.png differ diff --git a/Komp_obr_SFedU/pic/wpack04.png b/Komp_obr_SFedU/pic/wpack04.png new file mode 100644 index 0000000..4156f31 Binary files /dev/null and b/Komp_obr_SFedU/pic/wpack04.png differ diff --git a/Komp_obr_SFedU/pic/wvpyramid.jpg b/Komp_obr_SFedU/pic/wvpyramid.jpg new file mode 100644 index 0000000..7d62021 Binary files /dev/null and b/Komp_obr_SFedU/pic/wvpyramid.jpg differ diff --git a/Komp_obr_SFedU/pic/wvpyramid01.jpg b/Komp_obr_SFedU/pic/wvpyramid01.jpg new file mode 100644 index 0000000..18f35c7 Binary files /dev/null and b/Komp_obr_SFedU/pic/wvpyramid01.jpg differ diff --git a/Komp_obr_SFedU/pic/wvpyramid02.jpg b/Komp_obr_SFedU/pic/wvpyramid02.jpg new file mode 100644 index 0000000..a10c398 Binary files /dev/null and b/Komp_obr_SFedU/pic/wvpyramid02.jpg differ diff --git a/Komp_obr_SFedU/pic/wvpyramid03.png b/Komp_obr_SFedU/pic/wvpyramid03.png new file mode 100644 index 0000000..ca1ead2 Binary files /dev/null and b/Komp_obr_SFedU/pic/wvpyramid03.png differ