Matlab M-Files — Introduction
MATLAB allows you to write a series of commands into a file and execute the file as a complete unit, like writing a function and calling it. It is done using M-file.
M-File also called as the script file is a series of MATLAB commands that will get executed sequentially when the file is executed.
The m-file is saved with .m extension.
Program Files
MATLAB allows writing two kinds of program files, which are as follows −
Scripts
Script files are program files with .m extension. In these files, you write a series of commands, which you want to execute together. Scripts do not accept inputs and do not return any outputs. They operate on data in the workspace.
A script file looks as follows −
Functions
Function files are also program files with .m extension. Functions can accept inputs and return outputs. Internal variables are local to the function.
A function file looks as follows −
Let us understand how to create and run the m-file in the next chapters.
Matlab M-Files — Create & Save
In this chapter, we will learn how to create and save a M-file. Let us begin by understanding about creating a M-file.
Create M-file
To create m-file, we will make use of MATLAB IDE as shown below. Here IDE refers to an integrated development environment.
Click on New Script highlighted above to open a new script file.
Save M-file
You will get an untitled file. Let us save the file as firstmfile.m.
Click on the save button and it will open a popup, where you can enter the name of the file.
Click on OK to save the file.
Now, you are free to write your commands in the file below −
Matlab M-Files — Run
In the previous chapter, we have seen how to create and save a m-file. Now in this chapter, we will write a simple code and run the same.
Following is the code which will run inside the firstmfile.m
a = 5; b = 7; c = a + b d = c + sin(b) e = 5 * d f = exp(-d)
This is how it will look inside MATLAB editor −
Click on the Run button as highlighted above to see the result inside the command window as shown below
Matlab M-Files — Functions
A function is a group of statements that together perform a task. In MATLAB, functions are defined in separate files. The name of the file and name of the function should be thesame.
Functions operate on variables within their own workspace, which is also called the local workspace. These functions separate the variables from the workspace which you access at the MATLAB command prompt. This is called the base workspace.
Functions can accept more than one input arguments and may return more than one output arguments.
The syntax of a function statement is as follows −
function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)
Here out1, out2…outN are output variables. It can be a single variable or comma separated. The variables in1, in2, in3…inN are input variables which can be single variable or comma separated ones. The function in MATLAB starts with the keyword function as shown in the syntax.
While naming your m-file, you should take care that the file name and the function name has to match. You cannot use the name of any built-in function available in MATLAB.
Let us now create a simple function and save it as .m file and run it. In MATLAB, the IDE allows you to select what type of file you want to create as shown below −
Click on the Function, and it will open a new file as shown below −
Now you can update the output variables, the function name and the input variables in the above untitled file and save the file with the same name as the function name.
The name of our function is MaxNumber() and it gives the maximum number from the input value passed.
Now let us run the function to get the output. You can call the function by using MaxNumber(100,50).
Matlab M-Files — Import Data
In this chapter, we will understand how to import data from an existing m-file in MATLAB.
Consider the m-file firstmfile.m. The contents of the file are as follows −
a = 5; b = 7; c = a + b d = c + sin(b) e = 5 * d f = exp(-d)
When you execute the file, the data variables are available in the workspace, as shown below −
Let us clear the workspace and the command prompt. Hence, we can now import the file and also check the data available.
To clear workspace, the command is clear all.
The workspace is empty now.
Let us clean the command window by using clc command as shown below −
We have an empty command window.
Now, type the m-file name as shown below. It will execute the code inside the file
The workspace is loaded with all the variables that are used inside the file.
You can also check the details of the variables by using the whos command as shown below −
Matlab M-Files — Introduction
MATLAB allows you to write a series of commands into a file and execute the file as a complete unit, like writing a function and calling it. It is done using M-file.
M-File also called as the script file is a series of MATLAB commands that will get executed sequentially when the file is executed.
The m-file is saved with .m extension.
Program Files
MATLAB allows writing two kinds of program files, which are as follows −
Scripts
Script files are program files with .m extension. In these files, you write a series of commands, which you want to execute together. Scripts do not accept inputs and do not return any outputs. They operate on data in the workspace.
A script file looks as follows −
Functions
Function files are also program files with .m extension. Functions can accept inputs and return outputs. Internal variables are local to the function.
A function file looks as follows −
Let us understand how to create and run the m-file in the next chapters.
Matlab M-Files — Create & Save
In this chapter, we will learn how to create and save a M-file. Let us begin by understanding about creating a M-file.
Create M-file
To create m-file, we will make use of MATLAB IDE as shown below. Here IDE refers to an integrated development environment.
Click on New Script highlighted above to open a new script file.
Save M-file
You will get an untitled file. Let us save the file as firstmfile.m.
Click on the save button and it will open a popup, where you can enter the name of the file.
Click on OK to save the file.
Now, you are free to write your commands in the file below −
Matlab M-Files — Run
In the previous chapter, we have seen how to create and save a m-file. Now in this chapter, we will write a simple code and run the same.
Following is the code which will run inside the firstmfile.m
a = 5; b = 7; c = a + b d = c + sin(b) e = 5 * d f = exp(-d)
This is how it will look inside MATLAB editor −
Click on the Run button as highlighted above to see the result inside the command window as shown below
Matlab M-Files — Functions
A function is a group of statements that together perform a task. In MATLAB, functions are defined in separate files. The name of the file and name of the function should be thesame.
Functions operate on variables within their own workspace, which is also called the local workspace. These functions separate the variables from the workspace which you access at the MATLAB command prompt. This is called the base workspace.
Functions can accept more than one input arguments and may return more than one output arguments.
The syntax of a function statement is as follows −
function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)
Here out1, out2…outN are output variables. It can be a single variable or comma separated. The variables in1, in2, in3…inN are input variables which can be single variable or comma separated ones. The function in MATLAB starts with the keyword function as shown in the syntax.
While naming your m-file, you should take care that the file name and the function name has to match. You cannot use the name of any built-in function available in MATLAB.
Let us now create a simple function and save it as .m file and run it. In MATLAB, the IDE allows you to select what type of file you want to create as shown below −
Click on the Function, and it will open a new file as shown below −
Now you can update the output variables, the function name and the input variables in the above untitled file and save the file with the same name as the function name.
The name of our function is MaxNumber() and it gives the maximum number from the input value passed.
Now let us run the function to get the output. You can call the function by using MaxNumber(100,50).
Matlab M-Files — Import Data
In this chapter, we will understand how to import data from an existing m-file in MATLAB.
Consider the m-file firstmfile.m. The contents of the file are as follows −
a = 5; b = 7; c = a + b d = c + sin(b) e = 5 * d f = exp(-d)
When you execute the file, the data variables are available in the workspace, as shown below −
Let us clear the workspace and the command prompt. Hence, we can now import the file and also check the data available.
To clear workspace, the command is clear all.
The workspace is empty now.
Let us clean the command window by using clc command as shown below −
We have an empty command window.
Now, type the m-file name as shown below. It will execute the code inside the file
The workspace is loaded with all the variables that are used inside the file.
You can also check the details of the variables by using the whos command as shown below −
Лабораторная
работа №1 (4 часа)
Цель
и содержание работы: научиться
проводить прямые вычисления и создавать
М-файлы в пакете автоматизации
математических расчетов MATLAB.
Теоретическое обоснование
Система
MATLAB была разработана К. Б. Молером и с
конца 70-х гг. широко использовалась на
больших ЭВМ. В начале 80-х гг. Джон Литл
из фирмы MathWorks, Inc. разработал версии
системы PC MATLAB для компьютеров класса
IBM PC, VAX и Macintosh.
MATLAB
— является системой автоматизации
математических расчетов, построенной
на расширенном представлении и применении
матричных операций. Это нашло отражение
в названии системы — MATrix LABoratory —
матричная лаборатория. Однако синтаксис
языка программирования системы продуман
настолько тщательно, что эта ориентация
почти не ощущается теми пользователями,
которых не интересуют непосредственно
матричные вычисления. Он включает в
себя вычисления, визуализацию и
программирование в удобной среде.
В
MATLAB
используются такие типы данных, как
многомерные массивы, массивы ячеек,
массивы структур и разреженные матрицы,
что открывает возможности применения
системы при создании и отладке алгоритмов
матричных вычислений и крупных баз
данных.
Система
MATLAB
ориентирована на матричные операции.
Матрицы широко
применяются в сложных математических
расчетах, например при решении задач
линейной алгебры и математического
моделирования статических и динамических
систем и объектов. Они являются основой
автоматического составления и решения
уравнений состояния динамических
объектов и систем. Напомним, что двумерный
массив чисел или математических выражений
принято называть матрицей. А одномерный
массив называют вектором. Примеры
векторов и матриц даны ниже:
— вектор
из 4 элементов;
– матрица
размера 4×3.
Размер
матрицы определяется числом ее строк
m
и столбцов n.
Обычно размер матрицы указывают как
.
Элементы векторов и матриц рассматриваются
как индексированные переменные, например:
-
— второй
элемент вектора V; -
— третий
элемент второй строки матрицы М.
Обычные
числа и переменные в MATLAB рассматриваются
как матрицы размера 1×1, что дает
единообразные формы и методы проведения
операций над обычными числами и массивами.
Данная операция обычно называется
векторизацией. Векторизация обеспечивает
и упрощение записи операций, производимых
одновременно над всеми элементами
векторов и матриц, и существенное
повышение скорости их выполнения. Это
также означает, что большинство функций
может работать с аргументами в виде
векторов и матриц. При необходимости
вектора и матрицы преобразуются в
массивы, и значения вычисляются для
каждого их элемента.
Система
MATLAB выполняет сложные и трудоемкие
операции над векторами и матрицами даже
в режиме прямых вычислений без какого-либо
программирования. В этом случае работа
происходит в режиме «вопрос – ответ»,
что немного напоминает работу в MathCAD.
Ею можно пользоваться как мощнейшим
калькулятором, в котором наряду с
обычными арифметическими и алгебраическими
действиями могут использоваться такие
сложные операции, как инвертирование
матрицы, вычисление ее собственных
значений и принадлежащих им векторов,
решение систем линейных уравнений,
вывод графиков двумерных и трехмерных
функций и многое другое.
В
режиме непосредственных вычислений,
которые проводятся в
командном режиме, можно
решать множество математических задач.
Однако
при решении серьезных задач возникает
необходимость сохранения используемых
последовательностей вычислений, а также
их дальнейшей модификации.
Файлы,
которые содержат код на языке MATLAB,
называются М-файлами. Существует два
вида М-файлов.
-
Файлы-сценарии,
которые не имеют входных и выходных
аргументов. Они оперируют с данными из
рабочего пространства. -
Файлы-функции,
которые имеют входные и выходные
аргументы. Они оперируют с локальными
переменными.
Файл-сценарий,
именуемый
также Script-файлом, является просто записью
серии команд без входных и выходных
параметров. Он работает с данными из
рабочей области, в процессе работы на
компилируется и представляет собой
зафиксированную в виде файла
последовательность операций, полностью
аналогичной той, что используется при
прямых вычислениях. В MATLAB
возможно использование комментариев.
Комментарий должен начинаться с символа
%. При правильной записи комментария он
выделяется зеленым цветом, в противном
случае – красным.
Файлы-функции
– это М-файлы, которые имеют входные
параметры и возвращают выходные. Имя
М-файла и имя функции должно быть одним
и тем же. Функции работают с переменными
в пределах их собственного рабочего
пространства. Первая строка файла-функции
начинается со слова function.
Здесь происходит задание имени функции
со списком входных и выходных аргументов.
Остальные строки файла представляют
собой комментарии и исполняемый код
MATLAB.
Например, на рис. 1 представлен файл-функция
fun двух переменных х и у, вычисляющая
.
Здесь
входными аргументами являются x
и y.
Выходным – z.
Поскольку переменные х
и у
указаны как
параметры функции fun(x, у),
то они
являются локальными. При вычислении
значения fun(2, 3) в теле функции задается
х=2
и у=3.
Поэтому результат — z=13.
Если функция имеет несколько выходных
параметров, то эти параметры записываются
в квадратных скобках перед именем
функции через запятую в той
последовательности, в которой они будут
возвращаться. Синтаксис записи такой
функции выглядит следующим образом:
function
[Список_выходных_параметров]=f_name(Список_входных_параметров)
Рисунок 1 – Задние
файла функции
Функцию можно
вызывать как из файла-сценария, так и в
режиме прямых вычислений.
Задание
-
Ознакомиться
с интерфейсом системы MATLAB.
Изучить правила ввода матриц и векторов,
использования операторов. -
Решить
двумя методами, методом Крамера и
матричным методом, систему линейных
уравнений:
Решение провести,
как в режиме прямых вычислений, так и
путем создания М-файлов.
Методика выполнения
работы
Знакомство
с интерфейсом MATLAB
и начало работы.
1.
Запустите систему MATLAB,
щелкнув дважды по иконке на рабочем
столе. Появляется основное окно MATLAB
(рисунок 1). Изменить вид окна можно во
вкладке Вид.
Для получения вида, представленного на
рис.1, необходимо проставить «галочки»
в меню «Вид»
напротив Окно
команд, Команды, Рабочая область.
В
Окне команд
осуществляется ввод матриц, векторов,
переменных, формул, команд. В окне Команды
отображается «история» введенных
команд. В Рабочей
области
отображаются результаты ввода и расчеты,
значения всех использованных переменных,
матриц и векторов. Существует ряд
основных команд управления Окном
командного режима:
-
clс
— очищает экран и размещает курсор в
левом верхнем углу пустого экрана. -
home
— возвращает курсор в левый верхний
угол окна. -
mоrе
on — включает режим постраничного вывода
(полезен при просмотре больших m-файлов). -
mоrе
off — отключает режим постраничного
вывода (в этом случае для просмотра
больших фалов надо пользоваться линейкой
прокрутки).
Команды
clc и home действуют аналогично — очищают
экран и помещают курсор в левый верхний
угол окна командного режима работы.
В
системе MATLAB можно задавать переменным
определенные значения. Для этого
используется операция присваивания,
вводимая
знаком равенства =
Имя_переменной
= Выражение
Типы переменных
заранее не декларируются. Они определяются
выражением, значение которого присваивается
переменной. Так, если это выражение —
вектор или матрица, то переменная будет
векторной или матричной.
Имя
переменной (ее идентификатор) может
содержать сколько угодно символов, но
запоминается и идентифицируется только
31 начальный символ. Имя любой переменной
не должно совпадать с именами других
переменных, функций и процедур системы,
т. е. оно должно быть уникальным. Имя
должно начинаться с буквы, может содержать
буквы, цифры и символ подчеркивания _.
Недопустимо включать в имена переменных
пробелы и специальные знаки, например
+,.-, *, / и т. д., поскольку в этом случае
правильная интерпретация выражений
становится невозможной.
Существует
ряд основных правил для общения с MATLAB:
-
для
указания ввода исходных данных
используется символ >>; -
данные
вводятся с помощью простейшего строчного
редактора; -
для
блокировки вывода результата вычислений
некоторого выражения после него надо
установить знак ; (точка с запятой); -
если
не указана переменная для значения
результата вычислений, то MATLAB назначает
такую переменную с именем ans; -
знаком
присваивания является привычный
математикам знак равенства =, а не
комбинированный знак :=, как во многих
других языках программирования и
математических системах; -
результат
вычислений выводится в строках вывода
(без знака »); -
встроенные
функции (например, sin) записываются
строчными буквами, и их аргументы
указываются в круглых
скобках; -
диалог
происходит в стиле «задал вопрос —
получил ответ».
Рисунок
1 – Основное окно системы MATLAB
2.
Введите матрицу и вектор. При вводе
строки матрицы или вектора между
элементами строки ставится пробел или
запятая, строки отделяются друг от друга
точкой с запятой (рис.1).
Задать
четырехэлементный вектор-строку V со
значениями элементов 1, 2, 3 и 4. Записи
вводятся в Окне команд после символа
>>, который устанавливается
автоматически. Две записи для вектора
— V=[l 2 3 4] и V=[1,2,3.4] — являются идентичными.
Список заключается в квадратные скобки.
После ввода вектора нажать Enter.
В Окне команд
появляется запись введенного вектора:
V
=
1 2
3 4
В
Рабочей
области
(слева) появляется запись об имени и
размере введенного вектора V.
Щелкнув левой кнопкой мыши на эту запись,
можно раскрыть ее и увидеть содержимое
введенного вектора. Для выделения п-го
элемента вектора V используется выражение
V(n). Оно задает соответствующую
индексированную переменную.
Задать
матрицу М размерностью 4х3
.
Для
этого в Окне
команд ввести
>>
M=[1
2 3; 4 5 6; 7 8 9; 2 3 12] и нажать Enter.
В
результате в Рабочей
области
появляется запись о введенной матрице
M,
а в Окне
команд
появляется результат ввода (рис. 1):
M =
1 2 3
4 5 6
7 8 9
2 3 12
Для
выделения отдельного элемента матрицы
М используется выражение вида M(j,i), где
М — имя матрицы, j — номер строки и i
— номер столбца.
3.
Ознакомьтесь с правилами использования
операторов и функций.
Оператор
— это
специальное обозначение для определенной
операции над данными — операндами.
Используются следующие операторы:
+
сложение;
—
вычитание;
*
умножение;
.*
поэлементное
умножение массивов;
/
деление;
./
поэлементное
деление массивов;
левое деление
(деление справа
налево);
^
возведение
в степень;
‘
транспонирование
(
) определение
порядка вычислений.
Система
MATLAB
предоставляет большое количество
элементарных математических функций,
а также логических функций, функций
обработки множеств и т.д. Несколько
специальных функций представляют
значения часто используемых констант:
аns
– результат выполнения последней
операции;
pi
– 3.14159265…;
i
или j
– мнимая единица (
);
eps
– относительная точность числа с
плавающей точкой, 2-52;
realmin
– наименьшее число с плавающей точкой,
2-1022;
realmax
– наибольшее число с плавающей точкой,
;
Inf
– бесконечность;
NAN
– не число.
Имена
функций не являются зарезервированными,
поэтому возможно изменять их значения
на новые. В системе MATLAB определены
следующие функции:
Таблица
1. –
Основные
функции
Функция |
Название |
Пример |
Математические |
||
abs(X) |
Модуль. Возвращает |
>> abs(-5) ans 5 |
ехр(Х) |
Экспонента. |
>> ans 2.7183 |
inv(A) |
Возвращает |
A = 1 1 -1 3 >> ans -1.000 1.000 1.000 -1.000 |
det(A) |
Возвращает |
A = 1 1 -1 3 >> ans -20 |
log(X) |
Возвращает |
>> Х=[1.2 3.34 5 >> ans= -0.1823 |
log2(X) |
Возвращает |
>> X=[1.2 3.34 5 >> ans 0.2630 |
log10(X) |
Возвращает |
>> X=[1.2 3.34 5 >> ans 0.0792 |
sqrt(X) |
Возвращает |
>> >> ans 5.0 |
cos(X) |
Возвращает |
>> >> ans 0.5403 |
acos(X) |
Возвращает |
>>Y Y= 1.0472 |
sin(X) |
Возвращает синус |
>> >> ans = 1.000 |
asin(X) |
Возвращает |
>> Y 0.2817 |
tan(X) |
Возвращает |
>> >> ans= 0.802 |
atan(X) |
Возвращает |
>> Y 0.7854 |
mod(X,Y) |
Возвращает |
>> mod(5,2) ans 1 |
Функции Данные |
||
eq |
Равно. |
>> ans 1 >> ans 1 |
ne |
Не равно. |
>> ne(l, ans 1 >> ans 0 |
Lt |
Меньше чем. |
x<y |
Gt |
Больше чем . |
x>y |
Le |
Меньше или равно. |
x<=y |
Ge |
Больше или равно. |
x>=y |
Логические |
||
And |
Логическое И |
»А=[1 »В=[1 » ans = 1 |
Or |
Логическое ИЛИ |
>> ans = 1 |
Not |
Логическое НЕ |
>> ans 0 >> ans 0 |
3.
Использование прямых вычислений.
Система MATLAB
создана таким образом, что любые (подчас
весьма сложные) вычисления можно
выполнять в режиме прямых
вычислений, то
есть без подготовки программы. Это
превращает MATLAB в необычайно мощный
калькулятор, который способен производить
не только обычные для калькуляторов
вычисления (например, выполнять
арифметические операции и вычислять
элементарные функции), но и операции с
векторами и матрицами, комплексными
числами, рядами и полиномами.
Работа
с системой в режиме прямых вычислений
носит диалоговый характер и происходит
по правилу «задал вопрос, получил
ответ». Пользователь набирает на
клавиатуре вычисляемое выражение,
редактирует его (если нужно) в командной
строке и завершает ввод нажатием клавиши
ENTER.
В
качестве примера проведем простейшие
вычисления: вычислим произведение
введенных ранее вектора V
и матрицы М (C=VxM).
Очевидно, что результатом должен быть
вектор-строка C
размерностью 1х3 (обратите внимание,
рис.1, что произведение МхV
невозможно). В Окне
команд
наберем >> C=V*M
Результат приведен на рис.1.
Самостоятельно
проведите простейшие вычисления.
Например
>> 2+3
Нажмите Enter.
Получим ответ
ans=
5
>>
sin(l)
ans=
0.8415
Вычислим
значения синусов элементов матрицы M.
Результатом будет матрица МХ, элементами
которой будут синусы элементов матрицы
М. Для этого введем выражение
>> MX=sin(M)
Вычислите
косинусы элементов вектора V.
>> VC=cos(V)
Ознакомьтесь
с проведением операций со следующими
векторами V1
и V2:
»
Vl=[2 4 6 8]
V1=
2
4 6 8
»
V2=[l 2 3 4]
V2
=
1
2 3 4
»
V1/V2
ans
=
2
»
V1.*V2
ans=
2
8 18 32
»
V1./V2
ans
=
2
2 2 2
-
Решение
систем линейных уравнений в режиме
прямых вычислений.
Решим систему
линейных уравнений:
двумя
способами – методом Крамера и матричным
методом.
Запишем
приведенную выше систему в матричной
форме
где
– матрица системы;
– вектор-столбец
неизвестных;
–
вектор-столбец
свободных членов системы.
3.1
Решение методом Крамера.
Если
определитель матрицы А,
,
т.е. матрица А
имеет
обратную
,
то система имеет единственное решение
,
или
где
– определитель, получаемый из определителя
матрицы системы заменой i-го
столбца на столбец свободных членов.
Ведем
матрицу системы А
>>
A=[1
1 1 0; 1 -1 3 1; -1 2 0 3; 3 1 1 -1]
A
=
1 1 1 0
1 -1 3 1
-1 2 0 3
3 1 1 -1
Вычислим
определитель матрицы А, обозначив его
D
>> D=det(A)
D =
-20
Введем
матрицы A1,
A2,
A3
и А4, где соответственно 1-й, 2-й, 3-й и 4-й
столбец матрицы А заменен столбцом
свободных членов системы:
>> A1=[3 1 1 0; 7 -1 3
1; -2 2 0 3; 7 1 1 -1]
A1 =
3 1 1 0
7 -1 3 1
-2 2 0 3
7 1 1 -1
>> A2=[1 3 1 0; 1 7 3
1; -1 -2 0 3; 3 7 1 -1]
A2 =
1 3 1 0
1 7 3 1
-1 -2 0 3
3 7 1 -1
>> A3=[1 1 3 0; 1 -1 7
1; -1 2 -2 3; 3 1 7 -1]
A3 =
1 1 3 0
1 -1 7 1
-1 2 -2 3
3 1 7 -1
>> A4=[1 1 1 3; 1 -1 3
7; -1 2 0 -2; 3 1 1 7]
A4 =
1 1 1 3
1 -1 3 7
-1 2 0 -2
3 1 1 7
Теперь вычислим
определители введенных матриц:
>> D1=det(A1)
D1 =
-44
>> D2=det(A2)
D2 =
10
>> D3=det(A3)
D3 =
-26
>> D4=det(A4)
D4 =
-8
Теперь вычислим
корни системы
>> X1=D1/D
X1 =
2.2000
>> X2=D2/D
X2 =
-0.5000
>> X3=D3/D
X3 =
1.3000
>> X4=D4/D
X4 =
0.4000
3.2
Решение матричным методом
MATLAB
позволяет решить эту систему с помощью
матричного выражения
,
минуя вычисление определителей. Для
этого необходимо ввести вектор-столбец
свободных членов системы b.
>>
A=[1 1 1 0; 1 -1 3 1; -1 2 0 3; 3 1 1 -1]
A
=
1 1 1 0
1 -1 3 1
-1 2 0 3
3 1 1 -1
>>
b=[3; 7; -2; 7]
b
=
3
7
-2
7
>>
X=inv(A)*b
X
=
2.2000
-0.5000
1.3000
0.4000
Очевидно, что
решение системы уравнений матричным
методом и методом Крамера дает одни и
те же результаты.
-
Создание М-файлов.
Для решения задачи
создадим два М-файла – файл-функцию
для решения системы уравнений методом
Крамера и файл-сценарий, где будут
определяться исходные матрицы и
вычисляться вектор корней системы,
-
Создание
файла-функции.
Для
создания М-файла на панели инструментов
нажмите иконку Новый
М-файл.
Открывается окно М-файла. Сюда введите
операторы, соответствующие решению
системы уравнений методом Крамера.
Назовем функцию Kramer.
Входными аргументами являются матрица
системы А и вектор свободных членов b,
выходными – вектор Х. Функция имеет
вид, представленный на рис. 2.
После
начала выполнения функции рассчитывается
определитель матрицы системы А. Затем
вводятся новые матрицы А1, А2, А3 и А4, где
соответственно 1-й, 2-й, 3-й и 4-й столбцы
заменяются столбцом свободных членов
b.
Рисунок
2 – Файл-функция решения системы
уравнений методом Крамера
Далее
рассчитываются определители новых
матриц и элементы вектора корней системы
Х. Вектор Х будет представлять из себя
вектор-столбец. На это указывает
нумерация элементов вектора, где первая
цифра номер строки, вторая – номер
столбца. Если пронумеровать элементы
вектора Х, как Х(1), Х(2), Х(3) и Х(4), то вектор
Х будет представлять из себя вектор-строку.
Сохраните
файл-функцию под именем Kramer
в папке work
каталога MATLAB
. Для этого нажмите в строке меню Файл
– Сохранить как,
либо на Панели инструментов нажмите
иконку Сохранить.
Появляется окно Сохранить
как с
содержимым папки work
(рис.3). Имя файла должно быть таким же,
как и имя функции (Kramer).
Нажать Сохранить.
Рисунок
3 – Сохранения М-файла
-
Создание
файла-сценария.
Аналогично
пункту 4.1 создайте новый М-файл. Запишите
в него программный код, соответствующий
решению системы линейных уравнений
методом Крамера и матричным методом.
Блок-схема алгоритма решения задачи
представлена на рис. 4. Предопределенный
процесс «Решение системы уравнений
методом Крамера» представляет из себя
файл-функцию Kramer,
введенную ранее.
Соответствующий
приведенному на рис.4 алгоритму
программный код выглядит следующим
образом:
%
Решение системы уравнений
A=[1 1 1 0; 1 -1 3 1; -1 2 0
3; 3 1 1 -1]
b=[3; 7; -2; 7]
%
Решения методом Крамера
Xk=Kramer(A,b)
%
Решение матричным методом
Xm=inv(A)*b
4.
Запустите на выполнение файл-сценарий.
Для этого в строке меню выберите Отладка
(Debug)
– Сохранить и запустить (Save
and
Run).
Следует
помнить, что на решение запускается
именно файл-сценарий, а не файл-функция.
Происходит выполнения программы.
Результаты отображаются в основном
окне MATLAB.
В окне команд отображаются результаты
выполнения каждой строки программы,
где в конце строки не стоит знак «точка
с запятой» (;). Это удобно при отладке
программ. Если вы не хотите вывода
промежуточных результатов, то в конце
соответствующей строки программы
поставьте знак «точка с запятой».
В
Рабочей области окна MATLAB
отображаются переменные и массивы,
введенные в программу и рассчитанные
в ней. В данном случае там будут
отображаться матрица А, вектор-столбец
b,
векторы-столбцы результатов решения
системы, методом Крамера – Xk,
матричным методом Xm.
Щелкнув дважды левой кнопкой мыши по
любому массиву или переменной из Рабочей
области, можно раскрыть их значения в
специальном окне Array
Editor:
(рис. 5).
Рисунок
5 – Результаты решения задачи