Матрицы и массивы

Задание для лабораторной работы по курсу “Основы MATLAB”

  1. В первых двух заданиях разработанный код должен работать для любых размеров исходных массивов или матриц (двумерных массивов). Например, в задании 2 код с решением должен работать для двумерного массива (матрицы) Y с любым количеством строк и столбцов.

  2. Задания 2 и 3 в каждом варианте должны быть выполнены с использованием операторов for или while и без них.

  3. В задании 3 необходимо составить файл-функцию для вычисления значения функции, разложенной в ряд (сумму ряда). В формулах \(\varepsilon\) – заданная степень точности; \(n\) – порядковый номер очередного члена ряда. Функцию оформить в виде файл-функции, которой передается значение \(x\) (или \(\phi\)), требуемая точность \(\varepsilon\) и необходимое число параметров, если функция от них зависит.

Пример

Заданы два одномерных массива А и В с одинаковым количеством элементов. Составить программу подсчёта суммы элементов с чётными индексами в массиве B и произведения положительных элементов в массиве А.

Решение с использованием циклов

Сумма элементов с чётными индексами в массиве B может быть определена при помощи цикла для четных значений индекса i – от 2 до количества элементов в массиве B с шагом 2:

s = 0;
for i=2:2:numel(B)
  s = s + B(i);
end
disp(s)

Произведение положительных элементов массива А:

p = 1;
for i=1:numel(A)
  if A(i) > 0 
    p = p*A(i);
  end
end
disp(p)

Решение без использования циклов

Сумма элементов с чётными индексами в массиве B:

sum(B(2:2:end))

Произведение положительных элементов массива А:

prod(A(A>0))

Рассмотрим более сложный пример. Необходимо вывести на экран все первые положительные элементы массива до первого отрицательного или нулевого элемента. Например, для массива A = [1,2,3,4,-1,7,6] на экран нужно вывести [1,2,3,4].

% список индексов массива А
i       = 1:numel(A);
% список индексов отрицательных значений массива
iA_le_0 = i(A<0);
% индекс первого отрицательного элемента массива
imax    = iA_le_0(1);
% Элементы массива до первого отрицательного
A(1:imax-1)

Найти приближенное значение функции, разложенной в ряд

\[Y = 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + ... + {( - 1)^{n + 1}}\frac{1}{n} + ...,\]

учитывая слагаемые до выполнения условия: \[1/n \leq \varepsilon, \quad \varepsilon = 0.001.\]

function Y = my_series(epsilon)
Y = 0;
for i=1:1000
    Y = Y + (-1)^(i+1)/i;
    if 1/i <= epsilon
        break;
    end
end

или

function Y = my_series(epsilon)
Y = 1;
i = 1;
while 1/i>epsilon
    i = i + 1;
    Y = Y + (-1)^(i+1)/i;
end

Проверка работоспособности функции

Y = my_series(0.001);
disp(Y);

Задания

Номер варианта определяется остатком от деления числа, составленного из последних пяти цифр номера зачётной книжки на 20: \[1 + (\text{NNNNN} \mod 20)\]

Вариант 1

  • Дан массив из N натуральных чисел. Вывести те числа, остаток от деления которых на М равен L (0 ≤ L ≤ M-1).
  • Задан двумерный массив С из 4-х строк и 4-х столбцов (квадратная матрица). Составить программу подсчёта суммы всех отрицательных элементов и суммы элементов по главной диагонали.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[1/n \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[Y = 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + ... + {( - 1)^{n + 1}}\frac{1}{n} + ...\]

Вариант 2

  • При поступлении в вуз абитуриенты, получившие «двойку» на первом экзамене, ко второму не допускаются. В массиве A[n] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.
  • Задан двумерный массив Y из 7-и строк и 3-х столбцов. Составить программу подсчёта суммы произведений элементов строк.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\| a^n \cos n \phi \| \leq \varepsilon, \quad \varepsilon = 0.005.\]

Функция: \[F(a,\phi ) = 1 + (a \cdot \cos \phi + {a^2} \cdot \cos 2\phi + {a^3} \cdot \cos 3\phi + ...\\ ... + {a^n} \cdot \cos n\phi + ...)\]

Вариант 3

  • Дана массив чисел, среди которых имеется один нуль. Вывести на печать все числа включительно до нуля.
  • Задан двумерный массив А из 5-и строк и 2-х столбцов. Составить программу, которая формирует одномерный массив В, каждый элемент которого есть произведение элементов массива А в строке.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[1/(2n-1)^2 \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[Y = \frac{1}{1^2} + \frac{1}{3^2} + \frac{1}{5^2} + ... + \frac{1}{(2n - 1)^2} + ...\]

Вариант 4

  • В одномерном массиве размещены: в первых элементах значения аргумента, а в следующих – соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов: аргументы и значения функции.
  • Задан двумерный массив В из 4-х строк и 4-х столбцов. Составить программу, которая организует двумерный массив, элементы главной диагонали которого равны соответствующим элементам исходного массива, а остальные элементы равны нулю.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\|\frac{x^{2n - 1}}{(2n - 1)!} \| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F(x) = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + ... + (-1)^{n-1} \frac{x^{2n - 1}}{(2n - 1)!} + ...\]

