Главная » Все файлы » Просмотр файлов из архивов » Документы » Лабораторная работа № 3 - “Массивы и графики в среде MATLAB”

Лабораторная работа № 3 - “Массивы и графики в среде MATLAB” (Лабораторная работа № 3 - Массивы и графики в среде MATLAB)

2021-04-06СтудИзба

Описание файла

Документ из архива "Лабораторная работа № 3 - Массивы и графики в среде MATLAB", который расположен в категории "". Всё это находится в предмете "информатика" из 3 семестр, которые можно найти в файловом архиве НГТУ. Не смотря на прямую связь этого архива с НГТУ, его также можно найти и в других разделах. .

Онлайн просмотр документа "Лабораторная работа № 3 - “Массивы и графики в среде MATLAB”"

Текст из документа "Лабораторная работа № 3 - “Массивы и графики в среде MATLAB”"

Лабораторная работа № 3.

Массивы и графики в среде MATLAB”.

1.Создать дневник сеанса работы в MatLab с помощью команды

diary C:\labrab_3.txt.

А. Ввод и редактирование массивов.

2.Создать в командном окне Matlab [Л. №2, с.6] :

2.1. вектор-строку и матрицу 3х3, используя конкатенацию.

2.2. вектор-строку, задавая начальное значение, шаг изменения и конечное значение элементов вектора, применяя знак “двоеточие”.

2.3. вектор-столбец с элементами, представленными арифметическими выражениями [Л. №1, с.8].

2.4. вектор-столбец из вектора строки путем транспонирования [Л. №2, с.10].

2.5. матрицу небольшого размера из командной строки с использованием клавиши “Enter” вместо знака “;” [Л. №2, с.7].

2.6. матрицу размером 2х4, состоящую из одних нулей с помощью функции zeros (см. генерирование элементов матрицы [л.3.1, с.8]). Присвоить любым двум элементам матрицы значения, отличающиеся от 0. Вызвать фрагменты записанной матрицы, содержащие измененные элементы, по следующим обращениям к ее частям: имя_матрицы(1:2,3) и имя_матрицы(1:2,3:4). Пояснить такую форму записи.

ПРИМЕЧАНИЕ: смотрите по команде “>>help elmat” в командной строке информацию о функциях, используемых для создания массивов.

3. Отредактировать одну из созданных выше матриц (она должна иметь имя) с помощью редактора массивов Array Editor, который можно вызвать двойным щелчком (2ЛКМ) на строке с именем переменной в окне Workspace. В отдельные клетки появившейся таблицы вводятся числа, выражения, переменные или функции [Л. №2, с.7].

4. Создать в командной строке пустой массив M=[] и заполнить его с помощью редактора массивов Array Editor. Выяснить, как добавить или удалить строку или столбец в создаваемом массиве.

5. Выполнить команды who и whos и пояснить полученные результаты [л.1, с.6]. Сравнить результаты с данными в окне Workspace. Сохранить содержимое рабочего пространства [л.1, с.5] командами меню File” - “Save Workspace As…” и запомнить, какое расширение будет присвоено созданному файлу. Обратить внимание на дуальность записи команды загрузки данных в рабочее пространство [л.1, с.7, 8].

ВОПРОСЫ: А1. Что такое вектор, матрица и массив? Как задается имя массива и как обратиться к элементу вектора и матрицы?

А2. Что такое конкатенация; зачем и как она применяется в Matlab? Каким образом разделяются элементы массива при его записи в Matlab?

А3. Как записать значения переменной в заданном диапазоне с известным шагом изменения значений? Можно ли при записи индексов элементов матрицы обращаться к группе элементов строки и/или столбца? Как записать в индексах “все элементы строки и/или столбца”?

А4.Как обратиться с помощью индекса к группе элементов вектора, размещенных в массиве последовательно? Как «растянуть» матрицу в единый вектор-столбец ? [л.3.1, с.11] Что такое транспонирование матрицы и как оно выполняется в Matlab? Как ввести матрицу небольшого размера из командной строки без использования знака “;” ?

А5. Как создать новую переменную в окне Workspace? Как задать или отредактировать ее значения, если переменная является массивом, используя контекстное меню этого окна? Как заполнить пустой массив, созданный в командной строке, с помощью редактора массивов Array Editor?

