Вы находитесь на странице: 1из 23

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ.


М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

ИНСТИТУТ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ

Лабораторные работы 1-6

по дисциплине
«Теория информации, данные, знания»
Фамилия: Алексеев
Имя: Егор
Отчество: Алексеевич
Курс: 3
№ зачетной книжки: 2010108
Группа №: ИБ – 04з

Проверил:______________

Санкт-Петербург
2023
Задание 1.1

Решить систему уравнений

Решение в scilab:

-->A=[-1 -1 -2 -3;3 -1 -1 -2;2 3 -1 -1;1 2 3 -1]


A =

- 1. - 1. - 2. - 3.
3. - 1. - 1. - 2.
2. 3. - 1. - 1.
1. 2. 3. - 1.

-->B=[2;-8;-12;8]
B =

2.
- 8.
- 12.
8.

-->linsolve(A,B)
ans =

3.0196078
1.2941176
- 3.9215686
1.8431373

Проверка

-->-1*3.0196078-1*1.2941176-2*(-3.9215686)-3*1.8431372
ans =

- 1.9999998

-->3*3.0196078-1*1.2941176-1*(-3.9215686)-2*1.8431373
ans =

7.9999998

-->2*3.0196078+3*1.2941176-1*(-3.9215686)-1*1.8431373
ans =

12.

-->1*3.0196078+2*1.2941176+3*(-3.9215686)-1*1.8431373
ans =

- 8.0000001

Ответ: x1= 3.0196078, x2=1.2941176 , x3=- 3.9215686, x4=1.8431373

Вывод: решена система уравнений, сделана проверка

Задание 1.2
Если возможно, вычислить матрицу, обратную к матрице D.

Решение:
-->A=[2 3 -1;4 5 2;-1 0 7]
A =

2. 3. - 1.
4. 5. 2.
- 1. 0. 7.

-->B=[-1 0 5;0 1 3;2 -2 4]


B =

- 1. 0. 5.
0. 1. 3.
2. - 2. 4.

-->D=2*(A^2+B)*(2*B-A)
D =

- 276. - 238. 524.


- 282. - 568. 922.
636. - 360. - 86.

-->inv(D)
ans =

0.1055009 - 0.0579384 0.0216661


0.1557544 - 0.0857622 0.0295649
0.1282210 - 0.0694702 0.0248402

Проверка

-->inv(D)*D
ans =

1. 2.665D-15 4.441D-15
3.553D-15 1. - 5.329D-15
0. 1.776D-15 1.2

При умножении обратной матрицы на исходную получилась матрица,


близкая к единичной.

Ответ: 0.1055009 - 0.0579384 0.0216661


0.1557544 - 0.0857622 0.0295649
0.1282210 - 0.0694702 0.0248402

Вывод: вычислена матрица, обратная к матрице D, сделана проверка.


Задание 2.1. Изобразите график функции f (x).

f ( x )= √ x 2 ( x−4.7)
3

Решение:

-->x=[-10:0.01:10];

-->y=((x.^2).*(x-4.7)).^(1./3);

-->plot(x,y)

П
остроен график функции.
Задание 2.2. Изобразите график функции в полярных координатах
ϕ
ρ ( ϕ )=3

Решение:

-->fi=0:0.01:2*%pi;

-->ro=3^fi;

-->polarplot(fi,ro)

Построен график функции в полярных координатах.


Задание 3.1. Построить график, заданный системой уравнений

при помощи функции plot3d2.

0≤u≤2π ,0≤v≤2π

-->u=linspace(0,2*%pi,10);

-->v=linspace(0,2*%pi,10);

-->X=(cos(u).*u)'*(1+cos(v./2));

-->Y=(u./2)'*sin(v);

-->Z=(sin(u).*u)'*(1+cos(v./2));

-->plot3d2(X,Y,Z);

Вывод: построен график функции с помощью plot3d2


Задание 3.2. Изобразить линии, заданные параметрически:

с помощью функции param3d

-->t=0:0.1:7*%pi;

-->x=sin(t);

-->y=sin(2*t);

-->z=t/5;

-->param3d(x,y,z,45,60);
-->t=0:0.1:7*%pi;

-->x=cos(t);

-->y=cos(2*t);

-->z=sin(t);

-->param3d(x,y,z,45,60);
Вывод: изображены линии, заданные параметрически, с помощью функции
param3d
Задание 4.1. Найти корни полиномов.

1.1 x 4−x−0.9=0x 3+ x−4=0

Решение

-->a=[-0.9 -1 0 0 1.1];

-->p=poly(a,'x','c')
p =

4
- 0.9 - x + 1.1x

-->x=roots(p)
x =

- 0.6735723
- 0.2489336 + 0.9873972i
- 0.2489336 - 0.9873972i
1.1714396

Ответ:

-0.6735723; -0.2489336 + 0.9873972i; 0.2489336 – 0.9873972i; 1.1714396

-->a=[-4 1 0 1];

-->p=poly(a,'x','c')
p =

3
-4+x+x

-->x=roots(p)
x =

1.3787967
- 0.6893984 + 1.5575013i
- 0.6893984 - 1.5575013i

Ответ: 1.3787967; - 0.6893984 + 1.5575013i; - 0.6893984 - 1.5575013i


Найдены корни полиномов с помощью функции roots

Проверка

-->x=-0.6735723
x =

- 0.6735723

-->1.1*x^4-x-0.9
ans =

2.991D-09

-->x=complex(-0.2489336,0.9873972)
x =

- 0.2489336 + 0.9873972i

-->1.1*x^4-x-0.9
ans =

0.0000003 - 4.974D-08i