Вариант 5

  • Дан целочисленный массив с количеством элементов N. Напечатать те его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, …).
  • Задан двумерный массив А из 2-х строк и 7-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть сумма элементов исходного в столбце.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:

\(\|\sin (2n-1)x/(2n-1) \| \leq \varepsilon, \quad \varepsilon = 0.001.\):

Функция: \[F ( x ) = \frac{4a}{\pi} ( \sin x + \frac{\sin 3x}{3} + ... + \frac{\sin (2n - 1)x}{2n - 1} + ... )\]

Вариант 6

  • Дан массив из N действительных чисел. Напечатать те его элементы, которые принадлежат отрезку [c, d].
  • Задан двумерный массив Y из 5-и строк и 5-и столбцов. Составить программу подсчёта суммы всех положительных элементов и суммы элементов по главной диагонали.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\| x^{n-1}\| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F\left( x \right) = 1 - x + {x^2} - {x^3} + {x^4} - .... \pm {x^{n - 1}} + ...\]

Вариант 7

  • Дан массив целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. Если таких нет, то выдать сообщение об этом.
  • Задан двумерный массив А из 4-х строк и 4-х столбцов. Составить программу, которая подсчитывает произведение элементов массива, лежащих вне главной диагонали.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\| x(x-1)^n \| \leq \varepsilon, \quad \varepsilon = 0.001.\] \[Y\left( x \right) = x + \left[ x\left( x - 1 \right) + x \left( x - 1 \right)^2 + ... + x \left( x - 1 \right)^n + ... \right]\]

Вариант 8

  • Массив из N элементов состоит из нулей и единиц. Поставить в начало этого массива нули, а затем единицы.
  • Задан двумерный массив С из 6-и строк и 6-и столбцов. Составить программу, которая подсчитывает сумму всех элементов массива. Затем организовать формирование нового массива С, в котором элементы, лежащие на главной диагонали, равны 1, а остальные элементы равны соответствующим элементам исходного массива С.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{\sin (n + 1)x}{(2n - 1)} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F(x) = \frac{\sin 2x}{1} - \frac{\sin 3x}{3} + ... + (-1)^{n - 1} \cdot \frac{\sin (n + 1)x}{(2n - 1)} ...\]

Вариант 9

  • Дан массив из N действительных чисел, в котором есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P1 и произведение положительных элементов P2. Сравнить модуль P2 с модулем P1 и указать, какое из произведений по модулю больше.
  • Задан двумерный массив Y из 7-и строк и 3-х столбцов. Составить программу, которая вычисляет значение суммы произведений элементов строк
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{x^n}{n!} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F\left( x \right) = 1 + \left( \frac{x}{1!} + \frac{x^2}{2!} + \frac{x^3}{3!} + ... + \frac{x^n}{n!} \right)\]

Вариант 10

  • Задан массив с количеством элементов N. Сформируйте два массива: в первый включите элементы исходного массива с чётными номерами, а во второй – с нечётными.
  • Задан двумерный массив В из 4-х строк и 5-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть сумма элементов в столбце. Вычислить произведение элементов полученного массива.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{\sin nx}{n} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F(x) = 2 \left[ \sin x - \frac{\sin 2x}{2} + ... + (-1)^{n - 1}\frac{\sin nx}{n}... \right]\]

Вариант 11

  • Составить программу нахождения наибольшего среди тех элементов одномерного массива А, что лежат в интервале [С, D].
  • Задан двумерный массив А из 5-и строк и 4-х столбцов. Составить программу, которая вычисляет значение произведения сумм строк.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{(2x)^n}{n!} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[S\left( x \right) = \frac{2x}{1!} + \frac{2^2}{x^2}{2!} + \frac{2^3 x^3}{3!} + ... + \frac{(2x)^n}{n!} + ...\]

Вариант 12

  • Составить программу отыскания наименьшего среди тех элементов одномерного массива А, что лежат вне интервала [С, D].
  • Задан двумерный массив Y из 4-х строк и 4-х столбцов. Составить программу, которая вычисляет S – сумму элементов побочной диагонали и значение суммы всех элементов массива
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{x^n}{n} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F\left( x \right) = 1 + \left( \frac{x}{1} + \frac{x^2}{2} + ... + \frac{x^n}{n} + ... \right)\]

Вариант 13

  • Составить программу подсчёта среди элементов одномерного массива В количества чисел, больших С.
  • Задан двумерный массив С из 6-и строк и 3-х столбцов. Составить программу, которая подсчитывает сумму всех элементов массива. Затем организовать формирование нового массива С, в котором элементы, лежащие не на главной диагонали, равны 1, а остальные элементы равны соответствующим элементам исходного массива С Вычислить произведение всех элементов нового массива.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{a \cos nx}{a^2 - n^2} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F(x) = \frac{1}{2a} - \left[ \frac{a \cos x}{a^2 - 1} - \frac{a \cos 2x}{a^2 - 2^2} + ...(-1)^{n-1} \cdot \frac{a \cos nx}{a^2 - n^2} + ... \right]\]

