Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лістинг 5.3. Файл-функція для вирішення квадратного рівнянняСодержание книги
Поиск на нашем сайте
function [x1,x2]=quadeq(а,b,c) D=b^2-4*a*c; x1=(-b+sqrt(D))/(2*a); x2=(-b-sqrt(D))/(2*a); При виклику quadeq з командного рядка використовуйте квадратні дужки для вказівки змінних, в які будуть занесені значення коріння: >> [r1,r2]=quadeq(1,3,2) Зауважте, що файл-функцію quadeq можна викликати без вихідних аргументів, або лише із одним вихідним аргументом. В цьому випадку повернеться тільки перший корінь. Файл-функція може і не мати вхідних або вихідних аргументів, заголовки таких файл-функцій приведені нижче: function noout(а,b), function [v,u]=noin, function noarg() Уміння писати власні файл-функції і файл-програми необхідне як при програмуванні в MatLab, так і при рішенні різних задач засобами MatLab (зокрема, пошуку коріння рівнянь, інтеграції, оптимізації). Розберемо тільки один приклад, пов'язаний з побудовою графіка функції на відрізку [0,1]. Запрограмуйте файл-функцію myfun для обчислення f (x). Використовуйте по-елементні операції (див. лістинг 5.4) для того, щоб myfun можна було викликати від вектора значень аргументу і одержати вектор відповідних значень функції. Лістинг 5.4. Файл-функція myfun function y=myfun(x); y=exp(-х).*(sin(x) +0.1*sin(100*pi*x)); Графік f(x) можна одержати двома способами. Перший спосіб полягає в створенні вектора значень аргументу, скажемо з кроком 0.01, заповненні вектор значень функції і виклику plot: >> x=[0:0.01:1]; >> y=myfun(x); >> plot(x,y) В результаті виходить графік, приведений на мал. 5.1, а, який, очевидно, невірний. Дійсно, при обчисленні значень функції на відрізку [0,1] з кроком 0.01 доданок весь час звертався в нуль і plot побудувала графік не f(x), а іншій функції. Непродуманий вибір кроку часто призводить до втрати істотної інформації про поведінку функції. У MatLab є вбудована функція fplot — деякий аналог plot, але з автоматичним підбором кроку при побудові графіка. Першим вхідним аргументом fplot є ім'я файл-функції, а другим — вектор, елементи якого є межі відрізків: fplot('ім'я файл-функції', [а,b]). Побудуйте тепер в новому вікні графік f(x) за допомогою fplot: >> figure >> fplot('myfun'[0,1]) Вийшов графік, що точно відображає поведінку функції (рис. Д5.1, б).
а) б) рис. Д 5.1 Графіки функцій Завдання для самостійної роботи 1. Написати файл-функції і побудувати графіки на заданому відрізку за допомогою plot (з кроком 0.05) і fplot для наступних функцій: Варіанти 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
2. Написати файл-функцію для вирішення поставленого завдання. Варіанти 1. Написати файл-функцію, яка по заданому вектору визначає номер його елементу з найбільшим відхиленням від середнього арифметичного всіх елементів вектора. 2. Написати файл-функцію, що повертає суму всіх елементів вектора з непарними індексами. 3. Написати файл-функцію, що обчислює максимальне значення серед діагональних елементів заданої матриці. 4. Написати файл-функцію, що переставляє перший стовпець квадратної матриці з її діагоналлю. 5. Написати файл-функцію, яка підсумовує всі не діагональні елементи заданої матриці. 6. Написати файл-функцію, замінюючи максимальний елемент вектора середнім значенням всіх його елементів. 7. Написати файл-функцію, замінюючи елемент матриці з індексами 1,1 добутком всіх елементів матриці. 8. Написати файл-функцію, яка будує багатокутник (замкнутий) по заданих векторах x і y з координатами вершин. 9. Написати файл-функцію, яка відображає елементи заданого вектора синіми маркерами, а максимальний елемент — червоним і повертає значення і номер максимального елементу. 10.Написати файл-функцію, що переводить час в секундах в години, хвилини і секунди. Програмування Мова програмування MatLab достатньо проста, вона містить основний набір конструкцій: оператори галуження і цикли. Простота мови програмування окупається величезною кількістю вбудованих функцій, які дозволяють вирішувати задачі із різних областей. Цикл for використовується для повторення операторів у разі, коли число повторень заздалегідь відоме. У циклі for використовується лічильник циклу, його початкове значення, крок і кінцеве значення указуються через двокрапку. Блок операторів, розміщений усередині циклу, повинен закінчуватися словом end. Лістинг 6.1 містить файл-програму для виведення графіків функції на відрізку, для значень параметра .
|
||||
Последнее изменение этой страницы: 2016-04-18; просмотров: 316; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.232.9 (0.007 с.) |