Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.2 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Scilab > Ключевые слова Scilab > слэш (косая черта)

слэш (косая черта)

(/) правое деление и обратная связь

Описание

Правое деление. X=A/B является решением X*B=A.

Операторы слэш (правое деление) и обратный слэш (левое деление) связаны следующим выражением: B/A=(A'\B')'.

В случае, когда A - квадратная матрица, решение X может быть вычислено либо через LU-разложение, либо через программу линейного решения по методу наименьших квадратов. Если число обусловленности матрицы A меньше, чем 1/(10*%eps) (то есть, если A хорошо обусловлена), то используется LU-разложение с перестановками строк матрицы. Если нет (то есть, если A плохо обусловлена), то X является решением с минимальной нормой, которое минимизирует ||A*X-B|| используя полное ортогональное разложение A (то есть X - это решение линейной задачи по методу наименьших квадратов).

A ./ B является матрицей с элементами A(i,j)/ B(i,j). Если B - скаляр (матрица размером 1 на 1), то эта операция то же самое, что и A ./ B * ones(A). Аналогично, если скаляром является A.

Обратный слэш ставят для левого деления.

Обратная связь системы. S = G /. K вычисляет S = G*(eye() + K*G)^(-1) и этот оператор избегает проблему упрощения.

Заметьте, что 123./B интерпретируется как (123)./B. В таких случаях точка является частью оператора, а не числа.

In the opposite, Заметьте, что G/.5 интерпретируется как G/(.5). В таких случаях точка интерпретируется как часть числа, а не оператора, while it is not the case in G/. 5

Комментарий // комментирует строку, т. е. строки, которые начинаются с //, игнорируются интерпретатором.

It is the same with /* which start to comment a block of code and with */ which end to comment this block.

Примеры

a = [3.,-24.,30.];
B = [
   9.   -36.    30.
  -36.   192.  -180.
   30.  -180.   180.
];
x = a/B
x*B-a // близко к нулю

a = 4 / 2; // Должно быть 2
a = 2 ./ [2,4]; //     1.    0.5

// Комментарии - это хорошо. Они помогают понять код
/* Even long, that is to say on many lines,
comments are useful */

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

История

ВерсияОписание
5.4.1 Пороговый уровень для обусловливания в слэше увеличен.
6.0.0 1./B means now 1 ./ B, no longer 1. / B
Report an issue
<< точка с запятой Ключевые слова Scilab звёздочка >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 15:04:47 CET 2019