-->x=complex(-0.2489336,-0.9873972)
x =

- 0.2489336 - 0.9873972i

-->1.1*x^4-x-0.9
ans =

0.0000003 + 4.974D-08i

-->x=1.1714396
x =

1.1714396

-->1.1*x^4-x-0.9
ans =

7.152D-08

-->x=1.3787967
x =
1.3787967

-->x^3+x-4
ans =

- 8.684D-10

-->x=complex(-0.6893984,1.5575013)
x =

- 0.6893984 + 1.5575013i

-->x^3+x-4
ans =

0.0000003 + 0.0000003i

-->x=complex(-0.6893984,-1.5575013)
x =

- 0.6893984 - 1.5575013i

-->x^3+x-4
ans =

0.0000003 - 0.0000003i

Задание 4.2. Решить систему уравнений.


Решение

Применим функцию fsolve, предварительно определив систему с помощью


файл–функции

function [y]=lab(x)
y(1)=sin(x(1)+1)-x(2)-1.2;
y(2)=2*x(1)+cos(x(2))-2;
endfunction

-->exec('C:\scilab\lab.sce'); disp('exec done');

exec done

-->fsolve([0.5 0.5],lab)
ans =

0.5101502 - 0.2018384

-->fsolve([-0.5 -0.5],lab)
ans =

0.5101502 - 0.2018384

Ответ: 0.5101502; - 0.2018384

Система уравнений решена с помощью функции fsolve


Проверка

-->x=0.5101502
x =

0.5101502

-->y=-0.2018384
y =

- 0.2018384

-->sin(x+1)-y
ans =

1.2

-->2*x+cos(y)
ans =

2.0000001

Вывод

Изучены методы решения нелинейных уравнений и систем в Scilab.


Задание 5.1. В результате эксперимента была определена некоторая
табличная зависимость. С помощью метода наименьших квадратов
определить линию регрессии, рассчитать коэффициент корреляции,
подобрать функциональную зависимость заданного вида, вычислить
коэффициент регрессии. Определить суммарную ошибку.

A
W ( s )=
Bs+C

s 1 2 3 4 5 6 7 8 9
W 0.529 0.298 0.267 0.171 0.156 0.124 0.1 0.078 0.075

Решение

-->function [zr]=G(c,z)
-->zr=(z(2)*c(2)*z(1)+z(2)*c(3)-c(1))/(c(2)*z(1)+c(3))
-->endfunction

-->s=[1 2 3 4 5 6 7 8 9];

-->W=[0.529 0.298 0.267 0.171 0.156 0.124 0.1 0.078 0.075];

-->z=[s;W];

-->c=[7;3;2;2];

-->[a,err]=datafit(G,z,c)
err =

0.0024894
a =

3.3433417
4.1430135
2.1957495
2.

-->plot2d(s,W,-4);

-->//Расчет коэффициента регрессии

-->a=regress(s,W)
a =
0.4378611
- 0.0476167

-->//Коэффициент корреляции

-->r=sum((s-mean(s)).*(W-mean(W)))/sqrt(sum((s-mean(s))^2)*sum((W-
mean(W))^2))
r =

- 0.8909121

-->//Индекс корреляции

-->R=sqrt(1-sum((W-(a(1)+a(2)*s))^2)/sum((W-mean(W))^2))
R =

0.8909121

-->//График подобранной линии регрессии

-->t=0:0.1:9; Yt=a(1)+a(2)*t;

-->plot2d(s,W,-5); plot2d(t,Yt);
График линии регрессии
Задание 5.2. Для вариантов 1-7 найти приближенное значение функции
при заданном значении аргумента с помощью функции линейной
интерполяции. Функция задана таблично.

x1=0.616, x2=0.478, x3=0.537

x 0.41 0.46 0.52 0.6 0.65 0.72


y 2.57418 2.32513 2.09336 1.86203 1.74926 1.62098

Решение
-->x=[0.41 0.46 0.52 0.6 0.65 0.72];

-->y=[2.57418 2.32513 2.09336 1.86203 1.74926 1.6209];

-->plot2d(x,y,-4);//График экспериментальных данных

-->koeff=splin(x,y);

-->X=[0.616 0.478 0.537];

-->//Значение функции в заданных точках

-->Y=interp(X,x,y,koeff)
Y =

1.8236968 2.2489032 2.0378457

-->plot2d(X,Y,-3); //Нанесение точек награфик

-->//Построение кубического сплайна

-->t=0.41:0.01:0.72;

-->ptd=interp(t,x,y,koeff);

-->plot2d(t,ptd);
Вывод

С помощью метода наименьших квадратов определена линия


регрессии, рассчитан коэффициент корреляции, подобрана функциональная
зависимость заданного вида, вычислен коэффициент регрессии. Определена
суммарная ошибка. Найдено приближенное значение функции при заданном
значении аргумента с помощью функции линейной интерполяции.
Задание 6. Решить задачу целочисленного программирования.

W =2 x 1−x 2 + x 4 →min

{
x1 + x 2 + x3 −x 4 ≤1
x 1−x 2 + x3 −x 4 ≤0
2 x 1 + x 2+ x 3−x 4 ≥ 3

Решение

-->W=[2;-1;0;1];

-->A=[1 1 1 -1;1 -1 1 -1;-2 -1 -1 1];

-->b=[1;0;-3];

-->ci=[0;0;0;0];

-->[x,kl,f]=linpro(W,A,b,ci,[])

f =

5.
kl =
0.
0.
- 1.
0.
4.
0.
3.
x =
2.
0.5
0.
1.5
Вывод
Решена задача целочисленного программирования

Вам также может понравиться