Виконання елементарних операцій над сигналами в системі SCILAB

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Обробка сигналів

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Звіт з лабораторної роботи №1 з дисципліни: «Цифрова обробка сигналів» на тему: «Виконання елементарних операцій над сигналами в системі SCILAB» Завдання Варіант - 20 Задати квадратну матрицю А порядку . Знайти вектор А*в, при чому елементи вектора в визначити за формулою: . Результати ознайомлення з програмним середовищем Виходячи з поставленого завдання та можливостей системи Scilab, для вводу даних з клавіатури оберемо функцію «input», яка дозволить в інтерактивному режимі задати розмірність матриць А, В. Далі, використаємо можливість діалогу для вибору способу задання елементів матриці А. Для цього найдоцільніше скористатися оператором «select», який забезпечить порівняння введеного символу з еталоном та виконання відповідних дій. Так, якщо на запитання про введення матриць за допомогою випадкового заповнення, буде дано ствердну відповідь (символ «Y» або «y»), то відбудеться виклик вбудованої функції «rand». Якщо ж відповідь буде негативна (символ «n»), то користувач отримає можливість ввести елементи обох матриць з клавіатури за правилами Scilab (в квадратних дужках, розділяючи рядки знаком «;», а стовпці – «,»). Якщо ж введена відповідь буде інакшою, то виведеться повідомлення про помилку і програма завершиться. Для утворення матриці В треба скористатися заданою формулою обчислення її елементів та оператором циклу «if» «end». У класичному випадку (наприклад у мові СІ), слід було б організувати вкладений цикл по номеру рядка та по номеру стовпця (і та j, відповідно). Однак, оскільки Scilab орієнтований на роботу з масивами даних, достатньо утворити цикл лише по одному параметру, а інший задати як вектор з n значень. При цьому при кожному входженні в цикл буде утворюватися не один елемент матриці, а цілий рядок, або стовпець (в залежності від того по якому параметру організований цикл). На завершальному етапі слід знайти матрицю Х. Для цього досить записати задану формулу її обчислення так, ніби працюємо зі скалярними значеннями, а Scilab забезпечить коректний обрахунок шуканої матриці. Зауважимо, що спосіб відображення даних на екран неграфічних даних в системі Scilab – використання функції «disp». Наприклад, команда: «disp(с)» - приведе до виводу значення змінної с у вигляді: <значення с>. Для того, щоб не відбувалося звертання до заповнених областей пам’яті на початку програми слід скористатися командою «clear» з параметром «all», що дозволить очистити всю доступну пам’ять. Для очищення командного вікна використовується команда «clc». При використанні графічних вікон, для їх автоматичного закриття слід звернутися до команди «close». Нижче приведено текст програми, що реалізовує завдання. Ця програма містититься в файлі lab1.sce, який слід запускати з середовища Scilab. Виконання та відображення буде відбуватися в командному вікні. Текст програми clc clear all n=input('n=') choice=input('input matrix randomize? Y/N ',"s"); select choice case 'y' then a=10.*rand(n,n); case "n" then a=input('input matrix A =') else error("Wrong answer") end disp(a,'a=') i=[1:n]; disp(i,'i=') for i=1:n if pmodulo(i,2)==0 then b(i)=1/((i*i)+2) elseif pmodulo(i,2)<>0 b(i)=1/i else error("Pomylka") end end disp(b,'b=') c=a*b; disp(c,'c=') Результат виконання програми / Рис. 1 – Результат виконання програми Висновки В результаті виконаної лабораторної роботи я ознайомився з можливостями програмного середовища SCILAB, освоїв основні програмні конструкції та продемонстровані засоби графічного та неграфічного відображення інформації. Крім того, виконав поставлене індивідуальне завдання, що закріпило навики на практиці.
Антиботан аватар за замовчуванням

19.03.2017 16:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!