русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Побудова таблиць значень функції однієї змінної в пакеті MatLab

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

у точках 0.2, 0.3, 0.5, 0.8, 1.3, 1.7, 2.5.

Завдання вирішується в два етапи.

1. Створюється вектор-рядок х, містить координати заданих точок.
2. Обчислюються значення функції y(х)від кожного елемента вектора х і записуються отримані значення в вектор-рядок .
Значення функції необхідно знайти для кожного з елементів вектор-рядки х, тому операції вираз для функції повинні виконуватися поелементно.

» х = [0.2 0.3 0.5 0.8 1.3 1.7 2.5]
х =
0.2000 0.3000 0.5000 0.8000 1.3000 1.7000 2.5000 » y = sin(x).^2./(l+cos(x))+exp(-x).*log(x)
У =
-1.2978-0.8473-0.2980 0.2030 0.8040 1.2258 1.8764

Зверніть увагу, що при спробі використання операцій зведення в ступінь ^, ділення та множення * (які не належать до поелементним) виводиться повідомлення про помилку вже при зведенні sin(x) у квадрат:

» y = sin(х)^2/(1+соз(х))+exp(-x)*log(x)
??? Error using ==> ^
Matrix must be square.

Справа в тому, що в MatLab операції * і ^ застосовуються для перемноження матриць відповідних розмірів і зведення квадратної матриці у ступінь.
Таблиці можна надати більш зручний для читання вигляд, розташувавши значення функції безпосередньо під значеннями аргументу:

» х
х =
0.2000 0.3000 0.5000 0.8000 1.3000 1.7000 2.5000 » у
у =
-1.2978-0.8473-0.2980 0.2030 0.8040 1.2258 1.8764

Часто потрібно вивести значення функції в точках відрізка, віддалених один від одного на рівну відстань (крок). Припустимо, що необхідно вивести таблицю значень функції y(х)наотрезке [1, 2] з кроком 0.2. Можна, звичайно, ввести вектор-рядок значень аргументу х=[1, 1.2, 1.4, 1.6, 1.8, 2.0] з командного рядка і обчислити всі значення функції так, як описано вище. Однак, якщо крок буде не 0.2, а, наприклад 0.01, то чекає велика робота по введенню вектора х.
В MatLab передбачено просте створення векторів, кожен елемент яких відрізняється від попереднього на постійну величину, тобто на крок. Для введення таких векторів служить двокрапка (не плутайте з індексацією за допомогою двокрапки). Наступні два оператора призводять до формування однакових вектор-рядків. Умовно можна записати

» х = [1, 1.2, 1.4, 1.6, 1.8, 2.0]
х =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
» х = [1:0.2:2]
х =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

Умовно можна записати

х = [початкове значення : крок : кінцеве значення]

Необов'язково піклуватися про те, щоб сума передостаннього значення кроку дорівнювала б кінцевого значення, наприклад, при виконанні наступного оператора присвоювання

» х = [1:0.2:1.9]
х =
1.0000 1.2000 1.4000 1.6000 1.8000

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

» х = [1.9:-0.2:1]
х =
1.9000 1.7000 1.5000 1.3000 1.1000

У разі негативного кроки для отримання непустий вектор-рядки початкове значення повинно бути більше кінцевого.
Для заповнення вектор-стовпчика елементами, що починаються з нуля і закінчуються 0.5 з кроком 0.1, слід заповнити вектор-рядок, а потім використовувати операцію транспонування:

» х = [0:0.1:0.5]"
х =
0
0.1000
0.2000
0.3000
0.4000
0.5000

Зверніть увагу, що елементи вектора, заповнюємо за допомогою двокрапки, можуть бути тільки речовими, тому для транспонування можна використовувати апостроф замість точки з апострофом.
Крок, що дорівнює одиниці, допускається не вказувати при автоматичному заповненні:

» х = [1:5]
х =
1 2 3 4 5

Нехай потрібно вивести таблицю значень функції

на відрізку [0, 1] з кроком 0.05,
Для виконання цього завдання необхідно виконати наступні дії:

1. Сформувати вектор-рядок х за допомогою двокрапки.
2. Обчислити значення (х)отэлементов х.
3. Записати результат в вектор-рядок y.
4. Вивести хі .

» х = [0:0.05:1];
» = ехр(-х).*sin(10*x);
» х
х =
Columns 1 through 7
Про 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000
Columns 8 through 14
0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500
Columns 15 through 21
0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000
» у
У =
Columns 1 through 7
0 0.4560 0.7614 0.8586 0.7445 0.4661 0.1045
Columns 8 through 14
-0.2472-0.5073-0.6233-0.5816-0.4071-0.1533 0.1123
Columns 15 through 21
0.3262 0.4431 0.4445 0.3413 0.1676-0.0291-0.2001

Вектор-рядки x і yскладаються з двадцяти одного елемента, і не поміщається на екрані в один рядок, тому виводяться по частинах. Так як х іy зберігаються в двовимірних масивах розмірністю один на двадцять один, то виводяться по стовпцях, кожен з яких складається з одного елемента. Спочатку виводяться стовпчики з першого по сьомий (columns 1 through 7), потім - з восьмого за чотирнадцятий (columns 8 through 14), і нарешті - з п'ятнадцятого по двадцять перший (columns 15 through 21). Більш наочним і зручним є графічне представлення функції.

Переглядів: 4539

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн