Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Система компьютерной математики Octave. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
x
x
cos
x
3
1
−
−
x
x
cos
−
Вариант 7
2
xx
43
А) Вычислить значения функции
xf
)(
=
+−
для x = -2.7, -0.1, 1.8,
−
2.5, 4.3 и найти произведение полученных значений.
0173
Б) Создать матрицу
 
⋅=
13.0A
 
−−
 
. Вычислить матрицу B, рав-
5213
ную произведению исходной матрицы на результат ее транспонирования. По­лучить матрицу C, обратную к B. Вычислить удвоенные суммы элементов каж­дого столбца матрицы C.
В*) Создать квадратную матрицу D размером N×N (значение N вводится с клавиатуры), в которой элемент D(i,j) равен синусу произведения номера строки на номер столбца.
Вариант 8
x
ln1
А) Вычислить значения функции
xf
+
)(
=
для x = -7, -2.1, 1.3, 2.6, 4.5
+
и найти произведение полученных значений.
3371
Б) Создать матрицу
 
⋅=
26.0A
−
 
. Вычислить матрицу B,
1254
равную произведению исходной матрицы на результат ее транспонирования. Получить матрицу C, обратную к B. Вычислить синусы сумм элементов каждой строки матрицы C.
В*) Создать квадратную матрицу D размером N×N (значение N вводится с клавиатуры), в которой элемент D(i,j) равен десятичному логарифму произве­дения номера строки на номер столбца.
Вариант 9
x
−
e
1
А) Вычислить значения функции
xf
+
)(
=
для x = -1.0, 0.2, 1.1, 2.3, 2.4
и найти произведение полученных значений.
4324
Б) Создать матрицу
 
⋅=
24.0A
 
−
 
. Вычислить матрицу B, рав-
8261
ную произведению исходной матрицы на результат ее транспонирования. По­лучить матрицу C, обратную к B. Извлечь корень кубический из каждого эле­мента матрицы C.
В*) Создать квадратную матрицу D размером N×N (значение N вводится с клавиатуры), в которой элемент D(i,j) равен натуральному логарифму произ­ведения номера строки на номер столбца.
10
x
−
−
8
x
−
x
x
sin
+
−
Вариант 10
x
ex
А) Вычислить значения функции
xf
=2)(
+
для x = 0.2, 0.7, 0.9, 1.2,
1.4 и найти произведение полученных значений.
0318
Б) Создать матрицу
 
⋅=
07.0A
 
−
 
. Вычислить матрицу B, рав-
6542
ную произведению исходной матрицы на результат ее транспонирования. Получить матрицу C, обратную к B. Возвести в квадрат каждый элемент матрицы C.
В*) Создать квадратную матрицу D размером N×N (значение N вводится с клавиатуры), в которой элемент D(i,j) равен корню кубическому из произве­дения номера строки на номер столбца.
Вариант 11
А) Вычислить значения функции
)(
+
=
xf
2cos1
x
2
−
для x = 2.0, 2.6, 3.2, 4.1,
4.5 и найти произведение полученных значений.
8305
Б) Создать матрицу
 
⋅=
29.0A
 
−
 
. Вычислить матрицу B, рав-
0124
ную произведению исходной матрицы на результат ее транспонирования. По­лучить матрицу C, обратную к B. Применить функцию синуса к каждому эле­менту матрицы C.
В*) Создать квадратную матрицу D размером N×N (значение N вводится с клавиатуры), в которой элемент D(i,j) равен утроенному произведению номе­ра строки на номер столбца.
Вариант 12
x
А) Вычислить значения функции
2.4 и
найти произведение полученных значений
xf
)(
=
ln1
для
2
+
x = 0.3, 0.5, 0.9, 1.7,
.
0318
Б) Создать матрицу
 
⋅=
15.0A
 
−
 
