Викладання обчислювальних наук за допомогою MATLAB та Simulink - Завантажити PDF безкоштовно
Викладання цифрових наук за допомогою MATLAB та Simulink Дізнайтеся, як підійти до числових наук за допомогою MATLAB та Simulink: Мова та програмування, двійкове представлення та булеві операції, збір та аналіз цифрового зображення, придбання звуку, перегляд графіків, архітектура комп’ютерів та мережеві комунікації, Програмування робота 2014 The MathWorks, Inc. 1

Вступ до преамбули: Цей буклет призначений для вчителів середньої та старшої школи, які викладають програмування та цифрові науки. У ньому представлено, як підійти до різних тем програми “Комп’ютерні науки та цифрові науки” за допомогою програм MATLAB та Simulink. Для кожної з цих тем: згадуються освітні цілі програми, пропонується додаток, модель або програма для її вирішення, пропонується набір питань для використання цих програм у класі, відповіді даються в кінці посібник. Ресурси: Академічний веб-сайт: http://fr.mathworks.com/academia/lycees/ Веб-сайт ISN: http://fr.mathworks.com/academia/lycees/sisn.html Навчальні ресурси: http: //fr.mathworks. com/academia/classroomresources/index.html Підтримувані апаратні цілі: http://fr.mathworks.com/academia/hardware/index.html Підручники: http://fr.mathworks.com/academia/ student_center/tutorials/index. html Академічні вебінари: http://fr.mathworks.com/company/events/webinars/index.html?q=%2520sector:%2522educati на% 2522 2
Запуск та встановлення програми MATLAB: 1. Програми, програми та шаблони, описані в цьому буклеті, можна завантажити за адресою: http://www.mathworks.com/matlabcentral/fileexchange/47854 2. Щоб встановити програми: натисніть Встановити програму в банер MATLAB. Виберіть файл monapp.mlappinstall. Потім встановіть. 3. Зробіть те саме для файлу DataAcquisition.mlappinstall 4. На вкладці Програми натисніть стрілку, щоб переглянути всі Програми. 5. Двічі клацніть на програмі monapp: Пакет підтримки для Raspberry Pi та LEGO MINDSTORMS: Для підключення та програмування плат Raspberry Pi та роботів LEGO Mindstorms EV3 та NXT від Simulink: 1. На банері MATLAB виберіть, а потім - Отримати апаратну підтримку Пакети. 2. Виберіть необхідні пакети підтримки та дотримуйтесь процедури встановлення. 3
Мови та програмування за допомогою MATLAB (1/2) Цілі програми: Виберіть тип даних відповідно до проблеми, яку потрібно вирішити Спроектуйте заголовок функції, а потім саму функцію Приклад 1: Типи даних 1. MATLAB автоматично визначає тип даних ваших змінних (double, char, boolean). 2. Введіть кому для перегляду змінних робочої області, їх типу та розміру, який вони займають у пам'яті. На скільки байтів зберігається ціле число? Подвійний? Персонаж? 3. Вікно робочого простору дозволяє переглянути ці самі змінні. Дізнайтеся більше про типи даних у MATLAB. Приклад 2: Проектування заголовка функції 1. Заголовок функції myfun, що приймає x1. xm як вхід і повернення y1. yn на виході s записує: function [y1. yn] = myfun (x1. xm) 1. Код аналізатора допомагає правильно написати заголовок своєї функції (вхідна змінна не використовується, вихідна змінна не призначена). Для отримання додаткової інформації Відео: Представлення основних типів даних MATLAB Відео: Програмування та розробка алгоритмів за допомогою MATLAB 4
Мови та програмування за допомогою MATLAB (2/2) Мета програми: Розробити програму, протестувавши її, інструментуючи її. Приклад 3: Виправлення синтаксичних помилок стало простішим за допомогою аналізатора коду. Аналізатор коду відображає помилки та потенційні проблеми у вашому коді, а також можливі вдосконалення. Це полегшує виправлення помилок і, отже, вивчення синтаксису. 1. Функція навпроти містить чотири синтаксичні помилки. Виправте їх, використовуючи попередження та помилки аналізатора коду. 2. Перейменуйте змінну Sorted у Sorted протягом усієї програми. Відредагуйте перший випадок, потім натисніть Shift + Enter, щоб перейменувати всі екземпляри. Приклад 4: Налагодження програм Налагоджувач дозволяє: встановити точки зупинки та умовні точки зупинки (зупинити, якщо змінна досягає певного значення) у ваших програмах. Запустіть програму поетапно. Перегляньте значення змінних інтерактивно. 5
Бінарне представлення та логічні операції Цілі програми: Використання елементарних операцій для обробки трьох основних одиниць: біт, байт, слово Вираження простих логічних операцій шляхом комбінування основних операторів Кодування числа, символу за допомогою стандартного коду Приклад 1: Додаток для перетворення між двійкові, десяткові та символьні типи (встановлювати з папки \ DataTypeConversion) Перетворити 10 із: двійковий у двійковий десятковий у двійковий Символ у двійковий шістнадцятковий у двійковий Чи однаковий результат? Що відбувається при перетворенні 10 із символу типу в двійковий тип? Знайдіть результат у 2 кроки, переходячи від: Символ до десяткового за допомогою таблиці ASCII Потім десятковий до двійкового Приклад 2: Логічна операція з Simulink (модель у \ Boolean) Виберіть і підключіть логічні шлюзи ab, передбачені в моделі, та заповніть істину таблиця. 0 0 0 1 НЕТ а НІ b (НЕ a) І (НЕ b) ((НЕ a) АБО (НЕ b)) (a АБО b) 1 0 1 1 Виконайте такі операції: 10001 2 І 100010 2 90 АБО 100010 6
Цілі програми сканування зображення: Сканування зображення як таблиці числових значень Змінення формату, розміру, контрасту або яскравості цифрових зображень 3 1 2 5 8 4 6 7 Приклад: Придбайте цифровий тип зображення imaqtool у командному рядку MATLAB або запустіть програму Image Acquisition 1. Виберіть камеру 2. Виберіть роздільну здатність 3. Виберіть колірний простір (RGB або відтінки сірого) 4. Запустіть попередній перегляд. 5. Налаштуйте контраст, яскравість, параметри експозиції 6. Для кожного набору параметрів запустіть придбання 7. Збережіть зняте зображення у робочій області MATLAB або у файлі (.MAT або формат зображення). 8. Щоб проаналізувати зображення, виберіть Інструмент зображення. 9. Ви також можете визначити область інтересу на зображенні (вкладка Регіон інтересів) 10. Отримайте кілька кадрів (одне відео!). Для цього перейдіть на вкладку Triggering та змініть "Number of Triggers", встановіть кількість кадрів для запису або Infinite, якщо ви хочете зупинити запис вручну. 11. Початок/зупинка придбання. 7
Завдання програми стиснення: Використовувати програмне забезпечення для стиснення Приклад: Стиснення JPEG та коефіцієнт якості (встановлюється з папки \ JPEGCompression) Запустіть програму стиснення JPEG. 1. Завантажте зображення (Файл> Відкрити) 2. Встановіть коефіцієнт якості на 100 і поступово знижуйте коефіцієнт якості. З якого значення ви помічаєте різницю між початковим та стисненим зображенням? Зверніть увагу на це значення. 3. Продовжуйте знижувати фактор якості. В яких областях зображення якість погіршується швидше? 4. Чи пропорційні розмір файлу та коефіцієнт якості? 5. Завантажте нове зображення. 6. Скиньте коефіцієнт якості до 100 і знижуйте коефіцієнт якості, доки не помітите різницю між вихідним та стисненим зображенням. Чи таке саме значення, як зазначене для зображення №1? Чому? 9
Застосування обробки зображень: Цифрові водяні знаки Цілі програми: Розробити програму Зрозуміти та пояснити, що робить алгоритм Фільтрувати та виявляти конкретну інформацію Оцифрувати зображення Приклад: Вступ до цифрового водяного знаку (встановлювати з папки \ Водяні знаки) Цифровий водяний знак дозволяє вам додати інформацію про авторські права або інші повідомлення про перевірку в аудіо, відео, зображення або інший цифровий документ. Повідомлення, що входить до хост-сигналу, являє собою набір бітів, зміст яких залежить від програми. Це може бути ім’я власника або форма підпису. Назва цієї техніки походить від маркування паперових документів та квитків. У цьому випадку повідомлення перетворюється у двійкове, а потім зберігається у піксельному значенні зображення. Номер біта та кольоровий компонент, у якому зберігається повідомлення, залишається за вибором користувача. Запустіть програму Watermarking 1. Завантажте зображення 2. Введіть повідомлення 3. Виберіть номер біта та кольоровий компонент, що зберігає інформацію. 4. Який бітовий номер слід вибрати, щоб повідомлення було не дуже помітним? Чому? 10
Розширені алгоритми: графіки Цілі програми: Пошук шляху в графіку за допомогою глибини (DFS) або ширини (BFS) пошук коротшого шляху за допомогою маршруту ширини (BFS) Приклад: Програма перегляду графіків (встановлюється з папки \ Graph ) Запустіть програму Graph Traverse 1. Створіть розріджену матрицю, що представляє ваш графік (розріджений документ). Якщо значення матриці в рядку i та стовпці j дорівнює a (a> 0), це означає, що між вузлами i та j існує орієнтована дуга вагою a. Матриця, що відповідає наведеному графіку, будується з таким синтаксисом: >> W = [.41.99.51.32.15.45.38.32.36.29.21]; >> G = розріджена ([6 1 2 2 3 4 4 5 5 6 1], [2 6 3 5 4 1 6 3 4 3 5], W) Дуга, орієнтована між вузлом 6 і вузлом 2 вагою 0,41. 2. Збережіть матрицю у файлі graph.mat: >> збережіть graph.mat G 3. У додатку завантажте файл graph.mat. 4. Виберіть алгоритм: «Найкоротший шлях»: виберіть початковий вузол і кінцевий вузол «Маршрут DFS» або «Маршрут BFS»: виберіть початковий вузол 5. Запустіть алгоритм у режимі «крок за кроком» або «нормально». Початковий вузол Кінцевий вузол Вага 12
Архітектура комп’ютера та мережі (2/2) Цілі програми: Поясніть роль компонентів комп’ютера Встановіть послідовний зв’язок між двома машинами Опишіть ситуацію адресації у певному типі мережі Приклад: Wi-Fi зв’язок між двома картами Raspberry Pi Приймач (receiver_decrypt .slx): отримує зображення у вигляді кадрів, переформатує його, витягує зашифроване зображення та відображає його. Прийом кадрів UDB за допомогою wifi Відображення розшифрованого зображення на екрані SDL Екран SDL донгла екран SDL 5. Приймач: Двічі клацніть на блоці UDP Receive. Який порт нам дати? Як знайти розмір отриманого кадру (розмір даних) відповідно до розміру вихідного зображення? 6. Приймач: Двічі клацніть на блоці «розшифрувати» та проаналізуйте алгоритм розшифровки. Як це працює? Чи точно розшифроване зображення відповідає вихідному? 14
Виявлення цифрової системи та її програмування Цілі програми: Визначити різні компоненти мініробота та зрозуміти їх ролі Описати просту систему подій за допомогою кінцевого автомата Програмувати мініробота мовою високого рівня, щоб він виконував складне завдання 16
Виправлені мови та програмування за допомогою MATLAB: Приклад 1 2. Ціле число зберігається в 1 байті, подвійне - у 8 байтів, символ - у 2 байтах. Приклад 3 1. Виправлена програма: function [T_trie] = tri_insertion (t)% Алгоритм сортування за допомогою вставки% T Масив, що підлягає сортуванню% T_trie відсортований масив T_trie = T; для i = 2: довжина (T) x = T_trie (i);% значення, яке потрібно вставити по черзі i j = i; while (j> 1 && T_trie (j-1)> x) T_trie (j) = T_trie (j-1);% зміщення більших значень j = j-1; end T_trie (j) = x;% Вставити у правильному вікні end Бінарне подання та логічні операції: Приклад 1 10 у десятковому кодується 1010 у двійковому вигляді, а 10 у символі кодується 01100010110000 у двійковому. Кожен символ із 10 (1 та 0) перетворюється. Результатом є об'єднання символів 1 і 0 у двійкові перетворення. 1 (char) -> 49 (ASCII) -> 0110001 (двійковий) 0 (char) -> 48 (ASCII) -> 0110000 (двійковий) За допомогою конкатенації 10 (char) -> 01100010110000 (двійковий) Приклад 2 ab NO a NO b (НЕ a) І (НЕ b) ((НЕ a) АБО (НЕ b)) (a АБО b) 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 (10001 2 І 100010 2) = (0 2) 90 10 АБО 100010 2 = (0111 1010 2) 17