add 4, 6-1
BIN
Komp_obr_SFedU/04_Pract.pdf
Normal file
582
Komp_obr_SFedU/04_Pract.tex
Normal file
@@ -0,0 +1,582 @@
|
||||
\documentclass[a4paper,12pt]{extarticle}
|
||||
\usepackage{/home/eddy/ed, verbatim}
|
||||
\title{Практикум \No4: системы уравнений, интегралы, производные}
|
||||
\author{}\date{}\nocolon
|
||||
|
||||
\long\def\task#1{\par\noindent\leavevmode\refstepcounter{sect}\llap{\textbf{\thesect}\;}\indent\textit{#1}\par}
|
||||
\def\t#1{{\upshape\ttfamily #1}}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\section{Системы уравнений}
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Решить систему уравнений}
|
||||
$$\left\{
|
||||
\begin{aligned}
|
||||
-x_1+x_2+2x_3&=10;\\
|
||||
3x_1-x_2+x_3&=-20;\\
|
||||
-x_1+3x_2+4x_3&=40.
|
||||
\end{aligned}
|
||||
\right.
|
||||
$$
|
||||
|
||||
Представим ее в виде $\B{Ax=b}$.
|
||||
Инициализируем постоянные:
|
||||
\begin{verbatim}
|
||||
A=[-1 1 2; 3 -1 1; -1 3 4];
|
||||
b=[10; -20; 40];
|
||||
\end{verbatim}
|
||||
|
||||
Нам необходимо проверить на вырожденность матрицу~$\B A$:
|
||||
\begin{verbatim}
|
||||
det(A)
|
||||
ans = 10.000
|
||||
\end{verbatim}
|
||||
Теперь решить данную систему можно несколькими способами.
|
||||
\begin{enumerate}
|
||||
\item Через обратную матрицу.
|
||||
$$\B A^{-1}\B{Ax}=\B A^{-1}\B b,\quad \Arr \quad
|
||||
\B x=\B A^{-1}\B b.$$
|
||||
В Octave это примет вид:
|
||||
\begin{verbatim}
|
||||
x = inv(A)*b
|
||||
x =
|
||||
1.00000
|
||||
19.00000
|
||||
-4.00000
|
||||
\end{verbatim}
|
||||
Проверим решение:
|
||||
\begin{verbatim}
|
||||
A*x
|
||||
ans =
|
||||
10.000
|
||||
-20.000
|
||||
40.000
|
||||
\end{verbatim}
|
||||
|
||||
\item Метод Гаусса. Приведем к верхней треугольной форме расширенную
|
||||
матрицу~$(\B A:\B b)$:
|
||||
\begin{verbatim}
|
||||
rref([A b])
|
||||
ans =
|
||||
1.00000 0.00000 0.00000 1.00000
|
||||
0.00000 1.00000 0.00000 19.00000
|
||||
0.00000 0.00000 1.00000 -4.00000
|
||||
\end{verbatim}
|
||||
Слева мы получили единичную матрицу, что значительно упрощает вычисления.
|
||||
Однако, если бы матрица не имела нулей в правом верхнем углу, мы все равно
|
||||
могли бы найти корни системы (обратный ход метода Гаусса).
|
||||
|
||||
\item Автоматический метод Гаусса. В данном случае необходимо лишь воспользоваться
|
||||
уже известным вам оператором <<левого>> (или обратного) деления:
|
||||
\begin{verbatim}
|
||||
x = A\b
|
||||
x =
|
||||
1.0000
|
||||
19.0000
|
||||
-4.0000
|
||||
\end{verbatim}
|
||||
Далее мы будем использовать именно этот способ решения линейных систем уравнений.
|
||||
\end{enumerate}
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Решить систему уравнений, заданную вырожденной матрицей}
|
||||
$$\left\{
|
||||
\begin{aligned}
|
||||
x_1+3x_2+7x_3&=5;\\
|
||||
-x_1+4x_2+4x_3&=2;\\
|
||||
x_1+10x_2+18x_3&=12.
|
||||
\end{aligned}
|
||||
\right.
|
||||
$$
|
||||
|
||||
\begin{verbatim}
|
||||
A = [ 1 3 7; -1 4 4; 1 10 18];
|
||||
b = [5; 2; 12];
|
||||
det(A)
|
||||
ans = 0
|
||||
\end{verbatim}
|
||||
Так как определитель матрицы коэффициентов равен нулю, невозможно найти обратную
|
||||
матрицу. Однако, можно воспользоваться способом решения через\к псевдообратную
|
||||
матрицу\н:
|
||||
\begin{verbatim}
|
||||
x = pinv(A)*b
|
||||
x =
|
||||
0.38498
|
||||
-0.11033
|
||||
0.70657
|
||||
% check
|
||||
A*x
|
||||
ans =
|
||||
5.0000
|
||||
2.0000
|
||||
12.0000
|
||||
\end{verbatim}
|
||||
|
||||
Однако, изменим вектор $\B b$:
|
||||
\begin{verbatim}
|
||||
b = [3;6;0];
|
||||
x = pinv(A)*b
|
||||
x =
|
||||
-1.08920
|
||||
1.25117
|
||||
-0.52347
|
||||
% check
|
||||
A*x
|
||||
ans =
|
||||
-1.0000
|
||||
4.0000
|
||||
2.0000
|
||||
\end{verbatim}
|
||||
В этом случае решение не будет точным (точнее, оно вообще не является решением
|
||||
данной системы). Проверим, возможно ли найти общее решение данной системы уравнения,
|
||||
приведя к верхней треугольной форме расширенную матрицу $(\B A:\B b)$:
|
||||
\begin{verbatim}
|
||||
rref([A b])
|
||||
ans =
|
||||
1.00000 0.00000 2.28571 0.00000
|
||||
0.00000 1.00000 1.57143 0.00000
|
||||
0.00000 0.00000 0.00000 1.00000
|
||||
\end{verbatim}
|
||||
Последняя строка содержит ненулевой элемент лишь в столбце свободных членов, что
|
||||
однозначно свидетельствует об отсутствии решений данной системы уравнений.
|
||||
|
||||
|
||||
\section{Степенные уравнения}
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Найти решение уравнения $2x^2-4x+5=0$.}
|
||||
|
||||
Для этого необходимо инициализировать полином набором коэффициентов и найти корни
|
||||
командой~\verb'roots'.
|
||||
\begin{verbatim}
|
||||
p = [2 -4 5];
|
||||
x = roots(p)
|
||||
x =
|
||||
1.0000 + 1.2247i
|
||||
1.0000 - 1.2247i
|
||||
\end{verbatim}
|
||||
Итак, корни нашего уравнения: $x=1\pm1.2247i$. Точность вычислений Octave можно
|
||||
задать явно командой~\verb'format'. Для отображения результата в виде рациональных
|
||||
дробей можно указать следующее.
|
||||
\begin{verbatim}
|
||||
format rat
|
||||
x =
|
||||
1 + 4801/3920i
|
||||
1 - 4801/3920i
|
||||
\end{verbatim}
|
||||
Вернуться к прежнему виду результатов можно командой~\verb'format short'.
|
||||
|
||||
\task{Найти корни полинома $p(x)=x^4+2x^3-3x^2+4x+5$ и получить его график на отрезке $[-4, 2]$.}
|
||||
\begin{verbatim}
|
||||
p = [1 2 -3 4 5];
|
||||
x = roots(p)
|
||||
x =
|
||||
-3.18248 + 0.00000i
|
||||
0.95560 + 1.11480i
|
||||
0.95560 - 1.11480i
|
||||
-0.72873 + 0.00000i
|
||||
|
||||
x=[-4:.05:2]; y=polyval(p,x);
|
||||
plot(x,y)
|
||||
\end{verbatim}
|
||||
Нарисуем ось Х:
|
||||
\begin{verbatim}
|
||||
hold on
|
||||
plot([-4 2], [0 0],'k')
|
||||
\end{verbatim}
|
||||
Команда \verb'hold on' позволяет <<дорисовать>> что-либо на уже имеющемся
|
||||
графике. Буква~\verb"'k'" в параметре означает рисование черным цветом. Отключить
|
||||
вывод на один и тот же график можно командой~\verb'hold off'.
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Найти решение уравнения $y=x^3+x^2-3x-3$.}
|
||||
|
||||
Зададим функцию:
|
||||
\begin{verbatim}
|
||||
f = inline("x^3+x^2-3*x-3");
|
||||
\end{verbatim}
|
||||
|
||||
Функция \t{fsolve} позволяет решать нелинейные уравнения, и ее можно применить в т.ч. к решению
|
||||
степенных уравнений. Необходимо задать начальное приближение для поиска. Задавая разные значения,
|
||||
получим разные корни:
|
||||
\begin{verbatim}
|
||||
fsolve (f, 1)
|
||||
ans = 1.7321
|
||||
fsolve (f, 0)
|
||||
ans = -1
|
||||
fsolve (f, -2)
|
||||
ans = -1.7321
|
||||
\end{verbatim}
|
||||
Можем проверить корни:
|
||||
\begin{verbatim}
|
||||
p=[1 1 -3 -3]
|
||||
p =
|
||||
1 1 -3 -3
|
||||
roots(p)
|
||||
ans =
|
||||
1.7321
|
||||
-1.7321
|
||||
-1.0000
|
||||
\end{verbatim}
|
||||
|
||||
А теперь попробуем решить этим же методом систему уравнений:
|
||||
$$\begin{cases}
|
||||
\e^{-\e^{-(x+y)}} = y(1+x^2),\\
|
||||
x\cos y + y\sin x = 1/2.
|
||||
\end{cases}
|
||||
$$
|
||||
|
||||
Для начала конвертируем их к виду $F(x)=0$:
|
||||
$$\begin{cases}
|
||||
\e^{-\e^{-(x+y)}} - y(1+x^2) = 0,\\
|
||||
x\cos y + y\sin x - 1/2 = 0.
|
||||
\end{cases}
|
||||
$$
|
||||
|
||||
Запишем функцию, позволяющую вычислить обе компоненты:
|
||||
\verbatiminput{Materials4Pract/04/F.m}
|
||||
|
||||
Теперь попробуем найти решение, начиная с $(0,0)$:
|
||||
\begin{verbatim}
|
||||
fsolve(@F, [0 0])
|
||||
ans =
|
||||
0.35325 0.60608
|
||||
\end{verbatim}
|
||||
|
||||
\section{Численное интегрирование, дифференциальные уравнения}
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Найти интеграл $\Int_0^3 x(\sin\frac{1}{x})\sqrt{|1-x|}\,dx$.}
|
||||
|
||||
Для вычисления подынтегральной функции в каждом узле интегрирования, нам необходимо задать функцию
|
||||
\t{i1.m}:
|
||||
\verbatiminput{Materials4Pract/04/i1.m}
|
||||
Для интегрирования с оптимальным расчетом квадратур можно использовать функцию \t{quad}:
|
||||
\begin{verbatim}
|
||||
[q, ier, nfun, err] = quad (@i1, 0, 3)
|
||||
ABNORMAL RETURN FROM DQAGP
|
||||
q = 1.9819
|
||||
ier = 1
|
||||
nfun = 5061
|
||||
err = 0.00000011522
|
||||
\end{verbatim}
|
||||
|
||||
\t{q}~-- результат интегрирования, \t{ier}~-- код ошибки интегрирования (при нормальной процедуре
|
||||
равен 0), \t{nfun}~-- количество узлов интегрирования, \t{err}~-- оценка ошибки интегрирования.
|
||||
|
||||
Здесь и во многих других функциях первым аргументом является либо строка с именем функции, либо
|
||||
ссылка на нее (как в данном случае), либо inline-функция.
|
||||
|
||||
Еще примеры интегрирования. Квадратурная формула Гаусса--Конрода:
|
||||
\begin{verbatim}
|
||||
f = inline ("x.^3");
|
||||
quadgk (f, 0, 1)
|
||||
ans = 0.25000
|
||||
\end{verbatim}
|
||||
|
||||
Квадратура Кленшоу--Куртиса (и бесконечный предел интегрирования):
|
||||
\begin{verbatim}
|
||||
f = @(x) x.^3 .* exp (-x);
|
||||
quadcc (f, 0, Inf)
|
||||
ans = 6.0000
|
||||
\end{verbatim}
|
||||
|
||||
Квадратура Симпсона:
|
||||
\begin{verbatim}
|
||||
f = inline ("x.^3");
|
||||
quadv(f, 0, 1)
|
||||
ans = 0.25000
|
||||
\end{verbatim}
|
||||
|
||||
Автоматический выбор квадратуры:
|
||||
\begin{verbatim}
|
||||
integral(f, 0, 1)
|
||||
ans = 0.25000
|
||||
\end{verbatim}
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Найти интеграл $\Int_0^5 (x^4+2x^2-1)dx$}
|
||||
|
||||
Можно посчитать интеграл и другим способом, если задан полином: определим коэффициенты полинома,
|
||||
вычислим новый полином, являющийся интегралом нашего, а затем, вычитая первообразные, найдем
|
||||
искомый интеграл:
|
||||
\begin{verbatim}
|
||||
c = [1 0 2 0 -1];
|
||||
i = polyint(c);
|
||||
I = polyval(i, 5) - polyval(i, 0)
|
||||
I = 703.33
|
||||
\end{verbatim}
|
||||
|
||||
Аналогичным образом мы можем вычислять производные:
|
||||
\begin{verbatim}
|
||||
d = polyder(c);
|
||||
polyval(d, [1:5])
|
||||
ans =
|
||||
8 40 120 272 520
|
||||
\end{verbatim}
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Вычислить интеграл $\Int_0^1 dx\Int_{-1}^1 \cos(\pi xy)\sqrt{x|y|}\,dy$}
|
||||
Для двухмерного интегрирования воспользуемся функцией \t{dblquad}
|
||||
\begin{verbatim}
|
||||
I = dblquad(@(x, y) cos (pi*x.*y) .* sqrt (x.*abs(y)), 0, 1, -1, 1)
|
||||
I = 0.30892
|
||||
% OR
|
||||
I = quad2d(@(x, y) cos (pi*x.*y) .* sqrt (x.*abs(y)), 0, 1, -1, 1)
|
||||
I = 0.30892
|
||||
% OR
|
||||
[I err] = integral2(@(x, y) cos (pi*x.*y) .* sqrt (x.*abs(y)), 0, 1, -1, 1)
|
||||
I = 0.30892
|
||||
err = 0.00000030870
|
||||
\end{verbatim}
|
||||
Тройные интегралы~--- \t{triplequad} или \t{integral3}.
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Решить дифференциальное уравнение $\dot{x}=-\e^t x^2$ при $x(0)=2$.}
|
||||
Запишем функцию, вычисляющую $\dot{x}$:
|
||||
\verbatiminput{Materials4Pract/04/ode1.m}
|
||||
Заданим аргумент $t\in[0,5]$ как вектор в 50 экземпляров
|
||||
\begin{verbatim}
|
||||
t = linspace(0,5,50);
|
||||
x = lsode(@ode1, 2, t);
|
||||
plot(t,x)
|
||||
\end{verbatim}
|
||||
\t{lsode} решает простейшее уравнение $\frac{dy}{dx}=f(x,y)$ при начальных условиях $y(0)$ по
|
||||
заданному вектору~$x$.
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Решить методом Рунге--Кутты дифференциальное уравнение ван~дер~Поля}
|
||||
$y''+\mu(1-y^2)y'+y=0$, $\mu>0$.
|
||||
|
||||
Для начала перепишем это уравнение с заменой $y_1=y$, $y_2=y_1'$:
|
||||
$y_2'=\mu(1-y_1^2)y_2-y_1$. Для простоты примем~$\mu=1$.
|
||||
Введем функцию, описывающую наше уравнение (ее необходимо ввести как новый
|
||||
m-файл и сохранить под именем \t{vdp1.m}):
|
||||
\verbatiminput{Materials4Pract/04/vdp1.m}
|
||||
|
||||
Теперь найдем решение уравнения и отобразим графики функции~$y$ и ее первой
|
||||
производной:
|
||||
\begin{verbatim}
|
||||
[t, y] = ode45(@vdp1, [0 20], [2; 0]);
|
||||
plot(t, y(:,1), '-', t, y(:,2), '--')
|
||||
\end{verbatim}
|
||||
Функция \verb'ode45' в качестве первого параметра требует имя функции, в которой
|
||||
описано дифференциальное уравнение; второй параметр~--- интервал, в котором
|
||||
изменяется аргумент искомой функции; третий аргумент~--- начальные условия для
|
||||
функции и ее производной.
|
||||
Возвращаемое значение~$y$ содержит два столбца: в первом находится искомая
|
||||
функция, а во втором~--- ее первая производная.
|
||||
|
||||
Итак, для численного решения дифференциального уравнения в Octave необходимо
|
||||
сначала представить это уравнение в виде линейной системы
|
||||
$$\left\{\begin{aligned}
|
||||
y_1'&=f_1(x,y_1,\ldots,y_n),\\
|
||||
y_2'&=f_2(x,y_1,\ldots,y_n),\\
|
||||
\cdots\\
|
||||
y_n'&=f_n(x,y_1,\ldots,y_n).
|
||||
\end{aligned}
|
||||
\right.
|
||||
$$
|
||||
Затем функции $f_1$, \ldots, $f_n$ следует определить как строки специальной
|
||||
функции, которая будет играть роль первого параметра функции, решающей данное
|
||||
уравнение.
|
||||
|
||||
|
||||
\section{Численное дифференцирование}
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Для ряда данных вычислить производную и построить график функции и производной}
|
||||
\begin{verbatim}
|
||||
x = [0:0.01:10];
|
||||
y = y=x.^2.*sin(x)+sin(x/11)-tan(x*222)/cos(x);
|
||||
\end{verbatim}
|
||||
|
||||
Простейший способ найти производную~--- воспользоваться методом разделенных разностей. Функция
|
||||
\t{diff} вычисляет разность $y(x_{i+1})-y(x_i)$. Производную $y'(x)$ мы можем рассчитать в нулевом
|
||||
приближении либо как $\frac{y(x_{i+1})-y(x_i)}{x_{i+1}-x_i}$, либо как
|
||||
$\frac{y(x_i)-y(x_{i-1})}{x_i-x_{i-1}}$.
|
||||
Попробуем оба способа. Учитывая то, что мы имеем равномерно распределенный ряд, вычисления
|
||||
упрощаются.
|
||||
\begin{verbatim}
|
||||
dy1=[0 diff(y)]/0.01;
|
||||
dy2=[diff(y) 0]/0.01;
|
||||
plot(x,[y;dy1;dy2])
|
||||
\end{verbatim}
|
||||
Благодаря гладкости функции и большому шагу, мы практически не видим разницы. Однако, если мы в
|
||||
10~раз уменьшим шаг, сдвиг уже будет иметь значение.
|
||||
|
||||
Кстати, мы можем и простейшим образом (трапециями) вычислить интеграл:
|
||||
\begin{verbatim}
|
||||
iy = [cumsum(y)];
|
||||
plot(x,[y;dy1;iy])
|
||||
legend("F", "dF", "iF")
|
||||
\end{verbatim}
|
||||
Если добавить ось X (\t{plot(x,[y;dy1;iy], x, zeros(size(x)))}), поведение интегральной кривой
|
||||
отлично отразится на оригинальной функции.
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\task{Найти производную зашумленного ряда данных.}
|
||||
(не удалять предыдущие данные!)
|
||||
|
||||
О функции \t{polyder} мы уже упоминали. Она отлично подходит для тех наборов данных, которые можно
|
||||
аппроксимировать полиномом. Давайте повторим предыдущие вычисления \t{y}, но добавим шум в 10дБ:
|
||||
\begin{verbatim}
|
||||
yn = awgn(y, 10, "measured");
|
||||
plot(x,[y;yn], x, zeros(size(x)))
|
||||
\end{verbatim}
|
||||
Естественно, функции \t{diff} и \t{cumsum} в данном случае будут давать ужасный результат:
|
||||
\begin{verbatim}
|
||||
plot(x,[yn;[0 diff(yn)]/0.01])
|
||||
\end{verbatim}
|
||||
|
||||
Попробуем аппроксимировать нашу кривую полиномом десятой степени и сравнить на графике (а потом
|
||||
сравним с оригиналом):
|
||||
\begin{verbatim}
|
||||
p=polyfit(x,yn, 10);
|
||||
plot(x,[yn; polyval(p,x)])
|
||||
plot(x,[y; polyval(p,x)])
|
||||
\end{verbatim}
|
||||
Естественно, в самом начале (в районе нуля) шумы настолько велики, что аппроксимация получается,
|
||||
мягко говоря, не очень. Но это все равно лучше, чем начальный зашумленный ряд.
|
||||
|
||||
Теперь вычисляем производную и сравним с предыдущей.
|
||||
\begin{verbatim}
|
||||
dp = polyder(p);
|
||||
dyp=polyval(dp, x);
|
||||
plot(x,[dy1;dyp])
|
||||
\end{verbatim}
|
||||
И еще:
|
||||
\begin{verbatim}
|
||||
plot(x,[y;yn;dy1;dyp])
|
||||
\end{verbatim}
|
||||
|
||||
Можно попробовать разные степени полинома для аппроксимации этой функции, сравнив результаты.
|
||||
|
||||
Еще одним вариантом вычисления производной является функция \t{gradient}. Здесь можно
|
||||
<<автоматически>> учесть шаг:
|
||||
\begin{verbatim}
|
||||
plot(x,[y;dy1;gradient(y,0.01)])
|
||||
\end{verbatim}
|
||||
А в случае неравномерно распределенных данных, мы можем задать вектор \t{x}.
|
||||
\begin{verbatim}
|
||||
x = [0 0.1 0.5 1 1.1 1.5 7 7.1 7.2 7.5 10 10.5 12 15 20 20.1 25 45 47 56 100];
|
||||
y = x.^2.*sin(x)+sin(x/11)-tan(x*222)/cos(x);
|
||||
dyy = gradient(y, x);
|
||||
x1 = [0:0.1:100];
|
||||
y1 = x1.^2.*sin(x1)+sin(x1/11)-tan(x1*222)/cos(x1);
|
||||
plot(x, dyy, x1, [0 diff(y1)])
|
||||
% и сравним с ходом оригинальной функции
|
||||
plot(x, [y; dyy], x1, [y1; [0 diff(y1)]])
|
||||
% who is who
|
||||
legend("bad", "dbad", "ori", "dori")
|
||||
\end{verbatim}
|
||||
|
||||
\task{Вычислите вторую производную предыдущей функции}
|
||||
Для этого можно воспользоваться функцией \t{del2} (дискретный Лапласиан):
|
||||
\begin{verbatim}
|
||||
plot(x,[y;del2(y)*1e4])
|
||||
\end{verbatim}
|
||||
Не забываем, что т.к. мы вычисляем вторую производную, то интервал необходимо возвести в квадрат!
|
||||
|
||||
Естественно, N-ю производную мы можем вычислить и многократным вызовом функции \t{diff}, если
|
||||
данные распределены равномерно.
|
||||
|
||||
|
||||
\section{Задания для самостоятельного выполнения}
|
||||
\begin{enumerate}
|
||||
\item
|
||||
Решите систему уравнений
|
||||
$$\left\{\begin{aligned}
|
||||
x_1+2x_2+3x_3&=1;\\
|
||||
2x_1-x_2+4x_3&=2;\\
|
||||
x_1-3x_2+x_3&=3.
|
||||
\end{aligned}\right.
|
||||
$$
|
||||
%(1,$\pi$,0)
|
||||
|
||||
\item Решите систему уравнений
|
||||
$$\left\{\begin{aligned}
|
||||
x_1+x_2/2+x_3/3&=1;\\
|
||||
x_1/2+x_2/3+x_3/4&=0;\\
|
||||
x_1/3+x_2/4+x_3/5&=0.
|
||||
\end{aligned}\right.
|
||||
$$
|
||||
Обратите внимание, что определитель матрицы коэффициентов {\tt det(A) = 4.6296e-04}.
|
||||
Такие системы называются\ж плохо обусловленными\н. Их решения сильно осциллируют
|
||||
при малейших изменениях коэффициентов матрицы.
|
||||
|
||||
\item
|
||||
Решите уравнение $x^7-2x^5+3x^3-4x=0$.
|
||||
%( $0$,
|
||||
%$\pm1.2848$,
|
||||
%$0.9304 \pm 0.8313i$,
|
||||
%$-0.9304 \pm 0.8313i$).
|
||||
|
||||
\item
|
||||
Решите систему уравнений
|
||||
$$
|
||||
\left\{\begin{aligned}
|
||||
\e^{x+y} &= \sin x;\\
|
||||
\cos x &= \ln y - 1.
|
||||
\end{aligned}\right.
|
||||
$$
|
||||
|
||||
\item
|
||||
Вычислите $\Int_0^1 \ln (x+1)\sin x\, dx$.
|
||||
|
||||
\item
|
||||
Вычислите $\Int_{-1}^2 dx\Int_{-\pi}^0 dy\Int_0^1\frac{ln(xyz)}{\cos(xy)}dz$.
|
||||
|
||||
\item
|
||||
Найдите решение уравнения ван~дер~Поля при $\mu=5$.
|
||||
% (1.2350)
|
||||
|
||||
\item
|
||||
Постройте график решения задачи Коши методом Рунге--Кутты на интервале
|
||||
$[0,1]$ для уравнения $y'=x^3\sin y+1$ при $y(0)=0$.
|
||||
|
||||
\item
|
||||
Найдите решение системы уравнений:
|
||||
$$
|
||||
\left\{\begin{aligned}
|
||||
2(x-4)^2 + 7(y-8)^2 &= z^2;\\
|
||||
5(x-1)^2 +1 + 2z^2 &= 4(y+3)^2;\\
|
||||
x^2 + y^2 + z^2 &= 0.\\
|
||||
\end{aligned}\right.
|
||||
$$
|
||||
|
||||
\item Вычислите производную и интеграл для ряда данных $y=y(t)$.
|
||||
|
||||
\begin{verbatim}
|
||||
t = [0 1 3 5 9 10 11 15 20 21 23 25 50 52 57 59 60 73 94 96 99 100];
|
||||
y = [41.6 -0.4 7.6 -25.8 5.3 23.1 636.7 -46.7 -3.7 -29.1 96.6 3.3 -9.4 56.7
|
||||
17.5 -17.1 17.4 4.3 -0.3 12.3 85.9 44.2];
|
||||
\end{verbatim}
|
||||
|
||||
\item Вычислить производную и интеграл для функции $\left(\frac{\sin x}{x}\right)^2$ с отношением
|
||||
сигнал-шум 10дБ на
|
||||
промежутке $[-10,10]$.
|
||||
|
||||
\end{enumerate}
|
||||
\end{document}
|
||||
BIN
Komp_obr_SFedU/06-iproc_1.pdf
Normal file
511
Komp_obr_SFedU/06-iproc_1.tex
Normal file
@@ -0,0 +1,511 @@
|
||||
\documentclass[10pt,pdf,hyperref={unicode}]{beamer}
|
||||
\hypersetup{pdfpagemode=FullScreen}
|
||||
%\usepackage{ed}
|
||||
\usepackage{lect}
|
||||
|
||||
\title[Компьютерная обработка. Лекция 6]{Компьютерная обработка результатов измерений}
|
||||
\subtitle{Лекция 6. Обработка изображений, часть 1}
|
||||
\date{}
|
||||
|
||||
\begin{document}
|
||||
% Титул
|
||||
\begin{frame}
|
||||
\maketitle
|
||||
\end{frame}
|
||||
% Содержание
|
||||
\begin{frame}
|
||||
\tableofcontents
|
||||
\end{frame}
|
||||
|
||||
\section{Цифровые изображения}
|
||||
\begin{frame}{Цифровые изображения}
|
||||
\begin{defin}
|
||||
\ж Изображение\н представляет собой двумерную функцию $f(x,y)$, где~$x$ и~$y$~---
|
||||
пространственные координаты, а уровень~$f$ называется\ж
|
||||
интенсивностью\н изображения в данной точке (цветное изображение является
|
||||
совокупностью по крайней мере трех функций $r(x,y)$, $g(x,y)$ и~$b(x,y)$).
|
||||
Если величины~$x$, $y$ и~$f$ принимают дискретные значения, говорят о\к цифровом
|
||||
изображении\н. Элементарная единица цифрового изображения называется\ж
|
||||
пикселем\н.
|
||||
\end{defin}
|
||||
\begin{block}{Дискретизация}
|
||||
Процедуру квантования (\bf дискретизации\н) квазинепрерывного изображения $I_0(X,Y)$ можно представить в виде:
|
||||
$$
|
||||
I(x,y)=\mathrm{round}\Bigl(\frac{2^N-1}{I_{max}}\Int_{S_{x,y}}I_0(X,Y)
|
||||
\,dXdY\Bigr)+\delta_{x,y}.
|
||||
$$
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{RGB-модель}
|
||||
\only<1>{
|
||||
\img[0.6]{RGB}
|
||||
\centering{Аддитивная RGB-модель}
|
||||
}\only<2>{
|
||||
\img[0.6]{sRGB}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{blueframe}{CMYK-модель}
|
||||
\only<1>{
|
||||
\img[0.5]{CMYK}
|
||||
\centering{Субстрактивная CMYK-модель}
|
||||
}\only<2>{
|
||||
\img[0.6]{colormodels}
|
||||
}
|
||||
\end{blueframe}
|
||||
|
||||
\begin{frame}{}
|
||||
\img[0.6]{Bayer_pattern}
|
||||
\centering{Маска Байера}
|
||||
\end{frame}
|
||||
|
||||
\section{Математический аппарат}
|
||||
\begin{frame}{Математический аппарат}
|
||||
\only<1>{\img[0.7]{neighbourhoods}
|
||||
\centering{Соседство}}
|
||||
\only<2>{\img[0.6]{connregs}
|
||||
\centering{Связность}
|
||||
}
|
||||
\only<3>{\img[0.6]{msquare}
|
||||
\centering{Границы, контуры}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
\begin{block}{Расстояние}
|
||||
\begin{itemize}
|
||||
\item Евклидово: $D_{e(p,q)}=\sqrt{(x_p-x_q)^{2}+(y_{p}-y_{q})^{2}}$.
|
||||
\item Метрика $L_{1}$: $D_{4}(p,q)=|x_{p}-x_{q}|+|y_{p}-y_{q}|$.
|
||||
\item Метрика $L_{\infty}$: $D_{8}(p,q)=\max\bigl(|x_{p}-x_{q}|,|y_{p}-y_{q}|\bigr)$.
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\begin{block}{Поэлементные и матричные операции}
|
||||
$$A=\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix},\quad{}
|
||||
B=\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix}.$$
|
||||
Поэлементное произведение:
|
||||
$$A\cdot B = \begin{bmatrix}a_{11}b_{11}&a_{12}b_{12}\\a_{21}b_{21}&a_{22}b_{22}\end{bmatrix}.$$
|
||||
Матричное произведение:
|
||||
$$A\times B = \begin{bmatrix}a_{11}b_{11}+a_{12}b_{21}&a_{11}b_{12}+a_{12}b_{22}\\
|
||||
a_{21}b_{11}+a_{22}b_{21}&a_{21}b_{12}+a_{22}b_{22}\end{bmatrix}.$$
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
|
||||
\begin{block}{Аффинные преобразования}
|
||||
$$\begin{pmatrix}x'&y'&1\end{pmatrix}^T=\B{A}\begin{pmatrix}x&y&1\end{pmatrix}^T.$$
|
||||
\end{block}
|
||||
|
||||
\begin{block}{}
|
||||
\begin{columns}\column{0.5\textwidth}
|
||||
Тождество: $\B{A}=\begin{pmatrix}1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
Масштаб: $\B{A}=\begin{pmatrix}c_{x} & 0 & 0\\ 0 & c_{y} & 0\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
Поворот: $\B{A}=\begin{pmatrix}\cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 &
|
||||
1\end{pmatrix},$\\
|
||||
Сдвиг: $\B{A}=\begin{pmatrix}1 & 0 & t_x\\ 0 & 1 & t_y\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
|
||||
\column{0.45\textwidth}
|
||||
|
||||
Скос $y$: $\B{A}=\begin{pmatrix}1 & 0 & 0\\ s_v & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
Скос $x$: $\B{A}=\begin{pmatrix}1 & s_h & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
Отражение $x$: $\B{A}=\begin{pmatrix}1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
Отражение $y$: $\B{A}=\begin{pmatrix}-1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\
|
||||
\end{columns}
|
||||
\end{block}
|
||||
\begin{block}{}Комбинация пребразований: $\B{M}=\prod_{i}\B{T_{i}}$ (зависит от
|
||||
порядка!).\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
\only<1>{
|
||||
\begin{block}{Операции над множествами}
|
||||
Множества и дополнения: $A\cup A^C = \Omega$, $A\cap A^C=\emptyset$. ($A^C\equiv\overline{A}$).
|
||||
|
||||
Множество через операцию: $A^C=\{a\,|\,a\not\in A\}$. Подмножества: $A\subset B$ или $B \supset
|
||||
A$.
|
||||
|
||||
Операции: $A-B=A\backslash B=A\cap B^C$, $A+B=A\cup B$.
|
||||
|
||||
Ассоциативность: $(A\cup B)\cup C=A\cup(B\cup C)$, $(A\cap B)\cap C=A\cap(B\cap C)$.
|
||||
|
||||
Дистрибутивность: $(A\cup B)\cap C=(A\cap C)\cup(B\cap C)$, $(A\cap B)\cup C=(A\cup C)\cap(B\cup
|
||||
C)$.
|
||||
|
||||
Законы де-Моргана: $(A\cup B)^C=A^C\cap B^C$, $(A\cap B)^C=A^C\cup B^C$.
|
||||
\end{block}
|
||||
\begin{block}{Логические (булевы) операции}
|
||||
$\cup\Arr \vee$ (дизъюнкция, <<или>>, \t{|}), $\cap\Arr\wedge$ (конъюнкция, <<и>>, \t{\&}),
|
||||
$A^C\Arr\overline{A}$
|
||||
(отрицание).
|
||||
\end{block}
|
||||
}\only<2>{
|
||||
\img{SETS}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\section{Пространственные и градационные преобразования}
|
||||
\begin{frame}{Пространственные и градационные преобразования}
|
||||
\begin{defin}
|
||||
\ж Преобразования в пространственной области\н работают непосредственно с пикселями изображения:
|
||||
$$T(u,v)=\Sum_{x=0}^{M-1}\Sum_{y=0}^{N-1}f(x,y)r(x,y,u,v),\qquad\text{где $r$~-- ядро
|
||||
преобразования.}$$
|
||||
\end{defin}
|
||||
\begin{block}{Градационные преобразования ($I\in[0, I_{max}]$, $I'=f(I)$)}
|
||||
\begin{itemize}
|
||||
\item негатив: $I' = I_{max} - I$;
|
||||
\item логарифмическое: $I' = \C\ln(1+I)$;
|
||||
\item гамма-коррекция: $I'=\C I_{max}\cdot i^\gamma$, $i=\dfrac{I}{I_{max}}$;
|
||||
\item кусочно-линейные преобразования (усиление контраста).
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
\only<1>{
|
||||
\img[0.8]{hystotransf}
|
||||
}\only<2>{
|
||||
Логарифмическое преобразование.
|
||||
\img{logtransf}
|
||||
}\only<3,4,5>{
|
||||
\only<3>{Степенное преобразование (гамма-коррекция).\img[0.8]{gammacorrt}}
|
||||
\only<4>{\img[0.85]{gammacorr}}
|
||||
\only<5>{\img[0.8]{gammacorr1}}
|
||||
}
|
||||
\only<6>{Кусочно-линейные преобразования.
|
||||
\img[0.7]{piecewise}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
\only<1>{
|
||||
\img[0.8]{bitplanes}
|
||||
\centering{Битовые плоскости}
|
||||
}\only<2>{
|
||||
\img[0.4]{graycode}
|
||||
\centering{Битовые плоскости в кодах Грея}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Гистограмма}
|
||||
\only<1>{
|
||||
\img[0.9]{histogram}
|
||||
}\only<2>{
|
||||
\img{histograms}
|
||||
}
|
||||
\end{frame}
|
||||
\begin{frame}{}
|
||||
\only<1>{
|
||||
Неоднозначное (необратимое) и однозначное (возможно, обратимое) отображения:
|
||||
\img{badhisto}
|
||||
}\only<2>{
|
||||
Эквализация гистограммы
|
||||
\img[0.8]{histeq}
|
||||
}
|
||||
\only<3>{
|
||||
$N_i$~-- количество пикселей на $i$-м уровне, $L$~-- максимальная интенсивность,
|
||||
$M=\Sum_0^L N_i$~общее количество пикселей.
|
||||
|
||||
Эквализация: $i' = \frac{\Sum_{j=0}^i N_j}{M}L$.
|
||||
|
||||
Если $n_i$~-- доля с $i$-м уровнем, то: $i' = L\Sum_{j=0}^i n_j$.
|
||||
|
||||
\img{HEscheme}
|
||||
}
|
||||
\only<4>{
|
||||
\begin{block}{Приведение гистограммы $p_r\arr p_z$}
|
||||
\begin{enumerate}
|
||||
\item Получение эквализованной гистограммы, $s_k$.
|
||||
\item Вычисление функции преобразования $G(z_q)=L\Sum_{j=0}^{q}p_z(z_j)$.
|
||||
\item Нахождение для каждого $s_k$ соответствующего значения $z_q$, для которого $G(z_q)$ наиболее
|
||||
близко к~$s_k$.
|
||||
\item Формирование приведенного изображения.
|
||||
\end{enumerate}
|
||||
\end{block}
|
||||
}
|
||||
\only<5,6,7>{
|
||||
\begin{block}{Локальная гистограммная обработка}
|
||||
\only<5>{\img[0.8]{h1}}
|
||||
\only<6>{\img[0.8]{h2}}
|
||||
\only<7>{\img{localheq}}
|
||||
\end{block}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Эквализация гистограммы}
|
||||
\only<1>{M13: без и с эквализацией:\\
|
||||
\smimg[0.48]{M13_nohisteq}\hfil\smimg[0.48]{M13_histeq}
|
||||
}
|
||||
\only<2>{M29: без и с эквализацией:\\
|
||||
\smimg[0.48]{M29_nohisteq}\hfil\smimg[0.48]{M29_histeq}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\def\svec#1{\begin{smallmatrix}#1\end{smallmatrix}}
|
||||
\def\smat#1{\begin{pmatrix}#1\end{pmatrix}}
|
||||
\def\pb#1#2{\parbox{0.4\textwidth}{\centering{#1}\par\noindent\centering{\includegraphics{#2}}}}
|
||||
\begin{frame}{Пространственная фильтрация}
|
||||
\only<1>{
|
||||
\begin{block}{}
|
||||
$w(s,t)$~-- ядро преобразования размера $m\times n$ ($m=2a+1$, $n=2b+1$),
|
||||
$f(x,y)$~-- исходное изображение, $g(x,y)$~-- результат. Преобразование:
|
||||
$$g(x,y) = \sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x+s,y+t),$$
|
||||
что является расширением одномерного преобразования:
|
||||
$$g(x)=\sum_{s=-a}^{a}w(s)f(x+s).$$
|
||||
\end{block}
|
||||
}\only<2>{
|
||||
\begin{block}{}
|
||||
$$f=\svec{0&0&0&1&0&0&0&0},\qquad w=\svec{1&2&3&4&5}.$$
|
||||
\end{block}
|
||||
\begin{columns}
|
||||
\column{0.48\textwidth}
|
||||
\begin{block}{Корреляция, $v=f\star w$}
|
||||
$$0:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\1&2&3&4&5\\}$$
|
||||
$$3:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&1&2&3&4&5\\}$$
|
||||
$$7:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&1&2&3&4&5\\}$$
|
||||
$$a:\qquad\svec{0&0&0&5&4&3&2&1&0&0&0&0}$$
|
||||
$$v:\qquad\svec{0&5&4&3&2&1&0&0}$$
|
||||
\end{block}
|
||||
\column{0.48\textwidth}
|
||||
\begin{block}{Свертка, $v=f*w$}
|
||||
$$0:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\5&4&3&2&1\\}$$
|
||||
$$3:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&5&4&3&2&1\\}$$
|
||||
$$7:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&5&4&3&2&1\\}$$
|
||||
$$a:\qquad\svec{0&0&0&1&2&3&4&5&0&0&0&0}$$
|
||||
$$v:\qquad\svec{0&1&2&3&4&5&0&0}$$
|
||||
\end{block}
|
||||
\end{columns}
|
||||
}\only<3>{
|
||||
\img[0.65]{imconv}
|
||||
}\only<4>{
|
||||
\begin{columns}
|
||||
\column{0.48\textwidth}
|
||||
\begin{block}{}
|
||||
\pb{Идентичность}{Vd-Orig} $\smat{0&0&0\\0&1&0\\0&0&0}$\\[2pt]
|
||||
\pb{$f'(x,y)$}{Vd-Edge1} $\smat{1&0&-1\\0&0&0\\-1&0&1}$\\[2pt]
|
||||
\pb{Лапласиан}{Vd-Edge2} $\smat{0&1&0\\1&-4&1\\0&1&0}$\\[2pt]
|
||||
\pb{Лапласиан}{Vd-Edge3} $\smat{1&1&1\\1&-8&1\\1&1&1}$
|
||||
\end{block}
|
||||
\column{0.48\textwidth}
|
||||
\begin{block}{}
|
||||
\pb{Резкость}{Vd-Sharp} $\smat{0&-1&0\\-1&5&-1\\0&-1&0}$\\[2pt]
|
||||
\pb{Размытие}{Vd-Blur2} $\dfrac{1}{9}\smat{1&1&1\\1&1&1\\1&1&1}$\\[2pt]
|
||||
\pb{Гаусс}{Vd-Blur1} $\dfrac{1}{16}\smat{1&2&1\\2&4&2\\1&2&1}$\\[2pt]
|
||||
\pb{LoG}{Vd-LOG} $\dfrac{1}{64}\smat{11&27&11\\27&-202&27\\11&27&11}$
|
||||
\end{block}
|
||||
\end{columns}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Пространственная фильтрация FITS}
|
||||
\only<1>{Оригинал:\\
|
||||
\smimg[0.5]{objFull}\;\smimg[0.5]{objCrop}
|
||||
}
|
||||
\only<2>{Фильтр Гаусса $1\times1$ пиксель:\\
|
||||
\smimg[0.5]{gaussFull}\;\smimg[0.5]{gaussCrop}
|
||||
}
|
||||
\only<3>{Фильтр лапласиана гауссианы $1\times1$ пиксель:\\
|
||||
\smimg[0.5]{lapgaussFull}\;\smimg[0.5]{lapgaussCrop}
|
||||
}
|
||||
\only<4>{Фильтр Прюитта (горизонтальный):\\
|
||||
\smimg[0.5]{prewitthFull}\;\smimg[0.5]{prewitthCrop}
|
||||
}
|
||||
\only<5>{Фильтр Прюитта (вертикальный):\\
|
||||
\smimg[0.5]{prewittvFull}\;\smimg[0.5]{prewittvCrop}
|
||||
}
|
||||
\only<6>{Простой градиент (через фильтры Прюитта):\\
|
||||
\smimg[0.5]{gradientFull}\;\smimg[0.5]{gradientCrop}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\begin{frame}{}
|
||||
\only<1>{
|
||||
\begin{block}{Медианная фильтрация}
|
||||
\centering{\includegraphics[width=0.4\textwidth]{image020} \hspace{3em}
|
||||
\includegraphics[width=0.4\textwidth]{image021}}
|
||||
\end{block}
|
||||
}\only<2>{
|
||||
\begin{block}{Адаптивный медианный фильтр}
|
||||
Зона $K\times K$ пикселей, $I_{min}$, $I_{max}$, $I_{med}$, $I_{xy}$ (интенсивность в данной
|
||||
точке), $K_{max}$~-- максимальный размер зоны.
|
||||
\begin{enumerate}
|
||||
\item $A_1=I_{med}-I_{min}$, $A_2=I_{med}-I_{max}$; если $A_1>0$ и $A_2<0$ переход на 2, иначе
|
||||
$++K$; если $K<K_{max}$, повторить, иначе вернуть $I_{xy}$.
|
||||
\item $B_1=I_{xy}-I_{min}$, $B_2=I_{xy}-I_{max}$; если $B_1>0$ и $B_2<0$, вернуть $I_{xy}$, иначе
|
||||
вернуть $I_{med}$.
|
||||
\end{enumerate}
|
||||
|
||||
\end{block}
|
||||
}\only<3>{
|
||||
\centering{\includegraphics[width=0.35\textwidth]{imf_ori} \hspace{3em}
|
||||
\includegraphics[width=0.377\textwidth]{imf_mean}}
|
||||
\centering{\includegraphics[width=0.377\textwidth]{imf_median} \hspace{3em}
|
||||
\includegraphics[width=0.35\textwidth]{imf_adpmed}}
|
||||
}
|
||||
\only<4>{Медианная фильтрация $r=1$\,пиксель и $r=5$\,пикселей:\\
|
||||
\smimg[0.5]{median1}\;\smimg[0.5]{median5}
|
||||
}
|
||||
\only<5>{Оригинал, адаптивная медиана ($r=1$) и медиана ($r=1$):\\
|
||||
\img{oriadpmed}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Частотные преобразования}
|
||||
\begin{frame}{Частотные преобразования}
|
||||
\begin{block}{Двумерное ДПФ}
|
||||
$$F(u,v)=\Sum_{x=0}^{M-1}\Sum_{y=0}^{N-1} f(x,y) \exp\Bigl(-2\pi
|
||||
i\bigl(\frc{ux}{M}+\frc{vy}{N}\bigr)\Bigr).$$
|
||||
$$f(x,y)=\frac{1}{MN}\Sum_{u=0}^{M-1}\Sum_{v=0}^{N-1} F(u,v) \exp\Bigl(2\pi
|
||||
i\bigl(\frc{ux}{M}+\frc{vy}{N}\bigr)\Bigr).$$
|
||||
|
||||
Частотные преобразования:
|
||||
$$g(x,y)=\Re\left(\IFT{H(u,v)\cdot F(u,v)}\right),$$
|
||||
где $g$~-- результат, $H$~-- \ж передаточная функция фильтра\н, $F$~-- Фурье-образ исходного
|
||||
изображения.
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
Ложные частоты (aliasing, муар)
|
||||
\only<1>{\img{aliasing1}}
|
||||
\only<2>{\img[0.8]{aliasing2}}
|
||||
\only<3>{\img[0.8]{aliasing3}}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
\begin{block}{Связь пространственных и частотных преобразований}
|
||||
Пусть $f(x,y)$~--- изображение размера $M\times N$, а $F(u,v)=\FT{f}$~--- его Фурье-образ. Тогда
|
||||
шаг по $u$ и $v$ определяется выражениями:
|
||||
$$\Delta u=\frac{1}{M\Delta x}, \quad \Delta v = \frac{1}{N\Delta y}.$$
|
||||
\ж Смещение\н изображения (не оказывает эффекта на модуль БПФ):
|
||||
$$f(x,y)\exp[2\pi i (u_0x/M+v_0y/N)]\Leftrightarrow F(u-u_0, v-v_0),$$
|
||||
$$f(x-x_0,y-y_0)\Leftrightarrow F(u,v)\exp[-2\pi i(x_0u/M+y_0v/M)].$$
|
||||
В полярных координатах $f(r,\theta+\theta_0)\Leftrightarrow F(\omega, \phi+\theta_0)$, т.е.
|
||||
вращение изображения приводит к повороту Фурье-образа на тот же угол.
|
||||
|
||||
Фурье-образ~--- периодическая функция, возможны краевые эффекты!
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\only<1>{
|
||||
\begin{block}{Спектр и фаза}
|
||||
$F(u,v)=\Re(u,v)+\Im(u,v)=|F(u,v)|\e^i\phi(u,v)$, где $|F(u,v)|$~-- \ж спектр\н изображения, а
|
||||
$\phi(u,v)$~-- его\ж фаза\н (фазовый угол, $\phi(u,v)=\arctan\dfrac{\Im(u,v)}{\Re(u,v)}$).
|
||||
|
||||
Зная компоненты образа, можно в Octave вычислить угол как \t{atan2(I,R)}.
|
||||
|
||||
\ж Спектр мощности\н $P(u,v)=|F(u,v)|^2=\Re^2(u,v)+\Im^2(u,v)$. Спектры и фаза обладают симметрией:
|
||||
$|F(u,v)|=|F(-u,-v)|$, $R(u,v)=R(-u,-v)$, $\phi(u,v)=-\phi(-u,-v)$.
|
||||
|
||||
$F(0,0)=\sum\sum f(x,y)=MN\left(\frac{1}{MN}\sum\sum f(x,y)\right)=MN\aver{f}$~--- пропорциональна
|
||||
среднему значению изображения. Удаление $F(0,0)/MN$ эквивалентно вычитанию среднего.
|
||||
\end{block}
|
||||
}\only<2>{\begin{columns}\column{0.3\textwidth}
|
||||
Изображение, спектр, центрированный спектр (\t{fftshift}) и логарифмическое преобразование
|
||||
центрированного спектра.
|
||||
\column{0.7\textwidth}\img{fft1}
|
||||
\end{columns}
|
||||
}\only<3>{
|
||||
\img[0.7]{fft2}
|
||||
}\only<4>{Фазы центрированного, смещенного и повернутого прямоугольников
|
||||
\img{fftphases}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
НЧ-фильтр, ВЧ-фильтр, ВЧ-фильтр со смещением:
|
||||
\img{lphpfilter}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
Краевые эффекты: изображение, НЧ-фильтр Гаусса без дополнения изображения нулями, НЧ-фильтр Гаусса
|
||||
с дополнением нулями. При расширении изображения симметричным дополнением края не будут так
|
||||
изменяться.
|
||||
\img{lpfilt.png}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
\vspace*{-1em}
|
||||
\begin{columns}
|
||||
\column{0.4\textwidth}
|
||||
Изображение с муаром (скан газетного рисунка),\\
|
||||
его спектр,\\
|
||||
спектр после фильтрации,\\
|
||||
изображение после фильтрации.
|
||||
\column{0.6\textwidth}
|
||||
\img[0.9]{ftfilt}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\section{Сигнал--шум}
|
||||
\begin{blueframe}{}
|
||||
\only<1>{
|
||||
\begin{block}{SNR}
|
||||
$$\SNR = \frac{N}{\sqrt{N}}= \sqrt{N},\qquad N=N_{star}+N_{sky}\quad\Arr$$
|
||||
$$\SNR\approx\frac{N_{star}}{\sqrt{N_{star}+2N_{sky}}},\qquad N=t_{exp}\cdot
|
||||
R\quad\Arr$$
|
||||
$$\SNR\approx\frac{R_{star}\sqrt{t_{exp}}}{\sqrt{R_{star}+2R_{sky}}}\quad\Arr\quad
|
||||
\SNR\propto\sqrt{t_{exp}}$$
|
||||
$$R=R_0\cdot S_{mirror}\propto D_{mirror}^2\quad\Arr\quad \SNR\propto D_{mirror}$$
|
||||
$$N_{meas}\text{ коротких экспозиций вместо
|
||||
одной:}\quad\sigma_{mean}=\frac{\sigma_{individ}}{\sqrt{N_{meas}}}\propto\frac{\sqrt{S}}{N_{meas}}$$
|
||||
$$\SNR_{mean}=\frac{S/N_{meas}}{\sigma_{mean}}\propto\sqrt{S}=\SNR_{long}\quad\text{только
|
||||
если }
|
||||
\sigma\approx\sigma_{phot}!!!$$
|
||||
\end{block}
|
||||
}
|
||||
\only<2>{
|
||||
\begin{block}{Коррекция апертуры} % CCDPhotometryBook.pdf
|
||||
Почему изображение яркой звезды шире: несмотря на совершенно одинаковую PSF у обеих
|
||||
звезд, при сечении
|
||||
одинаковым порогом яркая звезда всегда <<больше>>. Увеличение апертуры \Arr увеличение
|
||||
шумов, необходимо
|
||||
использовать как можно меньшую апертуру.
|
||||
$$\Delta_N^{bright} = m(N\cdot \FWHM) - m(1\cdot\FWHM)\quad\Arr\quad
|
||||
m^{faint} = m(1\cdot\FWHM) + \Delta_N^{bright},$$
|
||||
$m(x)$~-- звездная величина на апертуре~$x$.
|
||||
\end{block}\vspace*{-1em}
|
||||
\img[0.6]{fwhm}
|
||||
}
|
||||
\end{blueframe}
|
||||
|
||||
\begin{frame}{}
|
||||
\only<1>{
|
||||
Функции плотности вероятности разных шумов.
|
||||
\img{noicepdf}
|
||||
}\only<2>{
|
||||
Гистограммы с шумами: нормальный, Рэлея, гамма:
|
||||
\img{difnoice}
|
||||
}\only<3>{
|
||||
Гистограммы с шумами: экспоненциальным, равномерным, импульсным (<<соль--перец>>):
|
||||
\img{difnoice1}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{}
|
||||
Фильтры: среднее арифметическое, гауссов, минимум по области, максимум по области, медианный,
|
||||
адаптивный медианный и т.п. Пример: медианный и адаптивный медианный фильтры по области $7\times7$
|
||||
пикселей.
|
||||
\img{adpmed}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
Удаление гармонических шумов частотными фильтрами. Изображение, спектр, маска фильтра, итог.
|
||||
\img[0.7]{filterft}
|
||||
\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}
|
||||
BIN
Komp_obr_SFedU/pic/HEscheme.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
Komp_obr_SFedU/pic/SETS.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
Komp_obr_SFedU/pic/adpmed.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
Komp_obr_SFedU/pic/aliasing1.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
Komp_obr_SFedU/pic/aliasing2.png
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
Komp_obr_SFedU/pic/aliasing3.png
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
Komp_obr_SFedU/pic/badhisto.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
Komp_obr_SFedU/pic/difnoice.png
Normal file
|
After Width: | Height: | Size: 789 KiB |
BIN
Komp_obr_SFedU/pic/difnoice1.png
Normal file
|
After Width: | Height: | Size: 771 KiB |
BIN
Komp_obr_SFedU/pic/fft1.png
Normal file
|
After Width: | Height: | Size: 166 KiB |
BIN
Komp_obr_SFedU/pic/fft2.png
Normal file
|
After Width: | Height: | Size: 336 KiB |
BIN
Komp_obr_SFedU/pic/fftphases.png
Normal file
|
After Width: | Height: | Size: 780 KiB |
BIN
Komp_obr_SFedU/pic/filterft.png
Normal file
|
After Width: | Height: | Size: 644 KiB |
BIN
Komp_obr_SFedU/pic/ftfilt.png
Normal file
|
After Width: | Height: | Size: 875 KiB |
BIN
Komp_obr_SFedU/pic/gammacorr.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
Komp_obr_SFedU/pic/gammacorr1.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
Komp_obr_SFedU/pic/gammacorrt.png
Normal file
|
After Width: | Height: | Size: 176 KiB |
BIN
Komp_obr_SFedU/pic/histograms.png
Normal file
|
After Width: | Height: | Size: 582 KiB |
BIN
Komp_obr_SFedU/pic/hystotransf.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
Komp_obr_SFedU/pic/imconv.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
Komp_obr_SFedU/pic/localheq.png
Normal file
|
After Width: | Height: | Size: 360 KiB |
BIN
Komp_obr_SFedU/pic/logtransf.png
Normal file
|
After Width: | Height: | Size: 540 KiB |
BIN
Komp_obr_SFedU/pic/lpfilt.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
Komp_obr_SFedU/pic/lphpfilter.png
Normal file
|
After Width: | Height: | Size: 969 KiB |
BIN
Komp_obr_SFedU/pic/noicepdf.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
Komp_obr_SFedU/pic/piecewise.png
Normal file
|
After Width: | Height: | Size: 674 KiB |