В MatLab для первичной обработки данных удобно использовать массивы и функции их обработки:
- mах(А) — возвращает наибольший элемент массива, если А одномерный массив (вектор). Если А матрица, то функция mах(А) возвращает вектор-строку, содержащую максимальные элементы каждого столбца.
>> a=[2 5 7;3 9 6;8 5 4]
max(a)
a =
2 5 7
3 9 6
8 5 4
ans =
8 9 7
- mах(А,В) — возвращает массив того же размера, что А и В, каждый элемент которого есть максимальный из соответствующих элементов этих массивов.
>> a=[2 5 7;3 9 6;8 5 4]
b=[3 5 9;1 7 3;6 8 2]
max(a,b)
a =
2 5 7
3 9 6
8 5 4
b =
3 5 9
1 7 3
6 8 2
ans =
3 5 9
3 9 6
8 8 4
-max(A,[ ],dim) — возвращает наибольшие элементы по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно). Например, mах(А,[ ],1) возвращает максимальные элементы каждого столбца матрицы А.
-[C,I] =max(A) — кроме максимальных значений возвращает вектор индексов I этих элементов.
>> a=[2 5 7;3 9 6;8 5 4]
[C,I] =max(a)
a =
2 5 7
3 9 6
8 5 4
C =
8 9 7
I =
3 2 1
-min(A) — возвращает минимальный элемент, если А — вектор; или возвращает вектор-строку, содержащую минимальные элементы каждого столбца, если А — матрица.
|
|
-min(A,B) — возвращает массив того же размера, что А и В, каждый элемент которого есть минимальный из соответствующих элементов этих массивов.
-min(A,[ ],dim) — возвращает наименьший элемент по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).
-[C,I] = min(A) — кроме минимальных значений возвращает вектор индексов этих элементов.
-mean (А) — возвращает арифметическое среднее значение элементов массива, если А — вектор; или возвращает вектор-строку, содержащую средние значения элементов каждого столбца, если А — матрица.
-mean(A,dim) — возвращает среднее значение элементов по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).
>>A=[5 9 2; 8 4 7; 12 4 1]
S=mean(A)
A =
5 9 2
8 4 7
12 4 1
S =
8.3333 5.6667 3.33338
-median (A) — возвращает медиану, если А — вектор; или вектор-строку медиан для каждого столбца, если А — матрица.
- median(A,dim) — возвращает значения медиан для столбцов или строк матрицы в зависимости от значения скаляра dim.
Пример:
>> a=[5 9 2; 8 4 7; 12 4 1]
Me=median(a)
Me=median(a,2)
a =
5 9 2
8 4 7
12 4 1
Me =
8 4 2
Me =
5
7
4
-std(X) — возвращает стандартное отклонение элементов массива, если X — вектор. Если X — матрица, то std(X) возвращает вектор-строку, содержащую стандартное отклонение элементов каждого столбца (обратите внимание, что оно отличается от среднеквадратического отклонения).
-std(X.flag) — возвращает то же значение, что и std(X), если flag=0; если flag=l, функция std(X.l) возвращает среднеквадратическое отклонение (квадратный корень из несмещенной дисперсии).
|
|
-std(X.flag.dim) — возвращает стандартное или среднеквадратическое отклонения по рядам (dim=2) или по столбцам(dim=1) матрицы X в зависимости от значения переменной dim.
>> a=[5 9 2; 8 4 7; 12 4 1]
SO= std(a)
a =
5 9 2
8 4 7
12 4 1
SO =
3.5119 2.8868 3.2146
- sort (А) — в случае одномерного массива А сортирует и возвращает элементы по возрастанию их значений; в случае двумерного массива происходит сортировка и возврат элементов каждого столбца. Допустимы вещественные, комплексные и строковые элементы. Если А принимает комплексные значения, то элементы сначала сортируются по абсолютному значению, а затем, если абсолютные значения равны, по аргументу. Если А включает NaN-элементы, sort помещает их в конец.
-[В, INDEX] = sort(A) — наряду с отсортированным массивом возвращает массив индексов INDEX. Он имеет размер size(A), с помощью этого массива можно восстановить структуру исходного массива.
>> A=magic(4)
[B,INDEX]=sort(A)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B =
4 2 3 1
5 7 6 8
9 11 10 12
16 14 15 13
INDEX =
4 1 1 4
2 3 3 2
3 2 2 3
1 4 4 1
-sort(A,dim) — для матриц сортирует элементы по столбцам (dim=l) или по рядам в зависимости от значения переменной dim.
-sortrows(A) — выполняет сортировку рядов массива А по возрастанию и возвращает отсортированный массив, который может быть или матрицей, или вектором-столбцом.
-sortrows(A,column) — возвращает матрицу, отсортированную по столбцам, точно указанным в векторе column. Например, sortrows(A,[2 3]) сортирует строки матрицы А сначала по второму столбцу, и затем, если его элементы равны, по третьему.
-[В, index] = sortrows (А) — также возвращает вектор индексов index. Если А — вектор-столбец, то B=A(index). Если А — матрица размера m*n, то B=A(index.:).
-cplxpair(A.[],dim) — сортирует матрицу А по строкам или по столбцам в зависимости от значения параметра dim.
Выполнение работы
Вне зависимости от варианта необходимо рассчитать и дать словесную оценку мерам центральной тенденции и мерам разброса!!!
1. Дан массив целых чисел X=(x1,x2,...,xn). Сформировать массив Y=(y1,y2,...,ym), поместив в него в порядке убывания все различные (неповторяющиеся) числа, входящие в массив X. Определить, насколько отличаются средние арифметические значения элементов массивов X и Y.
2. Массив Х=(x1,x2,...,xn) содержит большое количество нулевых элементов. Определить положение и размер наиболее длинной серии таких элементов и удалить ее из состава массива.
3. Заданы два массива X=(x1,x2,...,xn) и Y = (y1,y2,...,ym), в состав которых входят натуральные числа, причем в каждом из этих массивов нет повторяющихся элементов. Сформировать массив Z, включив в него все элементы, которые одновременно содержатся в массиве X и массиве Y.
4. Задан целочисленный массив X=(x1,x2,...,xn), в котором могут быть одинаковые числа. Найти максимальный и минимальный элементы среди неповторяющихся чисел и обменять их местами. Учесть частный случай, когда в массиве нет неповторяющихся чисел.
5. Из массива целых положительных чисел X=(x1,x2,...,xn) удалить все четные по значению элементы, кроме последнего, после чего оставшиеся числа расположить в порядке возрастания. Учесть частные случаи (в массиве нет четных элементов, имеется только один четный элемент, все элементы — четные). Буферный массив не использовать.
6. Задан целочисленный массив X = (x1,x2,...,xn). Если в этом массиве имеются пары одинаковых, но противоположных по знаку элементов, то обменять их местами при условии, что в массиве больше нет равных им элементов. Например, в массиве (1 8 14 12 -8 -7 6 8 -14 -7 12 4) нужно обменять местами элементы 14 и -14.
7. В массиве X=(x1,x2,...,xn) переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д. Если количество отрицательных элементов в массиве меньше двух, преобразование массива не производить. Определить, как изменилось положение минимального и максимального элементов массива Х при его преобразовании.
|
|
8. Найти максимальное и минимальное из чисел, встречающихся в целочисленном массиве X=(x1,x2,...,xn) более одного раза, и обменять их местами. Просмотр массива X выполнять только один раз.
9. Определить наибольший общий делитель всех чисел, содержащихся в заданной последовательности целых положительных чисел.
10. Элементы массива X = (x1,x2,...,xn) — это последовательность цифр целого числа, записанного в системе счисления с основанием q, 1 < q <= 10, 0 <= x[i] < q. Переставить цифры числа в обратном порядке и отпечатать десятичное значение этого числа до и после перестановки. Значение q — входной параметр функции.
11. Известно, что в целочисленном массиве X=(x1,x2,...,xn) три и только три числа равны между собой. Найти эти числа и переместить их в начало массива, сдвинув остальные числа к концу этого массива.
12. За однократный просмотр массива найти его максимальный положительный элемент Xmax и определить среднее арифметическое значение всех элементов массива, за исключением элементов, равных Xmax. Указание. В программе должны быть учтены частные случаи, в том числе
- в массиве нет положительных элементов;
- все элементы массива положительны и равны друг другу.
13. В целочисленном массиве X=(x1,x2,...,xn) каждую пару x[i] и x[j] (i,j=1,...,n, i<>j) нечетных элементов преобразовать в четные элементы по формулам: x[i]:=x[i]+1, x[j]:=x[j]-1. Пары элементов i,j выбирать в порядке их следования в массиве X. Определить, как при этом изменились максимальный и минимальный элементы массива X.
14. В заданном массиве целых чисел X=(x1,x2,...,xn) найти самый длинный подмассив, который является арифметической прогрессией.
15. По заданному целочисленному массиву X=(x1,x2,...,xn) сформировать массив Y=(y1,...,ym) такой, что y[i] — это количество элементов из X, не превосходящих x[i] на конечном отрезке X от элемента i+1 до элемента n.