GNU Octave/Типы числовых данных: различия между версиями

Содержимое удалено Содержимое добавлено
Уточнение ключа сортировки
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 6:
 
Вот несколько примеров некоторых констант:
<sourcesyntaxhighlight lang=matlab>
105
1.05e+2
1050e-1
</syntaxhighlight>
</source>
 
Чтобы описать комплексную константу, используются выражения вида:
<sourcesyntaxhighlight lang=matlab>
3 + 4i
3.0 + 4.0i
0.3e1 + 40e-1i
</syntaxhighlight>
</source>
Приведённые выше выражения для комплексных чисел эквивалентны. Буква «i» используется для обозначения мнимой части комплексного числа и определяется как sqrt(-1).
 
Для того, чтобы Octave смогла отличить комплексную запись числа от всех остальных, между числом и буквой «i» не должно содержаться ни одного пробела. В противном случае, Octave выдаст сообщение об ошибке:
<sourcesyntaxhighlight lang=matlab>
octave:13> 3 + 4 i
Строка 28:
3 + 4 i
^
</syntaxhighlight>
</source>
 
Вы также можете использовать буквы «j», «I» или «J» вместо «i». Все эти обозначения будут эквивалентными.
Строка 46:
= Матрицы =
Записать матрицу чисел очень легко. Размер матрицы вычисляется автоматически. Выражение
<sourcesyntaxhighlight lang=matlab>
a = [1, 2; 3, 4]
</syntaxhighlight>
</source>
 
создаст матрицу вида
<sourcesyntaxhighlight lang=matlab>
:
/ \
Строка 59:
\ /
 
</syntaxhighlight>
</source>
 
Матрицы могут входить в произвольные выражения. Например, матрица выражения
<sourcesyntaxhighlight lang=matlab>
[ a, a ]
</syntaxhighlight>
</source>
 
производит матрицу
<sourcesyntaxhighlight lang=matlab>
ans =
1 2 1 2
3 4 3 4
</syntaxhighlight>
</source>
 
но выражение
<sourcesyntaxhighlight lang=matlab>
[ a, 1 ]
</syntaxhighlight>
</source>
приведёт к ошибке
<sourcesyntaxhighlight lang=matlab>
error: number of rows must match near line 13, column 6
</syntaxhighlight>
</source>
потому что размеры объектов ''a'' и 1 не совпадают (''a'' — это матрица, a 1 — это просто число).
 
При записи матриц может возникать некоторая путаница. Ниже приводятся некоторые примеры таких недоразумений:
<sourcesyntaxhighlight lang=matlab>
[ 1 - 1 ]
</syntaxhighlight>
</source>
 
В этой записи '-' будет трактоваться как бинарный оператор, результатом которого будет число 0. Правильной будет
запись следующего вида:
<sourcesyntaxhighlight lang=matlab>
[ 1 -1 ]
</syntaxhighlight>
</source>
 
Здесь '-' трактуется как унарный оператор, результатом такого выражения является вектор двух чисел [ 1 -1 ].
 
Выражение
<sourcesyntaxhighlight lang=matlab>
[ sin (pi) ]
</syntaxhighlight>
</source>
будет трактоваться как
<sourcesyntaxhighlight lang=matlab>
[ sin, (pi) ]
</syntaxhighlight>
</source>
и приведёт к ошибке, так как функция ''sin()'' была вызвана без аргументов.