Возможна ли разработка приложения на Octave с GUI? |
Задачи линейной алгебры
5.1 Ввод и формирование векторов и матриц
Векторы и матрицы в Octave задаются путём ввода их элементов. Элементы вектора-строки отделяют пробелами или запятыми, а всю конструкцию заключают в квадратные скобки:
>>> a =[2 -3 5 6 -1 0 7 -9] a = 2 -3 5 6 -1 0 7 -9 >>> b =[ -1,0,1] b = -1 0 1
Вектор-столбец можно задать, если элементы отделять друг от друга точкой с запятой:
>>> c=[-pi; -pi / 2; 0; pi / 2; pi ] c = -3.14159 -1.57080 0.00000 1.57080 3.14159
Обратиться к элементу вектора можно указав имя вектора, а в круглых скобках — номер элемента, под которым он хранится в этом векторе:
>>> a( 1 ) ans = 2 >>> b( 3 ) ans = 1 >>> c( 5 ) ans = 3.1416
Ввод элементов матрицы также осуществляется в квадратных скобках, при этом элементы строки отделяются друг от друга пробелом или запятой, а строки разделяются между собой точкой с запятой:
>>> Matr=[0 1 2 3; 4 5 6 7 ] Matr = 0 1 2 3 4 5 6 7
Обратиться к элементу матрицы можно указав после имени матрицы, в круглых скобках, через запятую, номер строки и номер столбца, на пересечении которых элемент расположен:
>>> Matr ( 2, 3 ) ans = 6 >>> Matr ( 1, 1 ) ans = 0 >>> Matr ( 1, 1 )=pi; Matr ( 2, 4 )= _pi; >>> Matr Matr = 3.1416 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 -3.1416
Матрицы и векторы можно формировать, составляя их из ранее заданных матриц и векторов:
>>> a=[-3 0 2 ]; b=[3 2 -1]; c =[5 -2 0 ]; >>> M=[a b c ] % Горизонтальная конкатенация векторов–строк M = -3 0 2 3 2 -1 5 -2 0 % результат — вектор–строка >>> N=[a; b; c ] % Вертикальная конкатенация векторов–строк, % результат — матрица N = -3 0 2 3 2 -1 5 -2 0 >>> Matrica =[N N N] % Горизонтальная конкатенация матриц Matrica = -3 0 2 -3 0 2 -3 0 2 3 2 -1 3 2 -1 3 2 -1 5 -2 0 5 -2 0 5 -2 0 >>> Tablica =[M;M;M] % Вертикальная конкатенация матриц Tablica = -3 0 2 3 2 -1 5 -2 0 -3 0 2 3 2 -1 5 -2 0 -3 0 2 3 2 -1 5 -2 0
Важную роль при работе с матрицами играет знак двоеточия ":". Примеры с подробными комментариями приведены в листинге 5.1.
>>> Tabl =[ -1.2 3.4 0.8; 0.9 -0.1 1.1; 7.6 -4.5 5.6; 9.0 1.3 -8.5] Tabl = -1.20000 3.40000 0.80000 0.90000 -0.10000 1.10000 7.60000 -4.50000 5.60000 9.00000 1.30000 -8.50000 >>> Tabl( :, 3 ) % Выделить из матрицы 3-й столбец ans = 0.80000 1.10000 5.60000 -8.50000 >>> Tabl( 1, : ) % Выделить из матрицы 1-ю строку ans = -1.20000 3.40000 0.80000 >>> Matr=Tabl( 2 : 3, 1 : 2 ) % Выделить из матрицы подматрицу Matr = 0.90000 -0.10000 7.60000 -4.50000 % Вставить подматрицу в правый нижний угол исходной матрицы >>> Tabl( 3 : 4, 2 : 3 )=Matr Tabl = -1.20000 3.40000 0.80000 0.90000 -0.10000 1.10000 7.60000 0.90000 -0.10000 9.00000 7.60000 -4.50000 >>> Tabl( :, 2 ) = [ ] % Удалить из матрицы 2-й столбец Tabl = -1.20000 0.80000 0.90000 1.10000 7.60000 -0.10000 9.00000 -4.50000 >>> Tabl( 2, : ) = [ ] % Удалить из матрицы 2-ю строку Tabl = -1.20000 0.80000 7.60000 -0.10000 9.00000 -4.50000 >>> Matr % Представить матрицу в виде вектора–столбца Matr = 0.90000 -0.10000 7.60000 -4.50000 >>> Vector=Matr ( : ) Vector = 0.90000 7.60000 -0.10000 -4.50000 >>> V=Vector( 1 : 3 ) % Выделить из вектора элементы со 1-го по 3-й V = 0.90000 7.60000 -0.10000 >>> V( 2 ) = [ ] % Удалить из массива 2-й элемент V = 0.90000 -0.10000Листинг 5.1. Пример использования знака двоеточия ":"