МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение высшего профессионального образования
Санкт-Петербургский государственный университет технологии и дизайна
СЕВЕРО-ЗАПАДНЫЙ ИНСТИТУТ ПЕЧАТИ
Факультет: Полиграфических технологий и оборудования
Специальность: Информационные технологии в медиаиндустрии
Форма обучения: очная
Кафедра: Информационных и управляющих систем
Отчет
Дисциплина: Математика
Тема: Построение графиков функций на плоскости
Выполнил:
Студент группы ИМ2 __________ Котикова К. В.
(подпись) (Ф.И.О.)
Руководитель:
________________ __________ Жихарева А. А.
(уч.степень, звание) (подпись) (Ф.И.О.)
Дата защиты работы ____________
Оценка _________________________
Санкт-Петербург
2012
Задание 1_а
Функция
f.m
function y=f1(x)
y=(x*2)./(x.^(1/3))-1./(x.^(1/3))-x*2;
Скрипт
x=-1:0.1:7; f_0=f1(x); x_0=1; y_0=f1(x_0); x_1=3; y_1=f1(x_1); plot(x,f_0,'b',x_0,y_0,'ro',x_1,y_1,'ro')
title('График функции y=(x*2)/(x^(1/3))-1/(x^(1/3))-x*2','Fontname','Arial cyr'), grid on
xlabel('x')
ylabel('y')
text(x_0+0.2,y_0+0.2,'\leftarrow x=1')
text(x_1+0.2,y_1,'\leftarrow x=3')
Comand window
>> Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 1
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 1
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 1
>>
Задание 1_b
Скрипт
%находим производные функции
syms r;
f=(r*2)/(r^(1/3))-1/(r^(1/3))-r*2;
p_1=diff(f)
p_2=diff(f,2)
%Для отображения на графике используем функцию plot, где x - вектор
%значений аргумента, f_x - вектор соответствующих значений функции f1,
%вызванной из m-файла f1.m, '-b'- стиль графика (в нашем случае он будет
%в виде сплошной линии синего цвета)
x=-3:0.1:7; f_x=f1(x);
plot(x,f_x,'-b')
%Чтобы графики отобразились в одном окне и в одной системе координат
%используем функцию hold on ("заморозка окна")
hold on
%Берем из окна comand window получившиеся выражения (производные)
%и приводим в форму, при которой вычисления поводятся с каждым элементом
%вектора x, используя символ покомпонентной операции (.)
%На графике первая производная будет изображаться в виде прерывистой линии
%красного цвета
f_1=4./(3.*(x.^(4/3)))+1./(x.^(4/3))-2;
plot(x,f_1,':r')
hold on
%Вторая производная будет изображаться в виде прерывистой линии
%зеленого цвета
f_2=-4/9./x.^(4/3)-4/9./x.^(7/3);
plot(x,f_2,':g')
hold on
%Для удобного отображения графиков изменим масштаб. Применим функцию axis,
%где -3, 7 - границы интервала изменения координаты по оси абсцисс (мин. и
%макс. значения), а -5, 7 - по оси ординат соответственно
axis([-3,7,-5,4])
%Офогмление графиков
%Заголовок
title('График функции y=(x*2)/(x^(1/3))-1/(x^(1/3))-x*2 и её производных первого и второго порядков','Fontname','Arial cyr'), grid on
%Подписи осей
xlabel('x')
ylabel('y')
%Подключение координатной сетки
grid on
%Создание легенды, где -1 - положение легенды вне графика
legend('f_x','f_1','f_2',-1)
Comand window
>> p_1 =
4/3/r^(1/3)+1/3/r^(4/3)-2
p_2 =
-4/9/r^(4/3)-4/9/r^(7/3)
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 11
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 11
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 12
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 22
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 22
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 23
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 28
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 28
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_b.m at line 29
>>
Задание 1_с
Скрипт
%Для представления графиков в одном окне, но в разных системах координат
%используем функцию subplot, где первое число- количество строк, второй
%число - количество столбцов, а третье - позиция графика
%Также используем функцию fplot для отображения графиков на интервале
%указанных абсцисс
subplot(1,3,1); fplot('f1(x)',[0,5]),
title('График функции y=(x*2)/(x^(1/3))-1/(x^(1/3))-x*2','Fontname','Arial cyr'), grid on
xlabel('x')
ylabel('y')
%В данном задании определяем производные как встраиваемые функции с помощью
%функции inline
f_1=inline('4/(3.*(x.^(4/3)))+1./(x.^(4/3))-2','x')
subplot(1,3,2); fplot(f_1,[-10,10]),
axis([-10,10,-10,10])
title('График первой производной','Fontname','Arial cyr'), grid on
xlabel('x')
ylabel('y')
f_2=inline('-4/9./x.^(4/3)-4/9./x.^(7/3)','x')
subplot(1,3,3); fplot(f_2,[-3,7]),
axis([-3,7,-5,4])
title('График второй производной','Fontname','Arial cyr'), grid on
xlabel('x')
ylabel('y')
Comand window
>> Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\toolbox\matlab\funfun\inlineeval.m at line 13
In C:\toolbox\matlab\funfun\@inline\feval.m at line 34
In C:\toolbox\matlab\specgraph\fplot.m at line 96
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 7
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\toolbox\matlab\funfun\inlineeval.m at line 13
In C:\toolbox\matlab\funfun\@inline\feval.m at line 34
In C:\toolbox\matlab\specgraph\fplot.m at line 96
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 7
f_1 =
Inline function:
f_1(x) = 4/(3.*(x.^(4/3)))+1./(x.^(4/3))-2
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\toolbox\matlab\specgraph\fplot.m at line 146
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 15
f_2 =
Inline function:
f_2(x) = -4/9./x.^(4/3)-4/9./x.^(7/3)
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\toolbox\matlab\specgraph\fplot.m at line 146
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_c.m at line 23
>>
Задание 1_d
Скрипт
%Составляем уравнение касательной к функции в точке с абсциссой 1
k=inline('4/(3.*(x.^(4/3)))+1./(x.^(4/3))-2','x')
x=1;
k_0=k(x);
f_0=f1(x);
%Копируем из командного окна получившийся коэффициент и значение
%функции при x=1 в уравнение касательной:
y=inline('-0.33*(x-1)-1','x')
x=-1:0.1:7; f_0=f1(x); x_1=1; y_1=f1(x_1);
line(x,f_0)
grid on
hold on
plot(x_1,y_1,'r*')
hold on
k_0=y(x);
plot(x,k_0,'r:')
hold on
%Составляем уравнение нормали из ранее полученных данных, по формуле,
%указанной в задании:
y_2=inline('-1+(x-1)/0.33','x')
n=y_2(x);
plot(x,n,'g:')
axis([-1,7,-5,3])
title('Figure of a function y=(x*2)/(x^(1/3))-1/(x^(1/3))-x*2 and its tangent and normal')
legend('f1','Paint','Tangent','Normal')
Comand window
>> k =
Inline function:
k(x) = 4/(3.*(x.^(4/3)))+1./(x.^(4/3))-2
y =
Inline function:
y(x) = -0.33*(x-1)-1
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_d.m at line 12
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\f1.m at line 2
In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_d.m at line 12
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In C:\Documents and Settings\User\Мои документы\Мои записи\Ксюха\Институт\Matlab\5 семестр\1 лаба\Матлаб 1_лаба отчеты и материалы\Zad_1_d.m at line 13
y_2 =
Inline function:
y_2(x) = -1+(x-1)/0.33
Задание 2_а
Скрипт
syms x y;
z_1=inline(2*x^2+4*x*y+5*y^2-6*x-8*y-1),
pretty(z_1(x,y)),
ezplot(z_1,[-5 5 -5 5])
grid on
hold on
z_2=inline(4*x^2-4*x*y+y^2-6*x+3*y-4),
pretty(z_2(x,y)),
ezplot(z_2,[-5 5 -5 5])
grid on
title('Functions 2*x^2+4*x*y+5*y^2-6*x-8*y-1=0 and 4*x^2-4*x*y+y^2-6*x+3*y-4=0')
xlabel('x')
ylabel('y')
text(-5, 1.8,'2*x^2+4*x*y+5*y^2-6*x-8*y-1=0 \rightarrow')
text(0, -4,'\leftarrow 4*x^2-4*x*y+y^2-6*x+3*y-4=0 ')
Comand window
>> z_1 =
Inline function:
z_1(x,y) = 2.*x.^2+4.*x.*y+5.*y.^2-6.*x-8.*y-1
2 2
2 x + 4 x y + 5 y - 6 x - 8 y - 1
z_2 =
Inline function:
z_2(x,y) = 4.*x.^2-4.*x.*y+y.^2-6.*x+3.*y-4
2 2
4 x - 4 x y + y - 6 x + 3 y - 4
>>
Задание 2_b
Скрипт
syms x y;
z_1=inline(2*x^2+4*x*y+5*y^2-6*x-8*y-1),
pretty(z_1(x,y)),
subplot(2,1,1); ezplot(z_1,[-5 5 -5 5]);
grid on
z_2=inline(4*x^2-4*x*y+y^2-6*x+3*y-4),
pretty(z_2(x,y)),
subplot(2,1,2); ezplot(z_2,[-5 5 -5 5])
grid on
xlabel('x')
ylabel('y')
Comand window
>> z_1 =
Inline function:
z_1(x,y) = 2.*x.^2+4.*x.*y+5.*y.^2-6.*x-8.*y-1
2 2
2 x + 4 x y + 5 y - 6 x - 8 y - 1
z_2 =
Inline function:
z_2(x,y) = 4.*x.^2-4.*x.*y+y.^2-6.*x+3.*y-4
2 2
4 x - 4 x y + y - 6 x + 3 y - 4
>>