Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKTsIYa_4_Primery_lab_rab_5 .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
73.73 Кб
Скачать

Лекция 4

1. Элементы программирования в среде MATLAB

1.9. Некоторые примеры выполнения типовых заданий на одномерные массивы.

1. Даны массивы A(m) и B(m). Сформировать массив C по правилу:

C1 = Bm + A1

C2 = Bm-1 + A2

..............

Cm = B1 + Am

Найти сумму S элементов массива C . Вывести на печать массивы A, B, C и полученную сумму S.

Пример М-файла

a=input('ввести элементы массива а: ')

b=input('ввести элементы массива b: ')

c=a+fliplr(b)

fprintf('\n summa_c=%8.2f \n',sum(c))

Пример счета

ввести элементы массива а: [1 2 3 4 5]

a =

1 2 3 4 5

ввести элементы массива b: [6 7 8 9 10]

b =

6 7 8 9 10

c =

11 11 11 11 11

summa_c= 55.00

Примечания

1.) При вводе элементы массивов (здесь a и b) помещаются в квадратные скобки, например

ввести элементы массива а: [1 2 3 4 5]

ввести элементы массива b: [6 7 8 9 10]

2.) Обращение к стандартной функции fliplr(b) производит перестановку элементов массива b в обратном порядке: 10 9 8 7 6

3.) Обращение к стандартной функции sum(c) производит суммирование элементов массива c

2. Дан массив C(m). Вывести на печать номера тех элементов массива, которые меньше последнего, и их число, а также вывести на печать элементы массива C.

Пример М-файла

c=input('ввести элементы массива c: ')

t=c(1:end-1)<c(end);

k=sum(t);

[t1,ind]=sort(1-t);

fprintf('\n номера элементов массива С: C(i)<C(end)\n'), fprintf(' %d',ind(1:k))

fprintf('\n число элементов массива С: C(i)<C(end) =%d \n',k)

Пример счета

ввести элементы массива c: [-4 4 -3 3 0 -2 2 -1 1]

c =

-4 4 -3 3 0 -2 2 -1 1

номера элементов массива С: C(i)<C(end)

1 3 5 6 8

число элементов массива С: C(i)<C(end) =5

Примечания

1) В выражении c(end) индекс end определяет последний элемент массива c .

2) Оператор t=c(1:end-1)<c(end) формирует массив t по правилу: t(i)=1, если условие c(i)<c(end) выполняется, и t(i)=0, если условие c(i)<c(end) не выполняется.

3.) Оператор [t1,ind]=sort(1-t) формирует массив t1 из элементов массива 1-t путем их сортировки по возрастанию (т.е. первые элементы, соответствующие условию c(i)<c(end), – 0, остальные – 1), а в массиве ind помещаются их номера, соответствующие их расположению в массиве 1-t , например:

t=1 0 0 1

1-t=0 1 1 0

t1=0 0 1 1

ind =1 4 2 3

3. Дан массив A(m). Переписать элементы массива в обратном порядке и найти их сумму. Вывести на печать старый массив, новый массив и полученную сумму.

Пример М-файла

a=input('ввести элементы массива а: ')

a1=fliplr(a)

fprintf('\n summa a=%8.2f \n',sum(a))

Пример счета

ввести элементы массива а: [1 2 3 4 5]

a =

1 2 3 4 5

a1 =

5 4 3 2 1

summa a= 15.00

4. Дан массив A(m). Найти сумму и количество положительных элементов ( >0), а также произведение и количество отрицательных элементов (<0 ). Вывести на печать полученные величины и массив A.

Пример М-файла

a=input('ввести элементы массива а: ')

tp=a>0;

tz=a==0;

tm=a<0;

fprintf('\n кол-во a(i)>0: %d',sum(tp))

fprintf('\n сумма a(i)>0: %8.2f',sum(tp.*a))

fprintf('\n кол-во a(i)=0: %d',sum(tz))

fprintf('\n кол-во a(i)<0: %d\n',sum(tm))

if sum(tm)>0

fprintf('\n произведение a(i)<0: %8.2f \n',prod(tm.*a+tp+tz))

end

Пример счета

ввести элементы массива а: [-5 4 -3 2 -1 0 1 -2 0]

a =

-5 4 -3 2 -1 0 1 -2 0

кол-во a(i)>0: 3

сумма a(i)>0: 7.00

кол-во a(i)=0: 2

кол-во a(i)<0: 4

произведение a(i)<0: 30.00

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]