Домашнее задание по "Численным методам и методам оптимизации"
Автор: Zeitgeist • Апрель 25, 2021 • Контрольная работа • 338 Слов (2 Страниц) • 326 Просмотры
Домашнее задание по Численным методам и методам оптимизации.
Чугунов Даниил
Группа ПС4-61
Вариант 13
[pic 1]
fi = @(x) x;
p = @(x) x^2;
q = @(x) 0;
a0 = 1;
a1 = 0;
b0 = 1;
b1 = 0;
A = 0; %y(0)
B = 3; %y(2)
a = 0; %x1
b = 2; %x2
nn = 10; %кол-во частков
h = (b - a)/nn;
m = zeros(1,nn+1);
n = zeros(1,nn+1);
f = zeros(1,nn+1);
C = zeros(1,nn+1);
d = zeros(1,nn+1);
y = zeros(1,nn+1);
%Вычисление mi, ni для каждого xi
mi = @(x) -2 + h*p(x);
ni = @(x) 1 - h*p(x) + h^2*q(x);
for i = 1:1:nn+1
m(i) = mi(a + h*(i-1));
n(i) = ni(a + h*(i-1));
f(i) = fi(a + h*(i-1));
end
%Прямой ход (вычисление коэффициентов)
C(1) = round((a1 - a0*h)/(m(1)*(a1 - a0*h)+n(1)*a1),3);
d(1) = round((n(1)*A*h)/(a1-a0*h)+f(1)*h^2,3);
for i=2:1:nn-1
C(i) = round(1/(m(i)-n(i)*C(i-1)),3);
d(i) = round(f(i)*h^2 - n(i)*C(i-1)*d(i-1),3);
end
%Обратный ход (вычислений yi)
y(nn+1) = (b1*C(nn-1)*d(nn-1)+B*h)/(b1*(1+C(nn-1))+b0*h);
for i= nn+1:-1:3
y(i-1) = C(i-2)*(d(i-2) - y(i));
end
y(1) = (a1*y(2)-A*h)/(a1-a0*h);
%Результирующая таблица
Result = table((0:1:nn)',C',d',m', n', (a:h:b)',y');
Result.Properties.VariableNames = {'i','Ci','di', 'm', 'n','Xi','Yi'};
%Вывод:
disp('y''''+x^2*y''=x');
disp('y(0) = 0; y(2) = 3;')
disp('f(x) = x');
disp('p(x) = x^2');
disp('q(x) = 0');
disp('a0 = 1; a1 = 0;')
disp('b0 = 1; b1 = 0;')
disp(Result);
[pic 2]
...