linalg:: vectorOf

Введите спецификатор для векторов

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::vectorOf(R)
linalg::vectorOf(R, n)

Описание

linalg::vectorOf(R) является спецификатором типа, представляющим все объекты области категории Cat::Matrix с кольцевым R компонента и количеством строк или количеством столбцов, равных одному.

linalg::vectorOf(R,n) является спецификатором типа, представляющим все объекты области категории Cat::Matrix с кольцевым R компонента и количеством строк, равных n и количеству столбцов, равных одному, или наоборот.

linalg::vectorOf(Type::AnyType,n) является спецификатором типа, представляющим все объекты области категории Cat::Matrix с произвольным кольцевым R компонента и количеством строк, равных n и количеству столбцов, равных одному, или наоборот.

Примеры

Пример 1

linalg::vectorOf может использоваться вместе с testtype, чтобы проверять, является ли объект MuPAD® вектором:

MatZ := Dom::Matrix(Dom::Integer): 
v := MatZ([1, 0, -1])

Следующий FALSE урожаев, потому что v является 3-мерным вектором:

testtype(v, linalg::vectorOf(Dom::Integer, 4))

Следующий FALSE урожаев, потому что v задан по целым числам:

testtype(v, linalg::vectorOf(Dom::Rational))

Конечно, v может быть преобразован в вектор по rationals, как показано следующим вызовом:

bool(coerce(v, Dom::Matrix(Dom::Rational)) <> FAIL)

Это показывает, что testtype в сочетании с linalg::vectorOf(R) не проверяет, может ли объект быть преобразован в вектор по заданному кольцевому R компонента. Это проверяет, только если объект является вектором, чьим звонком компонента является R.

Следующий тест возвращает TRUE, потому что v является 3-мерным вектором:

testtype(v, linalg::vectorOf(Type::AnyType, 3))

Пример 2

linalg::vectorOf может также использоваться для проверки параметров процедур. Следующая процедура вычисляет ортогональное дополнение 2-мерного вектора:

orth := proc(v:linalg::vectorOf(Type::AnyType, 2))
begin
    [v[1], v[2]] := [-v[2],v[1]];
    return(v)
end:

 u := matrix([[1, 2]]); u_ := orth(u)

При вызове процедуры orth с недопустимым параметром приводит к сообщению об ошибке:

orth([1, 2])
Error: Invalid object '[1, 2]'. Type of argument number 1 must be 'slot(Type, vectorOf)(Type::AnyType, 2)'.
  Evaluating: orth

Параметры

R

Звонок компонента: область библиотеки

n

Положительное целое число

Возвращаемые значения

Введите выражение доменного Типа типа.

Смотрите также

Функции MuPAD