Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач 1.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
371 Кб
Скачать
☆

Функції, які використовуються для побудови тривимірних графіків:

• PLOT3 - побудова ліній і точок у тривимірному просторі

• MESHGRID – формування двовимірних масивів X и Y

• MESH, MESHC, MESHZ - тривимірна сітчаста поверхня

• SURF, SURFC - затемнена сітчаста поверхня

• SURFL - затемнена поверхня з підсвічуванням

• AXIS - масштабування осей та виведення на екран

• GRID - нанесення сітки

• HOLD - керування режимом збереження поточного графічного вікна

• SUBPLOT - розбиття графічного вікна

• ZOOM - керування масштабом графіка

• COLORMAP - палітра кольорів

• CAXIS - встановлення відповідності між палітрою кольорів і масштабуванням осей

• SHADING - затінення поверхонь

• CONTOURC - формування масиву опису ліній рівня

• CONTOUR - зображення ліній рівня для тривимірної поверхні

• CONTOUR3 - зображення тривимірних ліній рівня

Написи та пояснення до графіків

• TITLE - заголовки для двох-і тривимірних графіків

• XLABEL, YLABEL, ZLABEL - позначення осей

• CLABEL - маркування ліній рівня

• TEXT - додавання до поточного графіку тексту

• GTEXT - розміщує заданий текст на графіку з використанням миші

• LEGEND - пояснення до графіку

• COLORBAR - шкала палітри

Рішення завдань в Matlab

Завдання 15

  1. Записуємо ліву частину системи рівнянь.

>> A=[-5 1 -7 8;0 9 -3 -4;-3 7 5 0;0 -7 -11 -4]

A =

-5 1 -7 8

0 9 -3 -4

-3 7 5 0

0 -7 -11 -4

  1. Записуємо праву частину системи рівнянь.

>> B=[33;-6;-13;10]

B =

33

-6

-13

10

  1. Приведемо матрицю до виду, потрібного нам для вирішення простих ітерацій

Робимо матрицю A транспонованою и помножаємо ії на матрицю A и B;

>>A.'

ans =

-5 0 -3 0

1 9 7 -7

-7 -3 5 -11

8 -4 0 -4

>> A.'*A

ans =

34 -26 20 -40

-26 180 78 0

20 78 204 0

-40 0 0 96

>> A.'*B

ans =

-126

-182

-388

248

3.1) Виводиом матрицю, потрібного виду

>> D=[126/34 26/34 20/34 40/34;182/180 26/180 78/180 0/180;388/204 20/204 78/204 0/204;248/96 40/96 0/96 0/96]

D =

3.7059 0.7647 0.5882 1.1765

1.0111 0.1444 0.4333 0

1.9020 0.0980 0.3824 0

2.5833 0.4167 0 0

4) Задаємо границю циклу

>> NumIter=100000;

5) Задаємо початкове значення x

>> x1=0; x2=0; x3=0; x4=0;

6) Задаємо цикл

>> for i=1:NumIter

7) Визначаємо х, методом ітерацій.

x1(i+1)=-D(1,1)+D(1,2).*x2(i)-D(1,3).*x3(i)+D(1,4).*x4(i);

x2(i+1)=-D(2,1)+D(2,2).*x1(i)-D(2,3).*x3(i)-D(2,4).*x4(i);

x3(i+1)=-D(3,1)-D(3,2).*x1(i)-D(3,3).*x2(i)+D(3,4).*x4(i);

x4(i+1)=D(4,1)+D(4,2).*x1(i)-D(4,3).*x2(i)-D(4,4).*x3(i);

7) Визначаємо залишок від ділення, якщо значення if істинна , N=i та цикл припиняється

if rem(x1(i+1),x1(i))==0

N=i;

8) Виведемо все на екран після припинення

disp(['число итераций=' num2str(N)])

disp([' X1= ', ' X2= ', ' X3= ', ' X4= '])

disp([x1(N) x2(N) x3(N) x4(N)])

9) Замикаємо код, за допомогою break при if істинна.

break

end;

end;

10)Система вирішенна

число итераций=296

X1= X2= X3= X4=

1.0000 -0.0000 -2.0000 3.0000

11) Перевіримо корні

X=A\B

X =

1

0

-2

3

12)Система вирішена точно.