Основи роботи з системою технічних розрахунків scilab

Для визначення кількості рядків і стовпців матриці М використовують функцію size, аргументом якої є ім'я масиву:

Якщо потрібно визначити кількість тільки рядків або тільки стовпців, то синтаксис функції модифікується: додається другий аргумент, який має значення "1" або "r", якщо слід визначити кількість рядків, "2" або "з" - якщо стовпців. наприклад:

Загальна кількість елементів матриці або довжину вектора обчислює функція length, аргументом якої є ім'я матриці або вектора:

Для визначення максимального значення елемента матриці або вектора використовується функція max, аргументом якої є ім'я матриці або вектора. Якщо потрібно визначити максимальне значення для кожного з рядків або стовпців матриці. то синтаксис функції модифікується: додається другий аргумент, який має значення "r", якщо слід визначити максимальне значення для кожного рядка, або "c" - якщо для кожного стовпця:

Аналогічно використовується функція min, призначена для визначення мінімального значення елемента матриці або вектора.

Для обчислення визначника (детермінанта) квадратної матриці використовується функція det, аргументом якої є ім'я матриці:

Для обчислення рангу матриці використовується функція rank, аргументом якої є ім'я матриці:


Функції, що реалізують чисельні алгоритми розв'язання задач лінійної алгебри

Обчислення матриці, зворотної М

Нагадаємо, що зворотної по відношенню до матриці М називається така матриця, яка при її збільшенні на матрицю М дає одиничну матрицю.

Як бачимо, обернена матриця А досить близька до одиничної, але все ж повністю нею не є, що є наслідком похибки чисельних обчислень.

Scilab дозволяє вирішувати системи лінійних алгебраїчних рівнянь виду Ax = b. У документі для значень A формується матриця коефіцієнтів при невідомих, кожен рядок якої містить коефіцієнти одного рівняння, а для значень b формується вектор-стовпець з вільних коефіцієнтів.

Після цього для вирішення системи використовується функція linsolve, що має такий синтаксис:

де A - це матриця коефіцієнтів при невідомих, b - вектор-стовпець вільних коефіцієнтів.

Функція повертає знайдені значення невідомих системи у вигляді вектора.

Таким чином, рішення системи лінійних рівнянь має вигляд:

Шукані значення: х1 = 5, х2 = 1.

Якщо система не має рішення, то про це видається повідомлення "WARNING: Conflicting linear constraints!" (Конфліктуючі умови для лінійних рівнянь). Наприклад, така ситуація виникне при спробі вирішення системи лінійних рівнянь:

Система лінійних алгебраїчних рівнянь може мати безліч рішень. У такому випадку функція повертає тільки одне. Нижче наведено приклад такої ситуації при вирішенні системи лінійних рівнянь:

Нагадаємо, що полиномом або алгебраїчним рівнянням називається рівняння виду a0 x n + a1 x n-1 +. + An-1 x + an.

Для створення полінома використовується функція poly.

де р - це ім'я полінома (його можна і не ставити).

Аргументи функції: a - матриця або дійсне число, x - символьна змінна, "flag" - символьна змінна, яка визначає спосіб завдання полінома і має значення "roots" (допускається скорочення "r") або "coeff" ( "c"). За замовчуванням - "roots". Якщо "roots" має значення "r", то поліном створюється з параметрами ai для відповідних символьних змінних xi. Якщо "flag" має значення "c", то значення параметрів ai сприймаються як коріння, для яких потрібно розрахувати коефіцієнти полінома.

Наступний приклад демонструє використання функції poly для створення полиномов р1, який має корінь "2" і р2 з коефіцієнтом "2":

У наступних прикладах створюються поліноми з відповідними коефіцієнтами для кубічного рівняння.

З полиномами можна проводити дії множення, створювати з них дробу (розподіл), додавати і віднімати.


Рішення рівняння з одним невідомим

Scilab може вирішувати рівняння алгебри з одним невідомим. Наприклад, потрібно знайти корені рівняння x 2 = 1. Якщо - як в даному прикладі - рівняння не має виду полінома, то його слід попередньо перетворити в поліном: x 2 - 1 = 0. Після цього використовується функція roots, єдиним аргументом якої є ім'я полінома. Функція повертає знайдені корені полінома.

Якщо рівняння не має рішення на безлічі дійсних чисел (x 2 + 1 = 0), то Scilab шукає рішення серед комплексних чисел:

Обчислення сум елементів матриці

Для обчислення суми значень елементів матриці використовується функція sum.

Якщо слід обчислити окремо суму значень для кожного стовпчика, то другим аргументом функції є число "1" або літера "с", а якщо для рядка, то - "2" або буква "r".


Обчислення добутку елементів матриці

Для обчислення добутку використовується функція prod.

Якщо слід обчислити окремо твір значень кожного стовпчика, то другим аргументом функції є число "1" або літера "с", а якщо для рядка, то - "2" або буква "r".

Для знаходження диференціалів в певній точці використовується функція numdiff, перший аргумент якої є ім'ям функції, яку потрібно продифференцировать, а другий - координата точки, в якій потрібно обчислити похідну.

Версія для друку

Схожі статті