Студопедия

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

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

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






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






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

    Ввод массива

    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 :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.