ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.05.2019

Просмотров: 468

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

6

При  наличии  двух  аргументов,  разделенных  запятой,  будет  создана 

прямоугольная матрица с единицами по главной диагонали.

Для  создания  прямоугольной  единичной  матрицы  используется  функ­

ция 

опев

»   Е  =   о п е з   ( 3 , 4 )
Е  =

1

1

1

1

1

1

1

1

1

1

1

1

Если  задан один  аргумент, то будет создана квадратная  единичная мат­

рица.

Часто  бывает  необходимо  создать  диагональную  матрицу,  у  которой 

все  недиагональные  элементы  равны  нулю.  С  этой  целью  используется 

функция  сйа§,  которая  формирует  диагональную  матрицу  из  вектора-строки 
или вектора-столбца

»  

Ц 

=   [ 1 ;   2 ;   3 ;   4 ] ;

»   Ц =  сИад(Ц)

Ц  =

1

0

 

0

 

0

0

0

4

Для  заполнения  не  главной,  а  побочной диагонали,  предусмотрена  воз­

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

А  =

1 0

 

1

 

2

1

2

0

 

3

3 0

»   <3=  сИад(А)

а  =

10
20

3 0

2.5.4.  Умножение матриц и векторов

В  связи  с  тем,  что  Ма1ЬаЬ  является  матричной  системой,  имеются  осо­

бенности  в  выполнении  операций  умножения  и деления.  Например,  операто­


background image

ры  *  и  /  вычисляют  соответственно  произведение  и  частное  двух  матриц  и 
векторов.  При  этом  количество  строк  первого  массива  должно  быть  равно 
количеству столбцов  второго массива.  Например

»   а   =   [ 1  2 ;   3  4]  
а   =

2

4

»   Ь 

=  [ 4  3 ;  2  1]

Ь  =

3

1

»   с  

=  а / Ь

с   =

1 . 5 0 0 0  

- 2 . 5 0 0 0

2 . 5 0 0 0  

- 3 . 5 0 0 0

Есть  также  специальные  операторы.  Оператор  .*  и  ./  выполняют  соот­

ветственно  почленное умножение и деление матриц и векторов,  например

»   с   =   а . / Ъ  

с   =

0 . 2 5 0 0  

0 . 6 6 6 7

1 . 5 0 0 0  

4 . 0 0 0 0

Также  используется  символ  \  для  деления  матриц  и  векторов  справа 

налево.  Чаще  всего  это  используется  при  решении  системы линейных  алгеб­
раических уравнений,  когда составляется  матрица  коэффициентов  правой  ча­
сти  системы  уравнений,  вектор  значений  правой  ее  части  и  затем  первый 
массив делится обратно  на второй.

2.5.5.  Считывание и сохранение данных матриц и векторов

При  решении  различных задач  часто  приходится  оперировать  с  матри­

цами  и  векторами  больших  размеров.  Ввод  таких  матриц  через  операторы 
командного  окна  бывает  весьма  затруднительным,  поэтому  целесообразно 
подготовить данные  матрицы  в  виде текстовых  файлов.  Для  этого  можно  ис­
пользовать  любую  стандартную  программу-редактор  для  ТПпбошз  (напри­
мер,  Б

локнот

)  или  для  0 0 8 .  Матрица  записывается  построчно,  элементы  в 

строке разделяются пробелом.

Для  считывания  файла  используется  команда 

1оас1 

в  следующем  фор­

мате

\

7

»   е  =  1оа<1 (  ' з о 1 . СхЦ '  )


background image

При  вызове  данной  команды  из  файла  8о1.Ш,  находящегося  в  рабочем 

каталоге  Ма1ЬаЬ, будут считаны данные в массив с именем е.

Запись  данных массива  в  файл  осуществляется  командой  8ауе в  следу­

ющем  формате

»   з а у е   ' з о 1 2 . Ц х 1 ; '   а  - а з с И

В  результате  выполнения  данной  команды  в  файл  8012.1x1  будут  запи­

саны данные  массива 

а. 

Параметр -ш е и   означает запись  в текстовом  форма­

те.

Следует  отметить,  что  данные  команды  позволяют  записывать  и  счи­

тывать  данные  только  действительных  массивов,  для  комплексных массивов 
эти  команды  неприменимы.  Для  этих  целей  применимо  использование  спе­

циальных М-файлов.