А6. Как можно “генерировать” массивы, состоящие из одних нулей или единиц? Можно ли получить эффект при использовании этого метода для создания векторов или матриц, в которых не все элементы являются нулями или единицами? Что такое зона просмотра и зона редактирования текстового поля окна “Command Window” ? Как отредактировать в командной строке значения элементов массивов, размещенных в зоне просмотра?

А7. Что такое рабочее пространство? Что позволяют увидеть команды who и whos? Какое расширение присваивается файлу при сохранении содержимого рабочего пространства? Что содержится в рабочем пространстве? Что такое дуальность записи команд?

Б. Работа с выражениями в MATLAB.

6. Выполнить произвольные арифметические операции с целыми числами, а также с числами, имеющими дробную десятичную часть и, так называемую, “научную систему” записи. Научная форма записи еще называется экспоненциальным видом представления числа; эта форма использует мантиссу, букву “е” и показатель степени (например, 2.8510e3, где е – основание степени равное 10; показатель степени может быть отрицательным числом) [Л. 1, с. 5,8].

7. Выполнить 3 способами возврат в командную строку ранее введенных выражений [л.2, с.3] : с помощью клавиш “↑” и “↓”; копированием из зоны просмотра; вставкой из окна Command History. Обратить внимание, что 2ЛКМ на какой – либо команде в этом окне равнозначно вводу данной команды в командную строку с последующим нажатием клавиши <Enter>.

8. Выполнить ввод форматов и запомнить форму вывода результатов и количество знаков после десятичной точки в числах, выведенных с использованием следующих форматов: format long, format short, format short e, format bank [Л. 1, с.10]. Для этого после ввода в командную строку формата вернуть одно или несколько ранее введенных выражений (см. п.5), выполнить их и обратить внимание на произошедшие изменения. Ознакомиться с тем, что введенная функция format без параметров восстанавливает используемое по умолчанию состояние format short. Определить, что выполняют форматы compact и loose (широкий) [Л. 1, с. 12].

9. Ознакомиться в Help (или в лекции 3.1, с.8) с назначением функции rand и с особенностями применения встроенных функций в Matlab [Л. 2, с.1]. Записать выражение N=fix(10*rand(1,10)), вывести на экран значения N и пояснить полученный результат.

10. Прочитать текст команд, изображенный на рисунке в лекции 2 на стр. 5, и понять, как в Matlab можно выявить семантические (смысловые) ошибки, допущенные при написании выражения. Обратить внимание, что функция pretty выводит в командное окно символьное выражение в виде, близком к принятому в математике написанию формул.

ВОПРОСЫ: Б1. В каком случае результату вычислений присваивается имя ans ? Можно ли в одну строку ввести несколько выражений и/или команд? Как предотвратить вывод результата исполнения выражения на экран?

Б2. Какие знаете способы возврата в командную строку ранее введенных выражений? Можно ли редактировать в командной строке? Есть ли возможность исполнить команду, сохраненную в окне Command History, без предварительного копирования ее в зону редактирования? Как скопировать последовательность команд из этого окна в командную строку?

Б3. Какие знаете форматы вывода результатов вычислений? Как записывается команда о формате и каков диапазон ее действия? Как вернуть формат задаваемый “по умолчанию” и какое имя имеет функция формата, устраняющая при выводе результата вычислений лишние пустые строки?

Б4. Пояснить, приведенное в п.7 выражение с функциями fix и rand.

Б5. Пояснить, иллюстрацией решения какой задачи являются выражения, приведенные на рисунке в лекции 2 на стр. 5. Прокомментировать все строчки записей.

В. Преобразования и параметры массивов.

11. Выполнить операции горизонтального и вертикального “сцепления” матриц или векторов из массивов, выполненных в предыдущих пунктах лабораторной работы и пригодных для этих операций [Л. 3.1, с.11]. Создать новый массив на основе существующего, выделив из него часть (блок) с меньшим числом строк и/или столбцов [Л. 3.1, с.10]. Выполнить удаление строки или столбца матрицы, используя пустые квадратные скобки [ ]. См. [Л. 3.1, с.11]. Изменить размер матрицы с помощью функции reshape(имя_матрицы, число_строк, число_столбцов). Учесть, что число элементов в новой и старой матрицах должно быть одинаковым.

