РОБОТА З МАТРИЦЯМИ

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

Розміри всіх векторів і матриць повинні бути оголошені в операторі DIM до того, як ними будуть користуватися (див підрозд 411) Перед роботою з масивами зверніться в підрозділ 412 щодо початкового значення індексів, так як матричні функції обробляють лише елементи масиву з ненульовими індексами

Багато версій Бейсика для мікроЕОМ не передбачають описуваних в цьому розділі матричних функцій, тому дії функцій реалізуються також за допомогою груп операторів Бейсика Однак в останньому випадку ці дії будуть виконуватися дуже повільно, особливо при роботі з великими матрицями (налічують більше 10 * 10 елементів) І якщо швидкість виконання виявляється критичною, то можна написати відповідні цим діям команди на машинній мові і для виклику написаної на машинному коді процедури використовувати оператор CALL, передбачений в багатьох версіях Бейсика Для Вашої ЕОМ можуть матися у продажу готові пакети таких процедур

53 ОПИС РОЗМІРІВ

Масив, заданий визначенням DIM A (3), можна інтерпретувати як вектор, наприклад як вектор-рядок

(A1 a2 а3) або вектор-стовпець

Конкретний спосіб інтерпретації залежить від того, як цей вектор використовується в операторі множення матриць В системі ці два типи векторів не розрізняються

Масив, заданий визначенням DIM В (3,4), можна розглядати як матрицю 3 * 4:

Перший з індексів у наведеному вище описі, 3, задає число рядків, а друга індекс, 4, – число стовпців Це відповідність вибрано так, що елементу bIJ в алгебраїчній нотації відповідає В (I, J) при записи на Бейсике Деякі системи здатні автоматично перевизначати розміри Хоча при цьому загальне число елементів в матриці не може бути змінено після того, як вона була визначена оператором DIM, але межі індексів міняти можна Наприклад, матриця В (3,4) з наведеного вище прикладу має 12 елементів і може бути використана як В (2,5), що має 10 елементів, або як В (4,3), що має 12 елементів Нові кордони для індексів можуть бути встановлені в результаті або явного їх визначення, або застосування таких матричних операцій, як множення, додавання чи звернення Подивіться в керівництві по Вашій системі, чи відбувається в ній перевизначення розмірів

54 МАТРИЧНІ ЗНАЧЕННЯ

541 ВВЕДЕННЯ І ВИВЕДЕННЯ МАТРИЦЬ

У підрозд 416 досить повно обговорювалося застосування операторів MAT INPUT і MAT PRINT,

оскільки вони дуже корисні, навіть якщо не користуватися операціями над матрицями

Оператор MAT INPUT Загальна форма запису: MAT INPUT матриця

де матриця – Імя (без вказівки дужок або індексів) одновимірного або двовимірного масиву Система видає запрошення до введення даних, наприклад знак питання () Дані можна набирати на клавіатурі, розділяючи їх комами Якщо на одному рядку набрано менше даних, ніж потрібно, то будуть видані нові запрошення до вводу Надлишкові дані ігноруються Звичайне угоду при введенні матриць полягає в тому, що другий індекс змінюється швидше, тобто введення відбувається по рядках

У деяких системах допускається вказівка ​​в операторі введення списку матриць і векторів, імена яких розділяються комами Принаймні, в одній системі в цьому операторі замість службового слова INPUT використовується READ

Для імітації оператора MAT INPUT А можна використовувати наступні оператори Бейсика:

При роботі з системою ВВС приберіть кому з рядка 30

У деяких системах передбачений оператор MAT LINPUT, який здійснює введення матриць і векторів, елементами яких є рядки символів Цей оператор працює аналогічно оператору LINPUT, описаному в підрозділ 424

Оператор MAT READ

Загальна форма запису: MAT READ матриця де матриця імя одновимірного або двовимірного масиву

Діє аналогічно оператору MAT INPUT, тільки бере значення з операторів DATA Опис стандартних операторів READ і DATA см в розд 44 Оператор MAT PRINT  Загальна форма запису: MAT PRINT список матриць

де список матриць – Одна або кілька матриць, імена яких розділені комами або крапками з комою

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

Якщо як роздільник замість коми крапку з комою, то елементи кожного рядка друкуються впритул

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

операторі PRINT Наведемо звичайний еквівалент на Бейсике для оператора MAT PRINT А, В:

Джерело: Уолш Б Програмування на Бейсике: Пер з англ М: Радіо і звязок, 1988 336 с: ил

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*