Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ввод, сложение и вычитание векторов




Вектор-столбцы и вектор-строки

Работу с массивами начнем с простого примера — вычисления суммы векторов

Для хранения векторов используйте массивы а и b. Введите массив а в командной строке, используя квадратные скобки и разделяя элементы вектора точкой с запятой:

>>а = [1.3; 5.4; 6.9]

a=

1.3000

5.4000

6.9000

Замечание

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

Так как введенное выражение не завершено точкой с запятой, то MatLab тематически вывела значение переменной а. Введите теперь второй вектор, подавив вывод на экран

>>b = [7.1; 3.5; 8.2];

Для нахождения суммы векторов используется знак +. Вычислите сумму, запишите результат в массив с и выведите его элементы в командное окно:

>> с = а + b

8.4000

8.9000

15.1000

Узнайте размерность и размер массива а при помощи встроенных функций

ndims и size: >>ndims(a)

ans=

size(a) ans =

3 1

Итак, вектор а хранится в двумерном массиве а размерностью три на один (вектор-столбец из трех строк и одного столбца). Аналогичные операции можно проделать и для массивов b и с. Заметьте, что числа в MatLab представляются в виде двумерного массива один на один. Отсюда должно стать понятно, почему при сложении векторов используется тот же знак плюс, что и для сложения чисел. Естественно, для нахождения разности векторов следует применять знак минус, с умножением дело обстоит несколько сложнее.

Замечание

Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке.

Особенность MatLab представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d. Используйте следующий оператор присваивания:

» d = sin(c)

d =

0.8546

0.5010

0.5712

Итак, встроенные в MatLab элементарные функции приспосабливаются к виду аргументов; если аргумент является массивом, то результат функции будет массивом того же размера, но с элементами, равными значению функции от соответствующих элементов исходного массива. Убедитесь в этом еще на одном примере. Если необходимо найти квадратный корень из элементов вектора d со знаком минус, то достаточно записать:

>>sqrt(d)

ans =

0 + 0.9244i

0 + 0.7078i

0 + 0.7558i

Оператор присваивания не использовался, поэтому MatLab записала ответ в стандартную переменную ans.

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

>> s1 = [3 4 9 2]

s1 =

3 4 9 2

>> s2 = [5 3 3 2]

 

>>s2 =

5 3 3 2

>>s3 = s1 + s2

s3=

8 7 12 4

>>s4=log(s3)

s4 =

2.0794 1.9459 2.4849 1.3863

Выясните, в каких массивах хранятся вектор-строки. Для этого можно использовать функции ndims и size или команду whos:

» whos

Name Size Bytes Class

s1 1x4 32 double array

s2 1x4 32 double array

s3 1x4 32 double array

s4 1x4 32 double array

Итак, вектор-строки s1, s2, s3 и s4 содержатся в двумерных массивах размерностью один на четыре. Для определения длины векторов или вектор-строк служит встроенная функция length:

>>length(s1)

ans=

Из нескольких вектор-столбцов можно составить один, используя квадратные скобки и разделяя исходные вектор-столбцы точкой с запятой:

>>vl = [1; 2];

>>v2 = [3; 4; 5];

>>v = [vl; v2]

v=

Для сцепления вектор-строк также применяются квадратные скобки, но сцепляемые вектор-строки отделяются пробелами или запятыми:

» vl = [1 2];

»v2 = [3 4 5];

»v = [vl v2]

v =

1 2 3 4 5




Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 541; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.