Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Одномерные массивы
Например, ввод и вывод массива можно организовать так: Ввод массива 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
|