Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Z9411_Моделирование_Лаб1_КафкаРС

.pdf
Скачиваний:
9
Добавлен:
24.10.2023
Размер:
1.39 Mб
Скачать

aV = [3.2 2.8 -1.4];

bV = [0.6 3.2 -4.8];

После задания векторов приступим к выполнению вычислительных операций.

На рисунке 19 представлен результат нахождения значения скалярного произведения, определенного с помощью функции sum().

Рисунок 19 – Скалярное произведение векторов

Вычисление векторного произведения векторов возможно реализовать путём использования команды cross(). На рисунке 20 представлен полученный столбец .

Рисунок 20 – Векторное произведение и

Определим модуль вектора как квадратный корень из скалярного произведения данного столбца на самого себя. На рисунке 21 показано численное значение длины столбца .

Рисунок 21 – Длина вектора

Упражнение №8. Построить два графика в рамках одних осей координат:

= 2, = (1) , [0, 4 ].

2

11

Сделать надписи на осях, заголовок для графика, пояснительную надпись на рисунке. Задать самостоятельно тип линий и цвет.

В качестве первого шага для решения поставленной задачи выполним построение графика y(x) с помощью функции plot(). Укажем команду hold on с

целью задержания окна Figure для второй кривой. Получим программную реализацию:

x=0:4*pi;

y=exp(-(x).^2);

plot(x,y);

hold on;

Оставляя графическую область в открытом состоянии, введём с

клавиатуры выражения:

z=atan(x.^(1/2));

plot(x,z);

Таким образом было осуществлено построение кривых двух функций y(x)

и z(x) в одной графической области. Рисунок, полученный в программе,

представлен на иллюстрации 22.

Рисунок 22 – Построение двух графиков в рамках одних осей координат

Для дополнения графиков пояснительными записями и изменения

стилистических характеристик укажем в рабочем окне следующие команды:

12

plot(x,y,'m:+'); hold on plot(x,z,'b-o');

title('Построение графиков функций y(x), z(x)'); xlabel('Ось ОX');

ylabel('Ось ОY-ОZ');

text(3.8, 0.7, 'y=exp(-x^2); z=arctg(x^{1/2})');

На рисунке 23 представлен внешний вид графиков y(x) и z(x) после

добавления дополнений в окно Figure.

Рисунок 23 – Изменение внешнего вида графического окна программы MATLAB

Упражнение №9. Построить графики функций y(x) и z(x) в разных подобластях одного графического окна. Интервалы изменения для х определить самостоятельно.

Для реализации отображения нескольких графиков без конфликта диапазонов осей координат рекомендуется использовать функцию subplot(). Эта команда позволяет разбить блок вывода информации на несколько подобластей, в каждую из которых можно поместить кривые различных зависимостей.

Пропишем в рабочем окне программы следующий код:

x=0:5;

y=exp(-(x).^2);

13

z=atan(x.^(1/2));

subplot(1,2,1); plot(x,y);

axis([0 5 0 1.5]); title('График y(x)');

subplot(1,2,2); plot(x,z);

axis([0 5 0 1.5]); title('График z(x)');

Пример использования инструкции subplot() для вывода графиков двух зависимостей в разных областях показан на рисунке 24.

Рисунок 24 – Применение функции subplot()

Упражнение №10. Построить поверхность:

( , ) = ln( 2 + 2 − ) ; , [1, 2].

Для построения заданной поверхности воспользуемся функцией surf(),

создающей 3D объёмную диаграмму, которая имеет твердые цвета обводки и чистые цвета самого покрытия.

В рабочем окне программы MATLAB пропишем следующий набор команд:

u=1:0.1:2; v=1:0.1:2;

[X,Y]=meshgrid(u,v);

Z=log(X.^2+Y.^2-X.*Y);

surf(X,Y,Z);

Внешний вид поверхности, построенной путём применения инструкции

14

surf(), показан на рисунке 25.

Рисунок 25 – Поверхность, заданная функцией f(x,y)

15

3.Решение типовых задач алгебры и анализа

Упражнение №1. Решить систему уравнений:

