MOD

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);

Report Page