Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_1(векторы и матрицы).doc
Скачиваний:
67
Добавлен:
31.05.2015
Размер:
3.98 Mб
Скачать
  1. Переменные в matlab

В любой области MATLABможно определить переменные, а затем использовать в выражениях.

Любая переменная до использования в формулах и выражениях должна быть определена. Для определения переменной необходимо набрать ее имя, символ «=» и значение переменной. Здесь знак равенства – это оператор присваивания, действие которого не отличается от других языков программирования.

Имя переменной не должно совпадать с именами встроенных процедур, функций и встроенных переменных системы может содержать до 19 символов. Система различает большие и малые буквы в именах переменных. То есть ABC,abc,Abc,aBc– это имена разных переменных.

Выражение в правой части оператора присваивания может быть числом, арифметическим выражением, строкой символов или символьным выражением. Отметим, что если речь идет о символьной или строковой переменной, то выра­жение в правой части оператора присваивания следует брать в одинарные ка­вычки.

Несколько примеров присвоения значений переменным приведено в листин­ге 1. Обратите внимание, что если символ «;» в конце выражения отсутствует, то в качестве результата выводится имя переменной и ее значение. Наличие символа «; » передает управление следующей командной строке. Это позволяет использовать имена переменных для записи промежуточных результатов в па­мять компьютера.

Листинг 1.

>> а=2.3

а =

2.3000

» b=-34.7

b =

-34.7000

» х-1;у=2;

» z=(х+у)-а/Ь

z =

3.0663

>>%------------------------------------------------

>>%Сообщение об ошибке - переменная с не определена

» с+3/2

??? Undefined function or variable 'с'.

>>%------------------------------------------------

»%Определение символьной переменной

» с='а'

c=

а

»%Определение строковой переменной

» h='мама мыла раму'

h =

мама мыла раму

Вы обратили внимание, что если команда не содержит знака присваивания, то по умолчанию вычисленное значение присва­ивается специальной системной переметим ans. Причем полученное значение мож­но использовать в последующих вычислениях, но важно помнить, что значение ans изменяется после каждого вызова команды без оператора присваивания.

Листинг 2.

» 25.7-3.14

ans =

22.5600

» %3начение системной переменной равно 22.5600

» 2*ans

ans =

45.1200

» %3начение системной переменной равно 45.1200

» х=аns^0.3

х =

3.1355

» %3начение системной переменной не изменилось и равно 45.1200

» ans

45.1200

Кроме переменной ans в MATLAB существуют и другие системные пере­менные:

  • ans - результат последней операции без знака присваивания;

  • i, j - мнимая единица ();

  • pi - число п (3.141592653589793);

  • inf - машинный символ бесконечности (∞);

  • NaN - неопределенный результат (0/0, ∞/∞, 1 и т.п.);

  • realmin - наименьшее число с плавающей точкой (2.2251е - 308);

  • realmax - наибольшее число с плавающей точкой (1.7977е + 308).

Все перечисленные переменные можно использовать в математических выражениях.

3. Массивы в matlab

Для работы со множеством данных оказывается удобным использовать массивы.

Например, можно создать массив для хранения числовых или символьных данных. В этом случае вместо создания переменной для хранения каждого дан­ного достаточно создать один массив, где каждому элементу будет присвоен порядковый номер. Таким образом, массив - множественный тип данных, со­стоящий из фиксированного числа элементов. Как и любой другой перемен­ной, массиву должно быть присвоено имя.

Переменную, представляющую собой просто список данных, называют од­номерным массивом или вектором. Для доступа к данным, хранящимся в опреде­ленном элементе массива, необходимо указать имя массива и порядковый но­мер этого элемента, называемый индексом.

Если возникает необходимость хранения данных в виде таблиц, в формате строк и столбцов, то необходимо использовать двумерные массивы (матрицы). Для доступа к данным, хранящимся в таком массиве, необходимо указать имя массива и два индекса: первый должен соответствовать номеру строки, а второй номеру столбца, в которых хранится необходимый элемент.

Значение нижней границы индексации в МАТLАВ равно единице. Индексы могут быть только целыми положительными числами или нулем.

Самый простой способ задать одномерный массив в МАТLАВ имеет вид:

[nаmе]=

где nаmе - имя переменной, в которую будет записан сформированный массив, ХN - значение первого элемента массива, Хk - значение последнего его элемента, dx- шаг, с помощью которого формируется следующий элемент массива, то есть значение второго элемента составит Xn+dx, третьего Xn+dx+dx и так далее до Xk.

Если параметр dx в конструкции отсутствует:

[nаmе]=

это означает, что по умолчанию он принимает значение, равное единице, то есть каждый следующий элемент массива равен значению предыдущего плюс один.

Примеры создания массивов приведены в листинге 3. Обратите внима­ние, что переменную, заданную как массив, можно использовать в арифмети­ческих выражениях и в качестве аргумента математических функций. Резуль­татом работы таких операторов являются массивы.

Листинг 3.

>>Xn=-3.5;dX=1.5;Xk=4.5;

>> X=Xn:dx:Xk

X=-3.5000 -2.0000 -0.5000 1.0000 2.5000 4.0000

>> Y=sin(X/2)

Y= -0.9840 -0.8415 -0.2474 0.4794 0.9490 0.9093

>> A=0:5

A=

0 1 2 3 4 5

ans=

0 1 2 3 4 5

>> ans/2+pi

ans=

3.1416 3.6416 4.1416 4.6416 5.1416 5.6416

Еще один способ задания векторов и матриц в МАТLАВ - это их поэлементный ввод.

Так, для определения вектор-строки следует ввести имя массива, а затем, после знака присваивания, в квадратных скобках через пробел или запятую перечис­лить элементы массива (листинг 4).

Листинг 4.

>> V=[1 2 3 4 5]

V=

1 2 3 4 5

>> W=[1.1,2.3,-0.1,5.88]

W=

1.1000 2.3000 -0.1000 5.8800

Элементы вектора-столбца вводятся через точку с запятой.

Листинг 5.

>> X=[1;2;3]

X=

1

2

3

Обратиться к элементу вектора можно, указав имя массива и порядковый номер элемента в круглых скобках.

Листинг 6.

>> W=[1.1,2.3,-0.1,5.88]

>> W=W(1)+2*(3)

ans=

0.9000

Ввод элементов матрицы также осуществляется в квадратных скобках, при этом элементы строки отделяются друг от друга пробелом или запятой, а сами строки разделяются между собой точкой с запятой. Обратиться к элементу мат­рицы можно, указав после имени матрицы в круглых скобках через запятую номер строки и столбца, на пересечении которых расположен элемент. При­меры задания матриц и обращение к их элементам показаны в листинге 7.

Листинг 7.

>> A=[1 2 3;4 5 6;7 8 9]

A=

  1. 2 3

4 5 6

7 8 9

>> A(1,2)^A(2,2)/A(3,3)

ans=

3.5556