Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Одномерные массивы






Например, ввод и вывод массива можно организовать так:

Ввод массива

n=input('введите n=');

for i=1: n

X(i)=input('X(i)=');

end

На экране увидим:

Жирным шрифтом выделено, то, что будет выведено на экран, а курсивом – введенные значения.

введите n= 3

X(i)= 1

X(i)= 2

X(i)= 3

Вывод массива

Используем для вывода массива цикл. Запишем:

for i=1: n

disp(X(i));

end

Получили на экране при таком выводе:

Некрасиво! Так массив не надо выводить, ввод тоже неинформативен, не пронумерованы элементы.

При работе с массивами в одном сеансе работы в системе Matlab рекомендуется очищать рабочее пространство командой clear, а для удобства пользователя очищать окно Command Window командой clc.

Вывод массива в ML удобно осуществлять командой disp(< имя массива>). В этом случае массив выводится поэлементно в строку.

Используем другой вариант для ввода вывода массива:

Clear; %очистка рабочего пространства

clс; % очистка окна Command Window

n=input('введите n=');

for i=1: n

disp(sprintf('X(%g)=', i))

X(i)= input(' ');

end

disp('Массив X')

disp(X) % вывод массива целиком

На экране увидим:

введите n=3

X(1)=

X(2)=

X(3)=

Массив X

2 5 8

Еще лучше для ввода массива:

n=input('введите n=');

for i=1: n

X(i)=input(sprintf('X(%d)=%f', i));

end

На экране будет:

введите n=3

X(1)=1

X(2)=2

X(3)=3

Такой ввод и вывод массива более нагляден.

Пока мы не знаем операций и функций ML для работы с массивами и матрицами, обработку массивов будем осуществлять в цикле.

Блок-схемы задач на массивы рассмотрены на лекциях в прошлом семестре.

Пример

Вычислить среднее арифметическое значение положительных элементов в массиве.

clc;

n=input('Введите n=');

for i=1: n

X(i)=input(sprintf('X(%d)=%f', i));

end

s=0;

k=0;

for i=1: n

if X(i)> 0

s=s+X(i);

k=k+1;

end

end

sr=s/k;

disp(‘sr=’);

disp(sr);

На экране увидим:

Введите n=3

X(1)=

X(2)=

-1

X(3)=

sr=

3.5000

Пример

В массиве X заменить минимальное значение числом b.

Запишем:

%заменить мин в массиве на число b

clear;

clc;

n=input('Введите n = ');

b=input('Введите b = ');

for i=1: n

X(i)=input('X(i)=');

end

disp('Исходный массив');

disp(X);

min=X(1);

pmin=1;

for i=2: n

if X(i)< min

min=X(i);

pmin=i;

end

end

X(pmin)=b;

disp('Измененный массив');

disp(X);

Получим на экране:

Введите n = 4

Введите b = 55

X(i)=1

X(i)=4

X(i)=0.7

X(i)=5

Исходный массив

1.0000 4.0000 0.7000 5.0000

Измененный массив

1 4 55 5

Пример

Сформировать новый массив из элементов кратных 5

clc;

clear;

n=input('Введите n=');

for i=1: n

disp(sprintf('X(%g)=', i))

X(i)= input('');

end

disp('Исходный массив');

disp(X);

k=0;

for i=1: n

if mod(X(i), 5)==0

k=k+1;

Y(k)=X(i);

end

end

disp('Новый массив');

disp(Y);

Получим на экране:

Введите n=5

X(1)=

X(2)=

X(3)=

X(4)=

X(5)=

Исходный массив

2 55 6 45 15

Новый массив

55 45 15






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.