Лабораторна роботи 1

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

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

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

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Методи та засоби опрацювання сигналів
Варіант:
12

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” / Звіт До Лабораторної роботи №1 З дисципліни: «Методи та засоби опрацювання сигналів» Варіант - 12 Мета: виконати операції над матрицями та векторами в системи SCILAB. Здобути навики роботи в даному середовищі. ТЕОРЕТИЧНІ ВІДОМОСТІ Цифрова обробка сигналів – це область науки і техніки, в якій вивчаються загальні для різних технічних застосувань принципи, методи і алгоритми обробки сигналів засобами обчислювальної техніки. Суть ЦОС як області науки пролягає у розв'язку на обчислювальній машині чотирьох основних задач: - представлення сигналів в зручній для сприйняття формі; - виділення із сигналів корисної інформації; - внесення в сигнали корисної інформації; - формування сигналів із заданими параметрами. Система SCILAB – поєднує розвинену мову програмування та широку бібліотеку чисельних алгоритмів, що охоплює багато областей науки і техніки. Мова програмування SCILAB є високорівневим інтерпретатором. Це означає, що кожна команда виконується незалежно від інших і не потребує загальної компіляції. Так забезпечується простота написання та відлагодження програм, а також швидкість їх виконання. SCILAB дозволяє визначати користувачеві власні типи даних. При цьому стандартним операціям, наприклад, арифметичним операторам або операторам порівняння, можна надати особливого змісту для роботи з власними типами даних. Користувач може створювати власні модулі для вирішення конкретних задач або викликати функції, реалізовані на інших мовах програмування зокрема на С. Найпростішим способом використання SCILAB є безпосереднє введення команд в консолі. Результат виконання при цьому відображається відразу ж після її введення і виконання (натисканням клавіші Enter). Таке покрокове виконання є ефективним для того, щоб зрозуміти поведінку готових програм і дозволяє навчитися писати власні програми. Послідовність команд, призначена для кількаразового використання повинна бути записана і збережена у файлі. У пакеті SCILAB файли бувають двох типів: файл-програми - скрипти (мають розширення .sce) та файл-функції (мають розширення .sci), в яких описані функцій, визначені самим користувачем. Скрипт є послідовністю команд SCILAB, він не має вхідних і вихідних аргументів. Скрипт не вимагає жодних ключових слів для початку і кінця. Виконання команд, що містяться в скрипті може здійснюватися: з редактора файлів; з командного рядка, використавши команду «exec»; з іншого файлу. Фактично, створений файл стає командою, яку розуміє SCILAB. Всі змінні, оголошені в скрипті стаються доступними в робочому середовищі після його виконання. Їх можна використовувати в інших програмах і командах (якщо примусово не очищати пам’ять). Файл-функція – це файл з розширенням .sci, в якому описана деяка функція. Ім’я файлу повинно співпадати з іменем описаної в ньому функції. Обов’язковим першим рядком такого файлу є заголовок функції, який містить: ключове слово «function», список вихідних параметрів , знак «=», ім’я функції та список вхідних параметрів. Декілька вихідних аргументів зручно використовувати для функцій, що повертають не одне, а декілька значень (так звані, вектор-функції). Після заголовку йде тіло функції, в якому відбувається знаходження вихідних параметрів. Закінчуватися функція повинна ключовим словом «endfunction». Виклик функції відбувається після її виконання, шляхом запуску з командного рядка за допомогою команди «exec». Виконання роботи Варіант –12 / Код програми: *.sce exec("D:\fun.sci",0); size_m=input('Enter size_m='); doLab1(size_m); *sci function _matrix=doLab1(size_m) clc clear //n=input('n=') n=size_m; ch=input("input matrix randowize? Y/N ","s"); select ch case 'y' then a=grand(1,3,"uin",1,10) disp(a) mat=grand(n,n,"uin",1,10) disp(mat); case 'n' then a=input("input vector a=") mat=input("input matrix=") disp(mat); else error("Wrong input data") end temp=mean(a); if(modulo(n,2)~=0) pos=find(mat(2:2:$)==a(1) | mat(2:2:$)==a(2) | mat(2:2:$)==a(3)); disp(pos,"start pos: "); pos=pos.*2; disp(pos,"position: "); mat(pos)=temp; else mat=[mat;zeros(1:n)]; //disp(mat_d); pos=find(mat(2:2:$)==a(1) | mat(2:2:$)==a(2) | mat(2:2:$)==a(3)); pos=pos.*2; mat(pos)=temp; disp(pos,"position: "); //disp(mat_d); pos_null=find(mat==0); mat(pos_null,:)=[]; //disp(mat_d); //mat=mat_d; end disp(mat,"result matrix: "); _matrix=mat; endfunction Результат виконання / Рис.1. Результати роботи програми при випадковому заповненні матриці і вектора / Рис.2. Результати роботи програми при ручному заповненні матриці і вектора Висновок: на даній лабораторній роботі я навчився виконати операції над матрицями та векторами в системи SCILAB. Здобув навики роботи в даному середовищі.
Антиботан аватар за замовчуванням

29.03.2019 17:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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