Эколаб11 (Лабы и инфа какая-то)
Описание файла
Файл "Эколаб11" внутри архива находится в папке "Лабы и инфа какая-то". Документ из архива "Лабы и инфа какая-то", который расположен в категории "". Всё это находится в предмете "экология" из 5 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "экология" в общих файлах.
Онлайн просмотр документа "Эколаб11"
Текст из документа "Эколаб11"
Московский авиационный институт
(государственный технический университет)
Кафедра № 301
КРАТКОЕ ВВЕДЕНИЕ В МАТЛАБ
Лабораторная работа № 1 по курсу «Экология»
для студентов 1 курса факультета №3
Составитель - проф., д.т.н. С.И.Рыбников
Утверждено на заседании кафедры №301
«_____»_______________2004 г.
МОСКВА, 2004
1.Назначение лабораторной работы, основные решаемые задачи
Назначение лабораторной работы - быстро освоить элементарные вычисления на компьютере в системе МАТЛАБ, подготовившись тем самым как к лабораторной работе №2, так и к применению компьютера в других учебных дисциплинах.
Изучаются и практически осваиваются следующие вопросы:
состав системы, виды файлов, работа с ними, состав справочного аппарата, его использование при первоначальном освоении системы,
основные команды системы,
операции над числами и их алгебраическими функциями, знакомство со встроенным в МАТЛАБ пакетом элементарных функций,
ввод матриц и элементарные операции над ними, решение системы линейных алгебраических уравнений,
ввод аргументов для расчета функций, расчет элементарных функций и их комбинаций вида функций от функций,
построение двумерных и трехмерных графиков функций с использованием различных технологий и изобразительных средств, предоставляемых МАТЛАБ пользователю,
решение нелинейных алгебраических уравнений и их систем,
интегрирование функций,
понятие и интегрирование простейших дифференциальных уравнений.
МАТЛАБ – мощная и многоплановая вычислительная система, совместимая с несколькими другими системами, со многими функциями, к пониманию которых первокурсники не готовы, и не может быть и речи о ее сколько-нибудь полном освоении в результате вводной лабораторной работы. Здесь для многих первокурсников дается старт профессионального использования компьютера, показывается, что компьютер, известный им лишь как игровой автомат, – это вычислительная машина, а ее применение в учебе экономит массу времени и сил. Последнее, повышая экологичность обучения, согласуется с целями курса «Экология».
В качестве основного метода освоения элементов МАТЛАБА выбрано следование простым примерам, по мере разбора которых пополняется ресурс освоенных пользователем команд. В каждом элементарном разделе работы с использованием выбранных составителем элементарных функций решается задача – прототип, и каждому из студентов предлагается, во-первых, разобрать и, возможно, повторить прототип, во-вторых, выбрать самому другую функцию (для каждого свою, без списывания у однокурсников) и решить ту же задачу, включив ее и ее решение в свой отчет. Проработав задачку с помощью описания лабораторной работы, тут же поставь и реши аналогичную свою задачку. Это и есть основное задание на работу.
При подведении итогов работы поддерживается инициатива по постановке и решению задач, не вошедших в число прототипов. Ставь задачи из других учебных курсов.
Для тех, кто всерьез осознает полезность системы для будущей учебы и работы, весьма полезно проработать хотя бы первые главы какого-либо из многочисленных изданных учебных курсов и пользовательских руководств, одно из которых содержится в системе. Основная структура и набор функций МАТЛАБа достаточно хорошо изучаются с помощью пользовательского меню и встроенного справочного аппарата, вызываемого командой help или той же командой с добавлением названия функции или программы, вызывающей вопросы.
Файлы МАТЛАБа имеют расширения, связанные с их назначением: с расширениями .exe или .bat – исполняемые командные файлы, с расширением .m – файлы - функции, начинающиеся со слова “function”, и файлы – сценарии решения частных задач. Запись сеанса («сессии») работы пользователя- студента содержится в файле с расширением .mat, который в учебной лаборатории сохраняется по адресу: D:\students\курс\группа\фамилия исполнителя. Студенческое творчество в учебной лаборатории должно ограничиваться созданием этих собственных файлов, изменять что-либо в других файлах не разрешается.
Используемые в работе файлы принадлежат к базовой части системы или ее стандартным расширениям TOOLBOX и, в меньшей мере, Symbolic Math. В дальнейшем студентам могут потребоваться почти все многочисленные расширения системы, поэтому, приобретая руководства пользователя, следите за их достаточной широтой охвата системы.
2.Операции над числами и их элементарными функциями
Щелкнув дважды по строке или значку с МАТЛАБОМ, вы открываете его окно с рабочей областью и меню. Конечно, с помощью меню и команд входа в справочный аппарат познакомьтесь с возможностями системы.
А вместе мы, воспользовавшись курсором – приглашением к работе, займемся примерами.
Здесь используются знаки арифметических операций: + , -, звездочка умножения *, дробная черта прямого и обратного деления, соответственно, / и \ , знак возведения в степень ^, корень квадратный sqrt, скобки:
>>3*5 (ввод)
ans =
15
>>3/5 (ввод)
ans =
0.6000
>>3\5 (ввод)
ans =
1.6667
>>3^5 (ввод)
ans =
243
>> sqrt(35) (ввод)
ans =
5.9161
>> sin(pi/7)*pi (ввод)
ans =
1.3631
>> 1/(3-4+1) (ввод)
Warning: Divide by zero.
ans =
Inf
>> 1/(cos(pi/2)) (ввод)
ans =
1.6331e+016
>> sqrt(-2) (ввод)
ans =
0 + 1.4142i
Как видно из примеров, применяются десятичная точка, радианная мера углов, по умолчанию – нормализованная форма чисел с четырьмя знаками после десятичной точки, с использованием характеристики числа для указания его порядка, пресекаются явные попытки деления на ноль, но проходят неявные, скрытые приближенными значениями чисел, есть комплексные числа. Больше в примерах «ввод» указывать не будем.
Команда help elfun позволяет увидеть список элементарных функций и их обозначений. В частности, тригонометрические функции здесь: прямые - sin, cos, tan, cot, sec, csc, гиперболические – sinh, cosh, tanh, coth, sech, csch, обратные им – asin, acos, atan, atan2 (для четырех квадрантов), acot, asec, acsc, asinh, acosh, atanh, acoth, asech, acsch; логарифмы: log – натуральный, log2 –двоичный, log10 –десятичный. Наберите help и название функции – получите справку о ее формате и значении. Например, help abs сообщит вам, что ABS(X) – абсолютная величина X, для комплексного числа – модуль или магнитуда.
При записи сложных алгебраических и арифметических выражений важно не запутаться в скобках, каждой открывающейся скобке удобно тут же сопоставить закрывающуюся и между ними набирать их содержимое. Например,
>> (3.2+.8*(2\6-3.25))*(15.2*0.25-48.51/14.7)/((13/44-2/11-(5/66)/(5/2))*6/5)
ans =
15
3. Ввод матриц и элементарные операции над ними, решение системы линейных алгебраических уравнений
Примеры ввода матриц, строки, столбца, квадратной матрицы, транспонирования матриц:
>> A=[21 34 57]
A =
21 34 57
>> a=A';
>> a=[21 34 57]'
a =
21
34
57
>> B=[21 34 57; 98 59 46; 67 90 34]
B =
21 34 57
98 59 46
67 90 34
>> b=B';
>> b=[21 34 57; 98 59 46; 67 90 34]'
b =
21 98 67
34 59 90
57 46 34
Вычисление определителя
>> det(B)
ans =
224105
Обращение матрицы, естественно, квадратной:
>> d=B^(-1);
>> d=[21 34 57; 98 59 46; 67 90 34]^(-1)
d =
-0.0095 0.0177 -0.0080
-0.0011 -0.0139 0.0206
0.0217 0.0017 -0.0093
С использованием приведенных матриц определим решение линейного матричного уравнения B*X=a как X=B^(-1)*a=d*a:
>> X=d*a
X =
-0.0546
0.6806
-0.0174
Отметим, что наряду с операциями линейной алгебры, над матрицами производятся поэлементные операции, т.е. действия с элементами различных матриц, имеющих одинаковые номера.
Для матриц a и b, где
>> a=[1,3,5;0,9,7;6,2,2])
a =
1 3 5
0 9 7
6 2 2,
(вместо пробелов применимы запятые
>> b=[7,8,4;4,9,3;1,3,2]
b =
7 8 4
4 9 3
1 3 2,
матричное произведение
>> a*b
ans =
24 50 23
43 102 41
52 72 34,
поэлементное произведение, команда на вычисление которого отмечена точкой перед звездочкой,
>> a.*b
ans =
7 24 20
0 81 21
6 6 4
Обратите внимание на то, что матричное и поэлементное произведения матриц – это совершенно различные матрицы.
Некоторые другие примеры поэлементных операций над матрицами одной и той же размерности:
>> [1 3 2].*[7 5 4]
ans =
7 15 8
>> [1 3 2]./[7 5 4]
ans =
0.1429 0.6000 0.5000
>> [1 3 2].\[7 5 4]
ans =
7.0000 1.6667 2.0000
>> [1 3 2].^[7 5 4]
ans =
1 243 16
Интересной матрицей, рассматриваемой в МАТЛАБе, является магический квадрат, суммы членов которого, стоящих на всех диагоналях, во всех строках и всех столбцах, одинаковы. Его примеры:
>> magic(3)
ans =
8 1 6
3 5 7
4 9 2,
>> magic(4)
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
4. Функции и графики
Рассматривается ввод аргументов для расчета функций, расчет элементарных функций и их комбинаций вида функций от функций, построение двумерных и трехмерных графиков функций с использованием различных технологий и изобразительных средств, предоставляемых МАТЛАБ пользователю.
Сначала рассмотрим функции одного аргумента x. Используем двоеточие – знак перечисления и зададим значения аргумента на выбранном промежутке с выбранным шагом. Подавим печать матрицы значений, поставив в конце команды точку с запятой. Если не указать шаг вычислений, то по умолчанию он будет выбран единичным. Если не подавить печать значений аргумента, то на экране монитора появится длинная матрица этих значений. Для построения графика используем команду plot.
Приведем и обсудим пример – построение синусоиды на 0≤x≤10.
>> x=0:10
x =
0 1 2 3 4 5 6 7 8 9 10
>> plot(x,sin(x))
В окне, вызываемом в меню Window командой Fig.1, получим график:
Сгенерировали сначала совершенно не нужную нам последовательность целых чисел от 0 до 10, затем кусочно-ломаную кривую, отдаленно напоминающую синусоиду.
Исправим ошибки. Единичный шаг вычислений заменим достаточно малым, выберем 0.01, печать получающейся при этом матрицы-строки из 10001 элемента подавим точкой с запятой. Командой grid нанесем на график сетку. Войдя в меню Insert, получим возможность озаглавить график и сделать надписи на осях. Получим аккуратную синусоиду.
x=0:.01:10;
plot(x,sin(x)),grid
Построим синусоиду в полярных координатах, используя команду polar:
>> x=0:.01*pi:2*pi;
>> polar(x,sin(x))
Построим на одном и том же графике пару кривых, например, синусоиду и косинусоиду для двух их периодов.
>> x=-2*pi:.01*pi:2*pi;
>> y=sin(x);
>> z=cos(x);
>> plot(x,sin(x),x,cos(x)),grid
Теперь построим для промежутка 2pi два семейства из пяти синусоид каждое, различающихся в первом случае амплитудой, во втором – частотой. Для этого в команды встроим матрицы-столбцы (транспонированные матрицы-строки) множителей, в первом случае – амплитуд, во втором – частот.
x=0:.01*pi:2*pi;
>> y=[1:5]'*sin(x);
>> plot(x,y),grid
>> x=0:.01*pi:2*pi;
>> y=sin([1:5]'*x);
>> plot(x,y),grid
Номера кривых на графиках соответствуют номерам цветов радуги в обычном перечне: 1 – красный и т.д.
Обратим внимание на возможность рассчитывать и отображать на графиках сложные функции вида функций от комбинаций элементарных. Пример – log2|cos(x^2)|:
x=.4:.01:2.5;
>> y=-log2(abs(cos(x.^2)));
>> plot(x,y),grid
Построение графика сложной функции в полярных координатах:
>> x=0:.01*pi:2*pi;
>> polar(x,abs(sin(3*x)))