MOD
#1
% Ввод вектора x
str1 = input('', 's');
x = sscanf(str1, '%d');
nn = length(x);
% Задаем начальное значение для m
m = 0;
% Цикл по элементам вектора. Внутри цикла:
% Если произведение текущего и предыдущего элементов < 0, то
% увеличить m на 1.
% (Указание: Аккуратно проставьте значения начала и конца цикла.)
% ##### Введите ваш код #####
for i = 2:nn
if x(i-1)*x(i)<0
m += 1;
end
end
% ##########
% Вывод результата
fprintf(' %d \n', m);
#2
% Вводим значения x и nn
str1 = input('', 's');
z = sscanf(str1, '%f');
x = z(1); nn = z(2);
% Задаем начальные значения для члена ряда a и суммы s1
% ##### Введите ваш код #####
a = 0;
s1 = a;
% ############
% Суммируем nn членов ряда для получения приближенной суммы s1
% ##### Введите ваш код #####
for i = 1:nn
s1 += ((-1)^(i-1))*((x-1)^i)/i;
end
% ############
% Используем функцию Матлаба и выводим результаты
s2 = log(x);
fprintf(' %12.5e %12.5e \n', s1, s2);
#3
% Ввод значений a, b, nn
str1 = input('', 's');
z = sscanf(str1, '%f');
a = z(1); b = z(2); nn = z(3);
% Формируем вектор дискретных значений x, находим шаг dx
x = linspace(a,b,nn);
dx = (b - a) / (nn-1);
% Задаем начальное значение интеграла s
s = 0;
% Задаем подинтегральную функцию y(x) в виде анонимной функции yfun.
% Анонимная функция yfun имеет задается следующим образом:
% yfun = @(x) <выражение для функции>
% ##### Введите ваш код #####
yfun = @(x) x.^2+cos(x);
% ##########
% Найти значение функции в точках x
y = yfun(x);
m = zeros(size(y));
% Найти значение интеграла методом Симпсона в переменную s. Можно
% использовать векторизацию, и функцию Матлаба sum().
% ##### Введите ваш код #####
for i = 1:nn
if mod(i,2) ==0
m(i) = 4 ;
else
m(i) = 2;
end
end
% ##########
s =(sum(y(:).*m(:))*dx)/3;
% Вывод результата
fprintf(' %12.5e \n', s);