12. Записать скаляр, вектор и двумерный массив. Вычислить для них функции size и ndims и пояснить результат [Л.2, с. 8].

13. Выполнить умножение квадратных матриц и матрицы на скаляр двумя способами: с помощью знака умножения “*” и - сочетания этого знака с точкой ”.*” [л.3.1, с.2, 3]. Пояснить результаты и, что означают эти способы умножения.

14. Записать матрицы A=[1 1 1; 2 2 2; 3 3 3] и B=[0 0 0; 7 7 7; 1 2 3]. Получить результат для операции отношения А<=B и пояснить его [л.3.1, с.18]. При необходимости и имеющейся возможности смотрите справку по логическим операциям с помощью команды doc ops .

15. Создать вектор с использованием векторной индексаци (т.е. применения вектора в качестве индекса) на основе ранее созданного вектора [Л.3.1, с.1]. Для этого записать вектор v=[3;4], матрицу I=[1 1; 2 2; 2 2; 1 1] и получить связанную с ними матрицу A=v(I). Такая процедура является вариантом множественной индексации. Пояснить полученный результат и сформулировать требование к значениям элементов матрицы I.

ВОПРОСЫ: В1. Какие должны выполняться условия для горизонтального и вертикального “сцепления” матриц или векторов? Как получить новый массив с меньшими размерами из существующего массива ? Что можно удалить, используя символы изображения пустого массива (пустые квадратные скобки [ ]): один элемент массива, строку или столбец полностью (рассмотреть применительно к вектору и матрице)?

В2. Есть ли в Matlab функция, позволяющая изменить число строк и столбцов при сохранении числа элементов массива? Пояснить, какие размер и размерность имеют в Matlab скаляр, вектор и двумерный массив.

В3. Что означают в Matlab арифметические знаки с точкой (.* , ./ , …)

и без точки? Нужно ли при сравнении двух массивов с помощью операторов отношения иметь одинаковый размер массивов? Какой размер будет иметь результирующий массив и что он будет содержать?

В4. Что такое векторная индексация (индексация вектором)? Какому требованию должны удовлетворять значения элементов вектора, который используется в качестве индекса? Какие знаете записи индексов элементов векторов и матриц, если не используется для этого вектор?

Г. Построение графиков в MATLAB.

16. Задать вектор Y, состоящий из 5-7 элементов, и получить кусочно-линейную зависимость его элементов от их индексов по функции plot(Y) [Л. 3.2, с. 1,2]. Задать t=1:10, a=t+t.^2*i, построить график plot(a) и обратить внимание, на каких осях откладываются действительные и мнимые части комплексного числа [Л.1, с.12; л. 4.1, с. 6] при построении графика.

17. Задать изменения аргумента t в интервале от 0 до 2 с шагом 0.1 и получить графическую зависимость y=sin(t) по функциям plot(y) и plot(t,y) [Л. 3.2, с. 2,3]. Задать b=10a , где а – комплексное число из п. 14, построить график plot(a,b) и объяснить полученный результат.

18. Задать с помощью функции plot одновременное выполнение на одном графике трех любых математических зависимостей [Л. 3.2, с. 5].

19. Получить с помощью функции plot изображение синусоиды зеленой пунктирной линией со знаками х в расчетных точках. Обеспечить такой интервал между знаками х, чтобы они не задевали друг друга [Л. 4.1, с. 1].

Построить синусоиду красной сплошной линией с черными знаками “о” в расчетных точках.

20. Создать функцией subplot одновременный вывод на экран 4-х подграфиков (создав матрицу рисунков 2х2) и получить на одном графике зависимость cos(x)-1, на другом – sin(x) [Л. 4.1, с. 5]. Не стирать функцию sin(x) и добавить на один с ней график функцию cos(x), т.е. необходимо предварительно выполнить команду hold on [Л. 4.1, с. 5]. Получить на графике cos(x)-1 логарифмический масштаб по оси Y [Л. 4.1, с. 2].

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5258
Авторов
на СтудИзбе
420
Средний доход
с одного платного файла
Обучение Подробнее