Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Основные функции > Элементарные матрицы > linspace

linspace

генерирует линейно распределённые числа между двумя достижимыми границами

Синтаксис

row = linspace(x1, x2)
row = linspace(x1, x2, n)
Matrix = linspace(Col1, Col2)
Matrix = linspace(Col1, Col2, n)

Аргументы

x1, x2

Вещественные или комплексные скаляры: границы между которыми должны быть сгенерированы значения.

Col1, Col2

Вектор-столбцы одинаковой высоты, состоящие из вещественных или комплексных чисел.

n

целое количество запрошенных значений или столбцов. Значение по умолчанию: 100.

row

вектор-строка из n чисел.

Matrix

Матрица, в которой n столбцов чисел.

Описание

linspace(x1, x2) генерирует вектор-строку из n равномерно распределённых значений в диапазоне точно от x1 до x2.

Синтаксис y1:y2 или y1:step:y2 наподобие 1:0.1:%pi делает то же самое, но фиксирует начальную границу y1 и шаг step. Переменная y2 используется в качестве границы остановки, через которую нельзя переступить. Последнее значение, которое фактически будет сгенерировано, может не достичь её. В этом случае y2 не включено в результат.

Вместо фиксированного шага указанным значением, функция linspace фиксирует конечную границу x2, которая точно будет достигнута и вычисляет соответствующий шаг.

Если x1 или x2 являются комплексными числами, то linspace(x1,x2) интерполирует отдельно вещественную и мнимую части x1 и x2.

Если указаны вектор-столбцы Col1 и Col2, то функция linspace работает по строкам: результирующая матрица Matrix имеет то же количество строк и n столбцов, которое мы получим Matrix(i,:) = linspace(Col1(i), Col2(i), n).

Примеры

linspace(1, %pi, 0)         // n = 0
linspace(1, 2, 10)          // x2 > x1 : значения увеличиваются
linspace(2, 1, 10)          // x2 < x1 : значения уменьшаются
linspace(1+%i, 2-2*%i, 5)      // с комплексными числами
linspace([1:4]', [5:8]', 10)   // со столбцами на входе
--> linspace(1, %pi, 0)    // n = 0
 ans  =
    []

--> linspace(1, 2, 10)    // x2 > x1 : значения увеличиваются
 ans  =
   1.   1.111   1.222   1.333   1.444   1.556   1.667   1.778   1.889   2.


--> linspace(2, 1, 10)    // x2 < x1 : значения уменьшаются
 ans  =
   2.   1.889   1.778   1.667   1.556   1.444   1.333   1.222   1.111   1.


--> linspace(1+%i, 2-2*%i, 5)      // с комплексными числами
 ans  =
   1. +i     1.25 +0.25i   1.5 -0.5i   1.75 -1.25i   2. -2.i


--> linspace([1:4]', [5:8]', 10)   // со столбцами на входе
 ans  =
   1.   1.444   1.889   2.333   2.778   3.222   3.667   4.111   4.556   5.
   2.   2.444   2.889   3.333   3.778   4.222   4.667   5.111   5.556   6.
   3.   3.444   3.889   4.333   4.778   5.222   5.667   6.111   6.556   7.
   4.   4.444   4.889   5.333   5.778   6.222   6.667   7.111   7.556   8.

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

  • colon — (:) оператор "двоеточие"
  • logspace — вектор с интервалами между элементами в логарифмическом масштабе
  • grand — Случайные числа

История

ВерсияОписание
5.4.0
  • Могут быть указаны вектор-столбцы.
  • Третьим входным аргументом (n) должно быть целое значение.
6.0
  • linspace(a, b, n<=0) теперь возвращает [] вместо b.
  • Границы теперь проверяются на значения %inf или %nan.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:21 CET 2017