Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Никитина Дарья ПИН-21Д КР2 (математический анализ).docx
Скачиваний:
6
Добавлен:
15.06.2021
Размер:
1.31 Mб
Скачать

2. Изобразить на координатной плоскости линии уровня для функции , придавая значения от до через 1.

а) Построить в MATLAB линии уровня непосредственно по заданию. б) построить поверхность, состоящую из линий уровня при помощи функции с шагом 0,1. в) построить плоские линии уровня без нанесения и с нанесением значений функции с шагом 0,5. Нанести сетку.

clc;

x=-20:0.1:20;

y=-20:0.1:20;

[X,Y]=meshgrid(x,y);

Z=X-12+X.^2/3+Y.^2;

figure(1);

contour(X,Y,Z);

x=-8:0.1:5;

y=-4:0.1:4;

[X,Y]=meshgrid(x,y);

Z1=X-12+X.^2/3+Y.^2;

levels=[-13:1:1];

figure(2);

grid on;

contour3(X,Y,Z1,levels)

levels=[-2:0.1:1];

figure(3);

contour3(X,Y,Z1,levels)

Z=X-12+X.^2/3+Y.^2;

figure(4);

[C,h]=contour(X,Y,Z,6);

clabel(C,h)

figure(5);

grid on;

contour(X,Y,Z,6);

3. Записать уравнения касательной плоскости и нормали к поверхности s в точке m0

.

а) Изобразить в MATLAB поверхность, б) изобразить в MATLAB на одном рисунке поверхность локально около точки M0 , касательную плоскость и нормаль. Выбрать несколько ракурсов рисунка

Решение:

Рассмотрим

Уравнение касательной плоскости:

Уравнение нормали

clc;

x=-4:0.1:6;

N=length(x);

y=-5:0.1:5;

M=length(y);

for i=1:N

for j=1:M

R(i,j)=sqrt(8*(x(i)-y(j))^2+113)/4;

z1(i,j)=3/4+R(i,j);

z2(i,j)=3/4-R(i,j);

p(i,j)=-2*(10+x(i)-y(j))/11;

end

end

figure(1);

mesh(x,y,z1);% одна половина поверхности

hold on;

mesh(x,y,z2);% другая половина поверхности

hold off;

figure(2);

mesh(x,y,z2);

hold on;

mesh(x,y,p);% касательная плоскость

t=-5.5:1.1:5.5;

x1=1-2*t./11;

y1=2*t./11;

z1=-2+t;

plot3(x1,y1,z1);% нормаль

4. Найдите точное ( ) и приближенные ( ) , ( ) значения функции

в точке (4,05; 2,96)

найти, используя полный дифференциал функции двух переменных; - используя формулу Тейлора до 2-го порядка включительно

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

б) На втором рисунке тоже самое проделать с поверхностью и функцией Провести вертикальную линию параллельно оси аппликат OZ. Отметить точное значение функции на поверхности и приближенное значение на поверхности . Показать разность (выделить жирный отрезок на прямой) приращения аппликаты .

Решение:

Положим . Тогда,

Приближенная формула через первый дифференциал:

.

Приближенная формула через второй дифференциал:

clc; clear all; clf;

a=4;b=3;ax=0.05;by=-0.04;p=a+ax;q=b+by;

syms x y

f=sqrt(x^2+y^2);

Px=diff(f,x);% частная производная по x

Py=diff(f,y);% частная производная по y

A=double(subs(subs(f,x,a),y,b));% значеник функции в точке (4;3)

disp('Точное значение в точке (4,05;2,96):');

B=double(subs(subs(f,x,p),y,q))% Точное значение в точке (4,05;2,96)

Dx=subs(subs(Px,x,a),y,b);% частный дифференциал по x

Dy=subs(subs(Py,x,a),y,b);% частный дифференциал по y

X=double(Dx)*ax;% значение частного дифференциала

Y=double(Dy)*by;% значение частного дифференциала

disp('Приближенное значение в точке (4,05;2,96),через дифференциал:');

B1=double(A+X+Y)

disp('Абсолютная погрешность:');

E=double(abs(B-B1))

P2x=diff(f,x,2);% 2-я производная по x

P2y=diff(f,y,2);% 2-я производная по y

P2xy=diff(Px,y);% смешанная производная

D2x=subs(subs(P2x,x,a),y,b);%

D2y=subs(subs(P2y,x,a),y,b);%

D2xy=subs(subs(P2xy,x,a),y,b);%

X2=double(D2x)*ax*ax;

Y2=double(D2y)*by*by;

XY=double(D2xy)*ax*by;

disp('Приближенное значение в точке (4,05;2,96),через формулу Тейлора:');

BT=double(A+X+Y+(X2+2*Y2+XY)/2)

disp('Абсолютная погрешность:');

E2=double(abs(B-BT))

h=0.1;

x=(p-5):h:(p+5);

y=(q-5):h:(q+5);

N=length(y);

for i=1:1:N

for j=1:1:N

z(i,j)=sqrt(x(i)^2+y(j)^2);

zp(i,j)=double(Dx)*x(i)+double(Dy)*y(j);

end

end

figure(1);

mesh(x,y,z);% поверхность f(x,y)

hold on;

mesh(x,y,zp);% поверхность df(x,y)

t=-5:0.1:10;

x1=p+t.*0;

y1=q+t.*0;

z1=t.*1;

plot3(x1,y1,z1,'r');% нормаль

h=0.0001;

x=(p-0.001):h:(p+0.001);

y=(q-0.001):h:(q+0.001);

N=length(y);

for i=1:1:N

for j=1:1:N

z0(i,j)=sqrt(x(i)^2+y(j)^2);

end

end

figure(2);

mesh(x,y,z0);% поверхность f(x,y)

hold on;

q=[4.05 2.96 B;4.05 2.96 B1];

qx=q; qx(:,1)=0;

qy=q; qy(:,2)=0;

qz=q; qz(:,3)=0;

plot3(q(:,1),q(:,2),q(:,3),'*-');%

grid on;

Полученный ответ в командном окне:

Точное значение в точке (4,05;2,96):

B = 5.0164

Приближенное значение в точке (4,05;2,96),через дифференциал:

B1 =5.0160

Абсолютная погрешность:

E = 3.8316e-04

Приближенное значение в точке (4,05;2,96),через формулу Тейлора:

BT =5.0164

Абсолютная погрешность:

E2 =7.6408e-06

>>

Фигура 1. Ракурс 1.

Фигура 1. Ракурс 2.

Фигура 1. Ракурс 3.

Фигура 2. Ракурс 1.

Фигура 2. Ракурс 2.

5. Найти точки безусловного экстремума (добавить исследование в письменную часть). а) В MATLAB построить поверхность , по возможности, определить визуально наличие и примерное расположение точек безусловного минимума и максимума функции . Отметить точки на рисунках в матлаб, сравнить с письменным исследованием.

б) В MATLAB построить на поверхности кривую, определяемую ограничением . По возможности, определить визуально наличие и примерное расположение точек условного минимума и максимума этой функции при данном ограничении.

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

.

Решение: Из условия . Подставим в .

- парабола. ветви параболы направлены вниз. Критическая точка: точка максимума.

x=0:0.01:1;

y=x-x.*x;

plot(x,y);

Итак, координаты точки максимума: .

Поверхность и плоскость пересекаются по параболе

Показана точка максимума

В различных ракурсах (в плоскости OZX, OZY) изображения одинаковы