Функції, які використовуються для побудови тривимірних графіків:
• 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
Записуємо ліву частину системи рівнянь.
>> 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
Записуємо праву частину системи рівнянь.
>> B=[33;-6;-13;10]
B =
33
-6
-13
10
Приведемо матрицю до виду, потрібного нам для вирішення простих ітерацій
Робимо матрицю 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)Система вирішена точно.