.
Вычислить матрицу
6542
B,
рав
ную произведению исходной матрицы на результат ее транспонирования Получить матрицу матрицы
В с клавиатуры
C.
*)
Создать квадратную матрицу
), в
косинус удвоенного номера столбца
C,
обратную к
которой элемент
B.
D
D(i,j)
.
11
Возвести в квадрат каждый элемент
размером
N×N (
значение
N
вводится
равен произведению номера строки на
-
.
xxxy2
cos
sin
+
=
Лабораторная работа № 2
ТАБУЛИРОВАНИЕ ФУНКЦИЙ. ПОСТРОЕНИЕ ГРАФИКОВ
Цель работы: освоить базовые возможности пакета Octave, научиться стро­ить графики функций в декартовой и полярной системах координат.
Кроме режима непосредственных вычислений Octave поддерживает созда­ние m-файлов, объединяющих несколько команд в одну программу – скрипт. Для того чтобы создать скрипт, следует перейти на вкладку Редактор и набрать последовательность команд. После сохранения написанной программы в файле с расширением .m ее можно будет выполнить, нажав клавишу F5 (или выбрав соответствующий пункт меню). В этой и следующих лабораторных ра­ботах мы будем использовать именно эту возможность.
Построение графиков. Пакет Octave предоставляет пользователю целый ряд процедур для построения графиков различного типа. Рассмотрим сначала построение графиков функций одной переменной в декартовой системе коор­динат.
Двумерные графики в декартовой системе координат строятся командой
plot(x, y, 'формат', 'параметр1', значение1,
'параметр2', значение2, …)
где x, y – набор данных для построения графика;
'формат' – необязательная строка формата вывода графика, при ее отсут-
ствии используются значения параметров по умолчанию;
'параметр', значение – указание значений дополнительных парамет- ров, которые могут быть альтернативой (и расширением возможностей) строки формата. В команде
plot
можно указать несколько пар вида 'параметр', значе-
ние, в соответствии с которыми будет выведен график.
Первым многоточием в списке аргументов команды обозначено возможное повторение группы x, y, 'формат' при построении нескольких графиков в одном окне, вторым – группы 'параметр', значение.
Пример 1. Построить график функции
Сначала создадим вектор
x = -pi:pi/50:2*pi;
y = sin(x) + x.*cos(2*x);
x- и y-
Построим график с помощью команды тов форматирования графика
1)
сплошная линия черного цвета толщиной
:
координат графика
plot
.
Приведем несколько вариан
2
пикселя, маркер отсутствует
:
на отрезке
[-π; 2π].
-
:
plot(x, y, 'linestyle', '-',
'linewidth', 2,
'color', 'black')
12
2) линия графика отсутствует, в качестве маркера используется кружок си-
него цвета размером 5 пикселей:
plot(x, y, 'linestyle', 'none',
'color', 'blue',
'marker', 'o', 'markersize', 5)
Более короткая запись команды формата, в которую можно перенести параметры
plot
получается при использовании строки
linestyle, color
и
marker
Так, первый из приведенных в примере графиков может быть построен командой
.
plot(x, y, '-k', 'linewidth', 2)
а второй – командой
plot(x, y, 'bo', 'markersize', 5)
13
Значения параметра 'linestyle':
'-'
– сплошная линия;
'--'
':'
'-.'
– штриховая линия;
– пунктирная ("точечная") линия;
– штрихпунктирная линия.
Значения параметра 'color':
'r'
– красный цвет ('red');
'g'
– зеленый цвет ('green');
'b'
– синий цвет ('blue');
'k'
– черный цвет ('black') и другие. В качестве значения параметра 'color' (но не в строке формата!) можно
использовать вектор [r, g, b] – массив вещественных чисел в диапазоне от 0 до 1 – долей красной, зеленой и синей компоненты цвета.
Значения параметра 'marker':
'o'
– окружность ('circle');
's'
– квадрат ('square');
'd'
– ромб ('diamond') и другие. Полный список параметров и их возможных значений можно посмотреть на
вкладке Документация.
Цвет окаймления графического окна можно задать при его явном создании в
команде
figure
.
Пример:
x=-3:0.5:2; y=sin(x)+x.*cos(2*x); figure('color',[0.75,0.75,0.75]) plot(x,y,':o','linewidth',3)
Синтаксис (один из вариантов) команды
номер_окна = figure('параметр1', значение1, 'параметр2', значение2, …)
figure
:
С помощью этой команды можно создать несколько окон с разными графи-
ками. Однако часто возникает необходимость построить несколько графиков в одном окне. Это можно сделать двумя способами:
1) используя команду удержания окна –
hold on
(рекомендуется, так как
в этом случае обеспечивается полная совместимость с пакетом MatLab);
2) используя команду
plot
с несколькими группами аргументов;
14
xysin
=
xxy2cos
=
3) используя матрицу, в которой каждая строка есть массив значений соот-
ветствующей функции.
Пример 2. Построить в одном окне графики функций
на отрезке
x = -pi:pi/50:2*pi; y1=sin(x); y2=x.*cos(2*x); hold on plot(x,y1,'-b') plot(x,y2,'-r')
[-π; 2π].
Реализуем первый способ
:
Для отключения режима удержания используется команда Три последних команды можно заменить одной (второй способ
plot(x,y1,'-b',x,y2,'-r')
и
hold off
):
.
Для построения набора функций, заданных в одном и том же диапазоне ар
гументов, можно использовать двумерную матрицу (третий способ
x = -pi:pi/50:2*pi; y=sin(x); y(2,:)=x.*cos(2*x); plot(x,y)
):
В этом примере оператор "двоеточие" используется для задания диапазона
изменения второго индекса (номеров столбцов) матрицы
15
y.
Поскольку началь
-
-
ное и конечное значение индекса опущено, Octave определяет диапазон изме­нения индекса по количеству значений в правой части оператора присваивания.
Области определения графиков могут не совпадать, тогда в окне можно по-
строить график, который на разных интервалах задается разными формулами:
x1=-pi:pi/50:0; x2=0:pi/50:2*pi; y1=sin(x1); y2=x2.*cos(2*x2); hold on plot(x1, y1, '-b', 'linewidth',2) plot(x2, y2, '-r', 'linewidth',2) plot(0, 0, 'o', 'linewidth',2, 'markersize',6, 'markeredgecolor','k') hold off
Результат:
Неявно заданные функции. Функция, график которой нужно построить,
может быть задана неявно, в виде уравнения F(x,y) = 0.
Пример 1. Построим график функции, заданной уравнением
2
Выразим из этого уравнения координату x:
.
0164
=−+ yx
2
416 yx −=
. В этом случае роль
независимой переменной будет играть y:
y = -4:0.1:4; x = 16 - 4*y.^2; plot(x, y,'-r','linewidth',2);
16
Заметим, однако, что функция plot в качестве первого параметра всегда по-
лучает вектор x-координат, а в качестве второго – вектор y-координат.
Результат:
Пример 2. Построим график окружности
уравнения y:
2
)1(4 −−±= xy
. Знак "+" в этом выражении соответствует верхней
полуокружности, а знак "-" – нижней полуокружности. Напишем программу.
x = -1:0.1:3; y1=sqrt(4-(x-1).^2); y2=-y1; hold on % рисуем окружность plot(x, y1,'-k','linewidth',2); plot(x, y2,'-k','linewidth',2); % рисуем оси окружности plot([-2,4],[0,0],'-r') plot([1,1],[-3,3],'-r')
22
. Выразим из этого
4)1(
=+− yx
17
Результат:
Параметрическое задание графика
Пример. Построение астроиды:
t =0 : pi/50 : 2*pi; x=cos(t).^3; y=sin(t).^3; plot(x, y,'-r','linewidth',3);
Результат:
18
Графики в полярной системе координат. Функция в полярной системе
координат задает зависимость расстояния между фиксированной точкой (нача­лом координат) и текущей точкой графика от полярного угла.
Пример. Построение архимедовой спирали:
fi=0 : pi/50 : 3*pi; ro=fi; h=polar(fi,ro);
set(h, 'linewidth', 3, 'color','r')
Результат:
Пояснения. Функция
polar
возвращает некоторое вещественное число (де­скриптор графика), используя которое можно устанавливать свойства этого графика с помощью команды и при построении графиков с помощью команды
x1=-2:0.1:0; y1=-x1; x2=0:0.1:2; y2=1-exp(-x2); hold on h1=plot(x1,y1); h2=plot(x2,y2); set(h1,'linewidth',3, 'color','b') set(h2,'linewidth',3, 'color','r') grid on
(команда
grid on
включает режим отображения координатной сетки).
set
. Кстати, этот же подход можно использовать
plot
:
19
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]