Вариант 14

  • Составить программу отыскания наименьшего среди элементов одномерного массива А и его индекса.
  • Задан двумерный массив А из 6-и строк и 3-х столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть произведение элементов массива А в каждой строке. Затем вычислить сумму элементов полученного одномерного массива.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{n}{2^n} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[Y = \frac{1}{2} + \frac{2}{2^2} + \frac{3}{2^3} + ... + \frac{n}{2^n} + ...\]

Вариант 15

  • Задан массив Y с количеством элементов N. Сформируйте массив, в котором элементы с чётными индексами будут равны соответствующим элементам исходного массива, а элементы с нечётными индексами будут равны нулю.
  • Задан двумерный массив C из 3-х строк и 5-и столбцов. Составить программу, которая вычисляет произведение всех элементов массива. Затем организовать новый массив С, в котором значения элементов, лежащих на главной диагонали, равны 1, а остальные элементы равны квадрату соответствующих элементов исходного массива С.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{\cos nx}{n^2} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F\left( x \right) = \frac{\pi }{2} - \frac{4}{\pi }\left( \cos x + \frac{\cos 2x}{2^2} + \frac{\cos 3x}{3^2} + ... + \frac{\cos nx}{n^2} + ... \right)\]

Вариант 16

  • Составить программу подсчёта в одномерном массиве А суммы элементов с чётными индексами и суммы элементов, значения которых больше нуля.
  • Задан двумерный массив В из 4-х строк и 5-и столбцов. Составить программу, которая вычисляет сумму всех элементов массива. Затем организовать новый массив В, в котором заменить отрицательные элементы исходного массива на 1, а значения остальных элементов оставить без изменения. Подсчитать количество замен.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{x^{2n - 1}}{2n - 1} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F\left( x \right) = x - \frac{x^3}{3} + \frac{x^5}{5} - \frac{x^7}{7} + ... + \left({-1}\right)^{n-1} \cdot \frac{x^{2n - 1}}{2n - 1} + ...\]

Вариант 17

  • Составить программу подсчёта в одномерном массиве С количества отрицательных и произведения положительных элементов массива.
  • Задан двумерный массив А из 8-и строк и 3-х столбцов. Составить программу, которая подсчитывает общее число неотрицательных элементов в массиве. Затем организовать формирование нового массива В, в котором значения элементов исходного массива заменить на противоположные по знаку.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{\sin (n + 1)x}{2n + 1} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F(x) = - \frac{1}{2}\left[ \frac{\sin 2x}{3} + \frac{\sin 3x}{5} + ... + \frac{\sin (n + 1)x}{2n + 1} + ... \right]\]

Вариант 18

  • Составить программу подсчёта в одномерном массиве В произведения элементов с нечётными индексами и суммы отрицательных элементов.
  • Задан двумерный массив В из 6-и строк и 3-х столбцов. Составить программу, которая организует одномерный массив С, элементы которого равны количеству положительных элементов в строке исходного массива В.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{1}{2^{n - 1}} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[Y = 1 - \frac{1}{2} + \frac{1}{4} - \frac{1}{8} + ... + {( - 1)^{n - 1}} \cdot \frac{1}{2^{n - 1}} + ...\]

Вариант 19

  • Заданы два одномерных массива А и В с одинаковым количеством элементов. Составить программу подсчёта суммы элементов с чётными индексами в массиве А и суммы элементов, значения которых больше нуля, в массиве В.
  • Задан двумерный массив D из 5-и строк и 5-и столбцов. Составить программу, которая организует одномерный массив, элементы которого равны элементам массива D , лежащим на побочной диагонали, а затем вычисляет сумму элементов полученного одномерного массива.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия
\[\left| \frac{\sin nx}{2^n} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F(x) = \frac{\sin x}{2} + \frac{\sin 2x}{2^2} + ... + \frac{\sin nx}{2^n} + ...\]

Вариант 20

  • Заданы два одномерных массива А и В с одинаковым количеством элементов. Составить программу подсчёта суммы элементов с нечётными индексами в массиве B и произведения отрицательных элементов в массиве А.
  • Задан двумерный массив В из 4-х строк и 5-и столбцов. Составить программу, которая подсчитывает количество положительных, отрицательных и нулевых элементов в массиве В и организует одномерный массив из полученных значений.
  • Найти приближенное значение функции, разложенной в ряд, учитывая слагаемые до выполнения условия:
\[\left| \frac{x^{2n}}{\left(2n\right)!} \right| \leq \varepsilon, \quad \varepsilon = 0.001.\]

Функция: \[F\left( x \right) = 1 + \left( \frac{x^2}{2!} + \frac{x^4}{4!} + \frac{x^6}{6!} + ... + \frac{x^{2n}}{\left(2n\right)!} + ... \right)\]

Из сборника: Е.А. Симановский “Сборник заданий к лабораторным работам”.


© 2022. All rights reserved.

Powered by Hydejack v9.1.6