Skip to content

Commit cc08275

Browse files
committed
Lab5-7 completed
1 parent 07dbf2a commit cc08275

File tree

4 files changed

+90
-16
lines changed

4 files changed

+90
-16
lines changed

lab05_07/report/parts/20-analysis.tex

+61
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,67 @@ \section{Часть 2}
127127

128128
Устранение разрыва функции производится путём замены аргумента, при выполнении условия $|x_i| < \varepsilon$, на константное значение $\varepsilon$, где $\varepsilon = 1e-1$. При $x_1 \times x_2 < 0$ значение функции устанавливается равным $45$.
129129

130+
В таблице \ref{tb:tab21} представлены результаты работы рассмотренных методов для точности $0.01$.
131+
132+
\begin{table}[!ht]
133+
\caption{Сводная таблица результатов работы методов}
134+
\begin{tabular}{|p{0.03\textwidth}|p{0.39\textwidth}|p{0.20\textwidth}|p{0.11\textwidth}|p{0.13\textwidth}|}
135+
\hline
136+
\No & Метод & Количество вычислений функции & $X$ & $f(X)$\\
137+
\hline
138+
1 & правильный симплекс & 25 & [2.794894, 0.143244] & 2.384087 \\
139+
\hline
140+
2 & деформируемый симплекс & 24 & 0.[2.465024, 0.166927] & 2.38653 \\
141+
\hline
142+
3 & случайного поиска с возвратом & 114 & [1.615551, 0.235544] & 2.395212 \\
143+
\hline
144+
5 & fminsearch & 82 & [3.970522, 0.100013] & 2.382102 \\
145+
\hline
146+
\end{tabular}
147+
\label{tb:tab21}
148+
\end{table}
149+
150+
В таблице \ref{tb:tab22} представлены результаты работы рассмотренных методов для точности $0.0001$.
151+
152+
\begin{table}[!ht]
153+
\caption{Сводная таблица результатов работы методов}
154+
\begin{tabular}{|p{0.03\textwidth}|p{0.39\textwidth}|p{0.20\textwidth}|p{0.11\textwidth}|p{0.13\textwidth}|}
155+
\hline
156+
\No & Метод & Количество вычислений функции & $X$ & $f(X)$\\
157+
\hline
158+
1 & правильный симплекс & 37 & [2.794894, 0.143244] & 2.384087 \\
159+
\hline
160+
2 & деформируемый симплекс & 30 & 0.[2.465024, 0.166927] & 2.386538 \\
161+
\hline
162+
3 & случайного поиска с возвратом & 559 & [1.877914, 0.206477] & 2.390224 \\
163+
\hline
164+
5 & fminsearch & 143 & [3.968544, 0.100000] & 2.382102 \\
165+
\hline
166+
\end{tabular}
167+
\label{tb:tab22}
168+
\end{table}
169+
170+
171+
В таблице \ref{tb:tab23} представлены результаты работы рассмотренных методов для точности $0.000001$.
172+
173+
\begin{table}[!ht]
174+
\caption{Сводная таблица результатов работы методов}
175+
\begin{tabular}{|p{0.03\textwidth}|p{0.39\textwidth}|p{0.20\textwidth}|p{0.11\textwidth}|p{0.13\textwidth}|}
176+
\hline
177+
\No & Метод & Количество вычислений функции & $X$ & $f(X)$\\
178+
\hline
179+
1 & правильный симплекс & 76 & [2.801648, 0.140676] & 2.383914 \\
180+
\hline
181+
2 & деформируемый симплекс & 110 & 0.[[3.962550, 0.100045] & 2.382104 \\
182+
\hline
183+
3 & случайного поиска с возвратом & 1704 & [1.390272, 0.270747] & 2.402598 \\
184+
\hline
185+
5 & fminsearch & 207 & [3.968503, 0.100000] & 2.382102 \\
186+
\hline
187+
\end{tabular}
188+
\label{tb:tab23}
189+
\end{table}
190+
130191

131192
%
132193
% % В начале раздела можно напомнить его цель

lab05_07/report/rpz.pdf

3.29 KB
Binary file not shown.

lab05_07/source/launcher.m

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,28 @@
1515
%% Первая часть
1616
%optimizer.draw(-6, 2, 0, 9, 100);
1717
% использование метода минизации по правильному симплексу
18-
%optimizer.simple_simplex(x0, a, eps3);
18+
%optimizer.simple_simplex(x0, a, eps2);
1919

2020
% использование метода минизации по деформируемому симплексу
2121
%optimizer.downhill_simplex(x0, a, eps3);
2222

2323
% использование метода минимизациии случайного поиска в возвратом
24-
%optimizer.returnrandsearch(x0, a, eps3);
24+
%optimizer.rand_search(x0, a, eps3);
2525

2626
%optimizer.fminsearch(x0, eps3);
2727

2828
%% Вторая часть
2929
optimizer.draw(-2, 5, -2, 5, 100);
3030

3131
% использование метода минизации по правильному симплексу
32-
%optimizer.simple_simplex(x02, a2, eps2);
32+
%optimizer.simple_simplex(x02, a2, eps3);
3333

3434
% использование метода минизации по деформируемому симплексу
35-
%optimizer.downhill_simplex(x02, a2, eps2);
35+
%optimizer.downhill_simplex(x02, a2, eps3);
3636

3737
% использование метода минимизациии случайного поиска в возвратом
38-
%optimizer.returnrandsearch(x02, a2, eps2);
39-
40-
optimizer.fminsearch(x02, eps2);
38+
optimizer.rand_search(x02, a2, eps3);
39+
%
40+
%optimizer.fminsearch(x02, eps3);
4141

4242
hold off;

lab05_07/source/optimizer.m

+22-9
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@
2626
%y = 4*x(1)*x(2) + 7*x(1)*x(1) + 4*x(2)*x(2) + 6*sqrt(5)*x(1) - 12*sqrt(5)*x(2) + 51;
2727
%return;
2828
% 2àÿ ôóíêöèÿ
29-
if abs(x(1)) < this.eps
30-
x(1) = x(1) + sign(x(1)) * this.eps;
31-
end
3229

33-
if abs(x(2)) < this.eps
34-
x(2) = x(2) + sign(x(2)) * this.eps;
35-
end
3630

37-
if x(1) < 0 || x(2) < 0
31+
if x(1) <= 0 || x(2) <= 0
3832
y = 500;
3933
else
34+
if abs(x(1)) < this.eps
35+
s1 = sign(x(1));
36+
if abs(s1) > 0
37+
x(1) = x(1) + sign(x(1)) * this.eps;
38+
else
39+
x(1) = this.eps;
40+
end
41+
42+
end
43+
44+
if abs(x(2)) < this.eps
45+
s2 = sign(x(2));
46+
if abs(s2)>0
47+
x(2) = x(2) + sign(x(2)) * this.eps;
48+
else
49+
x(2) = this.eps;
50+
end
51+
52+
end
4053
y = x(2)*x(2)*x(2) + 2 * x(1) * x(2) + 1 / sqrt(x(1) * x(2));
4154
end
4255
end
@@ -61,8 +74,8 @@ function draw(this, a1, b1, a2, b2, n)
6174
end
6275
end
6376

64-
figure(2);
65-
mesh(x2,x1,f);
77+
%figure(2);
78+
%mesh(x2,x1,f);
6679

6780
figure(1);
6881
levels = -30:5:50;

0 commit comments

Comments
 (0)