Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Курсовая работа
По системному и прикладному программному обеспечению
Вариант №**
Задание:
Даны две функции у(х) и полином Рк(х). В качестве третьей функции берется
Решение:
Пункт а:
%Task 1
%Function
function y=f(x)
y=exp(1-0.6.*x.^2).*sin(2.9+0.4.*x.^2);
end
%Построение графика
x=[-4:0.1:4];
F=f(x);
grid on
title ('Function F=exp(1-0.6.*x.^2).*sin(2.9+0.4.*x.^2');
xlabel('x');
ylabel('y');
hold on;
x1=fzero(@f,-1.3);
x2=fzero(@f,1.3);
xr=[x1,x2]
yr =[0 0]
x3=fzero(@ghj,0);
x4=fzero(@ghj,-1.5);
x5=fzero(@ghj,1.5);
hold on
plot(x,F,xr,yr,'ro')
plot(x3,f(x3),'r*',x4,f(x4),'r*',x5,f(x5),'r*')
legend('F(x)','Корни','точки экстремума',3);
Для нахождения точек экстремума высчитана производная.
function ys=ghj(x)
ys=-6./5.*x.*exp(1-3./5.*x.^2).*sin(29./10+2./5.*x.^2)+4./5.*exp(1-3./5.*x.^2).*cos(29./10+2./5.*x.^2).*x
end
%Function
function y=p(x)
y=0.7.*x.^3-1.89.*x.^2-6.916.*x-0.672;
end
%Построение графиков
x=[-4:0.1:4];
P=p(x);
grid on;
title ('Function P=0.7.*x.^3-1.89.*x.^2-6.916.*x-0.672');
xlabel('x');
ylabel('y');
hold on;
x1=fzero(@p,-2.0);
x2=fzero(@p,0.0);
x3=fzero(@ghjb,-1);
x4=fzero(@ghjb,3);
xr=[x1,x2];
yr=[0 0];
xp=[x3,x4];
yp=[4 -19.5];
plot(x,P,xr,yr,'ro',xp,yp,'r*')
legend('P(x)','Корни','экстремумы',4);
pp=[0.7 -1.89 -6.916 -0.672];
%нахождение корней
rr=roots(pp)
Для нахождения точек экстремума высчитана производная.
function y=ghjb(x)
y=21./10.*x.^2-189./50.*x-1729./250
end
корни уравнения:
В выбранный промежуток попадают лишь 2 корня.
%Function
function y=g(x)
y=f(x)./p(x);
end
%Построение графиков
x1=[-3.9:0.1:-2.05];
x2=[-1.95:0.1:-0.15];
x3=[0:0.1:3];
G1=g(x1);
G2=g(x2);
G3=g(x3);
grid on
title ('Function G=f./p;');
xlabel('x');
ylabel('y');
hold on;
t=@(x) (0.7.*x.^3-1.89.*x.^2-6.916.*x-0.672);
l=fzero(t,0.5);
l2=fzero(t,-2);
y4=-4:0.01:4;
plot(x1,G1,l,y4,'k-',x2,G2,'b',l2,y4,'-k',x3,G3,'b',x4,g(x4),'b');
legend('G(x)','asymp',4);
Пункт b(графики разными стилями):
%Графики разными стилями
figuresubplot(2,2,1);
x1=[-4:0.1:4];
Y1=f(x1);
title ('f(x)');
xlabel('x');
ylabel('y');
hold on
plot(x1,Y1,'g+');
subplot(2,2,2);
x2=[-4:0.1:4];
Y2=f(x2);
title ('f(x)');
xlabel('x');
ylabel('y');
hold on
plot(x2,Y2,'r*');
hold on
subplot(2,2,3);
x3=[-4:0.1:4];
Y3=f(x3);
title ('f(x)');
xlabel('x');
ylabel('y');
hold on
plot(x3,Y3,'c.');
subplot(2,2,4);
x6=[-4:0.1:4];
F=f(x6);
title('f(x)');
xlabel('x');
ylabel('y');
hold on
plot(x6,F,'b^')
%Кусочная функция
x1=[-6:0.1:-2];
F=f(x1);
x2=[-2:0.1:2];
P=p(x2);
x3=[2:0.1:4];
G=g(x3);
plot(x1,F,x2,P,x3,G)
legend('F(x)','P(x)','G(x)',3);
title ('кусочная функция');
xlabel('x');
ylabel('y');
% Все графики
subplot(2,2,1);
x1=[-4:0.1:4];
Y1=f(x1);
title ('f(x)');
xlabel('x');
ylabel('y');
hold on
plot(x1,Y1);
subplot(2,2,2);
x2=[-4:0.1:4];
Y2=p(x2);
title ('p(x)');
xlabel('x');
ylabel('y');
hold on
plot(x2,Y2);
subplot(2,2,3);
x3=[-3.9:0.1:-2.05];
x4=[-1.95:0.1:-0.15];
x5=[0:0.1:3];
Y3=g(x3);
Y4=g(x4);
Y5=g(x5);
title ('g(x)');
xlabel('x');
ylabel('y');
hold on
plot(x3,Y3,'k',x4,Y4,'k',x5,Y5,'k')
subplot(2,2,4);
x6=[1:0.1:2];
F=f(x6);
x7=[-2:0.1:1];
P=p(x7);
x8=[-4:0.051:-2.05];
G=g(x8);
title ('кусочная функция');
xlabel('x');
ylabel('y');
hold on
plot(x6,F,x7,P,x8,G)
% End Task 1
Задание:
Заданы две поверхности, а также коэффициенты и смещения по осям либо для их уравнений.
Решение:
Пункт а:
%%Task2.
%%Пункт a
%%%%%параблоид эллиптический
a=7.347;
b=8.368;
x0=1.9;
y0=-1.49;
z0=-0.07;
x=-20:1:20;
y=-20:1:20;
[x,y]=meshgrid(x,y);
z=z0+(x-x0).^2/a.^2+(y-y0).^2./b.^2;
surf(x,y,z);
xlabel('x');
ylabel('y');
zlabel('z');
colormap('jet')
% гиперболоид двуполостный
a=4.94;
b=7.999;
c=-0.026;
x0=-0.46;
y0=-1.2;
z0=1.02;
X=-5:0.05:5;
Y=-10:0.05:10;
[x,y]=meshgrid(X,Y);
z1=z0+(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
z2=z0-(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
mesh(x,y,z1);
xlabel('x');
ylabel('y');
zlabel('z');
hold on
mesh (x,y,z2);
colormap('winner')
Пункт b:
%Пункт b
a=4.94;
b=7.999;
c=-0.026;
x0=-0.46;
y0=-1.2;
z0=1.02;
subplot(2,2,1)
x=-5:1:5;
y=-10:1:10;
[x,y]=meshgrid(x,y);
z1=z0+(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
z2=z0-(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
[n,m]=size(x)
colo=zeros(n,m,3)
for j=1:m
colo(:,j,:)=summer(n);
end
surf(x,y,z1,colo);
hold on
surf(x,y,z2,colo);
view([-22 15]);
colormap('spring');
xlabel('x');
ylabel('y');
zlabel('z');
title('гиперболоид двуполостный');
hold on
subplot(2,2,2)
x=-5:1:5;
y=-10:1:10;
[x,y]=meshgrid(x,y);
z1=z0+(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
z2=z0-(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
[n,m]=size(x)
dut=zeros(n,m,3)
for j=1:m
dut(:,j,:)=spring(n);
end
surf(x,y,z1,dut);
hold on
surf(x,y,z2,dut);
xlabel('x');
ylabel('y');
zlabel('z');
title('гиперболоид двуполостный');
view([85 -13]);
hold on
subplot(2,2,3)
x=-5:0.05:5;
y=-10:0.05:10;
[x,y]=meshgrid(x,y);
z1=z0+(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
z2=z0-(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
[n,m]=size(x)
opt=zeros(n,m,3)
for j=1:m
opt(:,j,:)=winter(n);
end
mesh(x,y,z1,opt);
hold on
mesh(x,y,z2,opt)
xlabel('x');
ylabel('y');
zlabel('z');
title('гиперболоид двуполостный');
view([-123 20]);
hold on
subplot(2,2,4)
x=-5:0.05:5;
y=-10:0.05:10;
[x,y]=meshgrid(x,y);
z1=z0+(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
z2=z0-(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
colormap('cool')
mesh(x,y,z1);
hold on
mesh(x,y,z2)
xlabel('x');
ylabel('y');
zlabel('z');
title('гиперболоид двуполостный');
view([-80 28])
Пункт с:
%Пункт c
a=7.347;
b=8.368;
x0=1.9;
y0=-1.49;
z0=-0.07;
subplot(2,2,1);
x=-20:0.05:20;
y=-20:0.05:20;
[x,y]=meshgrid(x,y);
z=z0+(x-x0).^2/a.^2+(y-y0).^2./b.^2;
mesh(x,y,z);
light('Position',[1 0 5],'Style','infinite');
view([38 8]);
hold on;
subplot(2,2,2);
x=-20:0.05:20;
y=-20:0.05:20;
[x,y]=meshgrid(x,y);
z=z0+(x-x0).^2/a.^2+(y-y0).^2./b.^2;
light('Position',[1 0 0],'Style','infinite');
view([38 8]);
mesh (x,y,z);
hold on;
subplot(2,2,3);
x=-20:0.05:20;
y=-20:0.05:20;
[x,y]=meshgrid(x,y);
z=z0+(x-x0).^2/a.^2+(y-y0).^2./b.^2;
mesh (x,y,z);
light('Position',[-1 -5 5],'Style','infinite');
view([38 8]);
hold on;
subplot(2,2,4);
x=-20:0.05:20;
y=-20:0.05:20;
[x,y]=meshgrid(x,y);
z=z0+(x-x0).^2/a.^2+(y-y0).^2./b.^2;
mesh (x,y,z);
light('Position',[1 0 0],'Style','infinite');
view([-114 12]);
Пункт d:
%Пункт d
a=4.94;
b=7.999;
c=-0.026;
x0=-0.46;
y0=-1.2;
z0=1.02;
x1=-20:0.05:20;
y1=-20:0.05:20;
[x,y]=meshgrid(x1,y1);
z1=z0+(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
z2=z0-(c.^2+c.^2./a.^2.*(x-x0).^2+c.^2./b.^2.*(y-y0).^2).^(1./2);
mesh(x,y,z1);
hold on;
mesh (x,y,z2);
hold on;
a=7.347;
b=8.368;
x0=1.9;
y0=-1.49;
z0=-0.07;
X=-7:1:11;
Y=-12:1:10;
[x,y]=meshgrid(X,Y);
z=z0+(x-x0).^2/a.^2+(y-y0).^2./b.^2;
surf(x,y,z);
colormap('jet');
view([9 4]);
%End of Task №2
Задание:
Пункт а
%Task 3
%3. Решение задач алгебры
Matrix.txt
b.txt
%пункт a
% Метод Крамера
A=load('Matrix.txt')
B=load('b.txt')
d_a=det(A)
for j=1:10
a=A
for i=1:10
a(i,j)=B(i)
end
d=det(a)
x(j)=d/d_a
end
x3=(x)'
%пункт b
% Метод обратной матрицы
A_obr=inv(A);
x1=A_obr*B
%пункт с
% С помощью \
x2=A\B
% вектор невязок
R1=max(abs(A*x3-B))
R2=max(abs(A*x1-B))
R3=max(abs(A*x2-B))
Результаты:
Методом Крамера, методом обратной матрицы и с помощью \, получили схожие результаты.
Значение максимальной компоненты вектора невязок
% End Task 3
Задание:
%Task 4
% №438 ответ: 0
syms x u
u=(sqrt(1-x)-3)/(2+x^(1/3));
limit(u,x,-8)
% №479 ответ: 0
syms x y
pi=3.14
y=tan(2.*x).*tan(pi./4-x);
limit(y,x,pi./4)
% №584 ответ: 0
syms x y
y=atan(x./sqrt(1+x.^4));
limit(y,x,-inf)
% №860 ответ:
% 1/2/(x+(x+x^(1/2))^(1/2))^(1/2)*(1+1/2/(x+x^(1/2))^(1/2)*(1+1/2/x^(1/2)))
syms x y
y=sqrt(x+sqrt(x+sqrt(x)));
diff(y,x,1)
% №928 ответ: -2/(1+x^2)
syms x y
y=asin((1-x.^2)./(1+x.^2));
z=diff(y,x,1)
simple(z)
% №1340 ответ: 0
syms x t
t=log(x).*log(1-x);
limit(t,x,1,'left')
syms x
s=solve('x^3+3*x^2+12*x+3')
vpa(s,5)
y=[1 3 12 3]
p=roots(y)
x=fzero(@k,0)
Для нахождения корня используется функция.
function y=k(x)
y=x^3+3*x^2+12*x+3;
end
Результаты:
Решили уравнение аналитически, так же вычисли корни ,используя функцию VPA. Сравнив с их с посчитанными численно функциями roots и fzero. Получили одинаковые ответы.
Для построения графика используем разложение Тейлора.
syms x y
y=(2-x).*exp(x)-1
f=taylor(y,x,2)
t=taylor(y,x,4)
s=taylor(y,x,5)
n=taylor(y,x,6)
f =
1+x
t =
1+x-1/6*x^3
s =
1+x-1/6*x^3-1/12*x^4
n =
1+x-1/6*x^3-1/12*x^4-1/40*x^5
% функция Тейлора
x = [-2:0.01:2];
u =(2-x).*exp(x)-1;
f =1+x
t=1+x-1./6.*x.^3
s=1+x-1./6.*x.^3-1./12.*x.^4
n=1+x-1./6.*x.^3-1./12.*x.^4-1./40.*x.^5
subplot(2,2,1)
plot(x,f, x,u)
title('разложение Тейлора до 2 членов')
xlabel('x');
ylabel('y');
hold on
grid on
subplot(2,2,2)
plot(x,t,x,u)
title('разложение Тейлора до 4 членов')
xlabel('x');
ylabel('y');
hold on
grid on
subplot(2,2,3)
plot(x,s,x,u)
title('разложение Тейлора до 5 членов')
xlabel('x');
ylabel('y');
hold on
grid on
subplot(2,2,4)
plot(x,n,x,u)
title('разложение Тейлора до 6 членов')
xlabel('x');
ylabel('y');
grid on
% End Task 4