- •Основи роботи в scilab
- •Користування Scilab Виклик довідки
- •Робота в редакторі
- •Робота з Workspace
- •Команди керування середовищем
- •Засоби програмування. Оператори і команди
- •Створення .Sce та .Sci файлів
- •Конструкції мови
- •Короткий синтаксис і приклади основних конструкцій.
- •Основні команди і оператори мови SciLab та їх призначення
- •Робота з векторами і матрицями
- •Створення векторів та матриць
- •Звертання до елементів матриць і векторів
- •Логічні функції над масивами
- •Знищення рядків, стовпців, елементів
- •Створення матриць спеціального виду
- •Інші операції над масивами
- •Елементарні операції над векторами і матрицями
- •Множення і ділення векторів і матриць
- •Функції обробки даних для матриць і векторів
- •Можливості вводу і виводу неграфічної інформації
- •5. Робота з графікою
- •Двовимірні графіки
- •Трьохвимірні графіки
- •Контурні графіки
- •Гістограми
- •Зображення геометричних фігур
- •Експорт зображень
- •6. Графічний інтерфейс (gui)
- •Основні функції gui
- •Створення діаграми
- •Основні блоки Xcos
- •8. Висновки
- •9. Література
Множення і ділення векторів і матриць
Як відомо, операції множення і ділення для векторів і матриць не є тривіальними.
Вектор можна помножити на вектор скалярно (внутрішній добуток), векторно, або утворити так званий зовнішній добуток. Результатом скалярного добутку є число, векторного – вектор, а зовнішнього – матриця.
Скалярний добуток
векторів
a,
b
довжиною N,
що містять дійсні числа, визначається
формулою:
.
Тому, для знаходження такого добутку
слід знайти поелементний добуток
векторів, а далі додати отримані
результати. В SciLab
це можна зробити одною командою: якщо
a і b вхідні вектори, то їх скалярний
добуток буде обраховано командою
sum(a.*b).
Зовнішнім
добутком векторів
a, розміру N і b, розміру M називається
матриця С, розміру
,
елементи якої знаходяться за формулою:
.
Фактично, слід помножити вектор –
стовпець на вектор рядок. Для цього в
SciLab
досить виконати команду c=a*b’, де ’ –
операція транспонування матриці.
Для множення матриць слід пам’ятати, що відповідні розмірності в них повинні співпадати множення виконується за допомогою оператора «*».
Транспонування матриці виконується за допомогою «.’», а знаходження спряженої матриці за допомогою «’».
Піднесення до степеня квадратної матриці, виконується за допомогою оператора «^».
Поелементне піднесення до степеня матриці, виконується за допомогою оператора «.^».
Для ділення елементів одної матриці на відповідний елемент другої, використовується «./», а другої на першу, відповідно «.\».
Функції обробки даних для матриць і векторів
Таблиця 3.11. Функції обробки для матриць і векторів
prod |
Знаходження добутку елементів вектора. Для матриці знаходяться добутки по стовпцях. Щоб знайти добуток по рядках слід вказати prod(M,2), де М – матриця |
cumprod |
Знаходження нагромаджуючого добутку. Для матриці знаходяться нагромаджуючих добутків по стовпцях. |
sum |
Знаходження суми елементів вектора. Для матриці знаходяться суми по стовпцях. Щоб знайти суму по рядках слід вказати sum(M,2). |
cumsum |
Знаходження нагромаджуючої суми. Для матриці знаходяться нагромаджуючі суми по стовпцях. Щоб знайти суму по рядках слід вказати sum(M,2).. |
min |
Знаходження мінімального елементу у векторі. Для матриця відбувається знаходження мінімумів у кожному стовпці |
max |
Знаходження максимального елементу у векторі. Для матриця відбувається знаходження максимальних елементів у кожному стовпці |
length |
Знаходження довжини вектора. |
Можливості вводу і виводу неграфічної інформації
Для вводу даних з клавіатури, або за допомогою миші, під час виконання програми існують такі найпростіші вбудовані засоби:
Функція input
Дозволяє ввід довільних даних з клавіатури, під час виконання програми. Запит на ввід відображається в командному вікні. Має таке застосування:
синтаксис:
змінна = input('рядок тексту, що виведеться')
змінна = input('рядок тексту','s')
приклад: а = input('введітьзначення змінної А: ')
b= input('продовжити роботу? Y/N','s')
В першому випадку може бути введено довільне число, матриця, вектор, або рядок символів в лапках.
В другому випадку довільні введені значення будуть трактуватися як рядок символів.
Функція x_dialog
синтаксис:
змінна = x_dialog('title',’value’)
Функція x_dialog виводить на екран діалогове вікно з ім’ям title, після чого користувач може клацнути ОК, і тоді рядок value повернеться в якості результату у змінну. Або ввести нове значення замість value, яке і повернеться в якості результату у змінну.
приклад: а = x_dialog('введітьзначення змінної А: ',’value’)
Операція виводу на екран неграфічних даних в системі SciLab може бути здійснена кількома способами.
Найпростіший з них – це відсутність в кінці рядка знаку «;». При цьому відбувається автоматичне відображення в командному вікні обрахованих, або просто вказаних даних.
Наприклад:
--> a=12;
--> b=13;
--> c=25;
--> x=a+b;
--> x=a+b
x =
25
--> c
c =
25
Функція disp
Ще один спосіб відображення даних – використання функції «disp» з параметром, який вказує, що слід вивести. При цьому назва параметра не виводиться.
--> disp(x)
25
Функція print
Функція print записує значення змінних у файл.
Синтаксис:
print('file-name',x1,[x2,...xn])