+ − = 36 { + − = 13.

+ − = 7

Для решения заданной системы уравнений воспользуемся матричным способом.

Зададим в командном окне приложения матрицы A и C. Первая будет состоять из коэффициентов системы уравнений, элементы второй – правая часть равенств. Запишем их путём применения операции конкатенации с помощью команд, указанных ниже:

A = [[1 1 -1];[1 -1 1];[-1 1 1]];

B = [36; 13; 7];

На рисунке 26 приведен результат определения массивов A и С.

Рисунок 26 – Запись матриц системы уравнений

Найдём значения вектора X с помощью операции левого деления «\», то есть по формуле X=A\C. Результат вычислений приведен на рисунке 27.

16

Рисунок 27 – Решение системы уравнений матричным методом

Упражнение №2. Определить абсциссы точек пересечения графиков функций: = −3 3, = 4 − 2 2 + 10.

Определим отрезки, где графики заданных функций имеют общие точки.

Добавим зависимости y1(x) и y2(x) на одну координатную область. Осуществим описанную задачу с помощью следующего набора команд:

x=-5:5;

y1=-3*x.^3;

y2=x.^4-2*x.^2+10;

plot(x,y1);hold on;

plot(x,y2);

grid on;

На координатной плоскости, приведенной на рисунке 28, несложно отметить интервалы пересечения графиков: (-3,5; -3) и (-2; -1,5).

Рисунок 28 – Поиск общих точек по графику

17

Определение абсцисс точек пересечения соответствует задаче нахождения действительных корней уравнения 3 3 + 4 − 2 2 + 10 = 0 на выделенных отрезках (-3,5; -3) и (-2; -1,5). Реализуем решение поставленного вопроса путём применения функции fzero(). На рисунке 29 приведен результат поиска координат общих точек графиков аналитическим путём.

Рисунок 29 – Нахождение нулей функции

1

Упражнение №3. Вычислить предел: lim(cos ) sin .

→0

Для вычисления пределов в среде MATLAB существует встроенная функция limit(). Перед обращением к ней зададим символьную переменную x с

помощью команды syms.

Полученное численное значение предела указанного выражения представлено на рисунке 30.

Рисунок 30 – Применение функции limit()

18

Упражнение №4. Найти производную от функции y(x):

а) = ln √exp(2 ) + 1; б) 2 2 + 2 ln( ) = 4.

Для выполнения операции дифференцирования используется встроенная команда diff(). В случае определения производной функции, заданной явно, в качестве параметра для diff() следует указать только само выражение, как это показано на рисунке 31.

Вторая функция из условия задачи определена неявно. В таком случае последовательно найдём дифференциал выражения по переменной x, затем по переменной y. Конечным результатом будет частное двух полученных формул,

взятое со знаком «минус». Производная второго выражения приведена на рисунке 32.

Рисунок 31 – Поиск производной функции,

Рисунок 32 – Поиск производной функции,

заданной явно

заданной неявно

Упражнение №5. Найти вторую производную от функции:

+ 1

= . √1 − − 2

Чтобы продифференцировать заданную функцию n раз, нужно выполнить вызов команды diff() в следующей форме: diff(S, 'v', n), где S – дифференцируемое выражение, v – переменная дифференцирования. Также воспользуемся инструкцией simplify(), позволяющей упростить требуемую формулу.

На рисунке 33 приведена формула второй производной функции y(x).

19

Рисунок 33 – Вычисление производной второго порядка

Упражнение №6. Вычислить определенный интеграл:

 

/4 cos(2 ) + 2

(2 )

 

 

 

.

 

sin(3 )

 

/7

 

 

 

 

 

Для вычисления определенного интеграла заданной функции требуется обратиться к команде int() следующим образом: int(S, t1, t2), где S – формула,

стоящая под знаком интеграла, t1 и t2 – нижний и верхний пределы. Также воспользуемся инструкцией double(), позволяющей получить численный ответ.

На рисунке 34 приведено значение заданного определенного интеграла.

Рисунок 34 – Вызов функции int()

Упражнение №7. Вычислить двойной интеграл:

01 12 2 exp( + sin( )) cos( ) .

Двойные интегралы в MATLAB вычисляются с помощью специальной функции dblquad(). Формат её применения наглядно показан на рисунке 35.

Рисунок 35 – Вычисление двойного интеграла

20