Лабораторна робота
Тема: Технології розв’язку алгебраїчних і трансцеднтних рівнянь у середовищі MatLab
Кафедра: комп’ютерних технологій
Мета: Навчитися використовувати функції MatLAB для розв’язування системи лінійних і нелінійних алгебраїчних рівнянь
План роботи
1. Вивчити лекційний матеріал і теоретичні відомості роботи.
2. Навчитись використовувати функції solve i fsolve і способи завдання їх аргументів при розв’язуванні рівнянь.
3. Виконати завдання на лабораторну роботу.
4. Написати і оформити звіт.
Хід роботи
M=[6,0.13,-0.67;3.8,1.25,-4.3;0.38,-0.64,-3.2];
dx1=[1.9,0.13,-0.67;6.4,1.25,-4.3;5.4,-0.64,-3.2];
dx2=[6,1.9,-0.67;3.8,6.4,-4.3;0.38,5.4,-3.2];
dx3=[6,0.13,1.9;3.8,1.25,6.4;0.38,-0.64,5.4];
det(M)
ans =
-37.1959
x1=det(dx1)/det(M);
x2=det(dx2)/det(M);
x3=det(dx3)/det(M);
x=[x1,x2,x3]
x =
0.1591 -0.6538 -1.5378
M=[6,0.13,-0.67;3.8,1.25,-4.3;0.38,-0.64,-3.2]
M =
6.0000 0.1300 -0.6700
3.8000 1.2500 -4.3000
0.3800 -0.6400 -3.2000
B=[1.9;6.4;5.4]
B =
1.9000
6.4000
5.4000
X=inv(M)*B
X =
0.1591
-0.6538
-1.5378
syms x y z
>> Y=solve(‘6*x1+0.13*x2-0.67*x3=1.9′,’3.8*x1+1.25*x2-4.3*x3=6.4′,’0.38*x1-0.64*x2-3.2*x3=5.4’)
Y =
x1: [1×1 sym]
x2: [1×1 sym]
x3: [1×1 sym]
Y.x1
ans =
0.15910826802824932727854902404645
Y.x2
ans =
-0.65384680528219082033975222557952
Y.x3
ans =
-1.5378365321152072283177218582786
Розвязую рівняння за допомогою функції fsolve
function F=myfun(x)
F=[x(2)+exp(x(1)-x(2))-0;x(1)+exp(x(1)+x(2))]
x0=[-0.7;-0.35];
fsolve(‘myfun’,x0)
F =
0.3547
-0.3501
F =
0.3547
-0.3501
F =
0.3547
-0.3501
F =
1.2995
-0.1330
F =
0.4526
-0.2130
F =
0.4012
-0.2634
F =
0.4012
-0.2634
F =
0.4012
-0.2634
F =
0.4325
-0.2236
F =
0.4209
-0.2271
F =
0.4209
-0.2271
F =
0.4209
-0.2271
F =
0.4162
-0.2370
F =
0.4153
-0.2371
F =
0.4153
-0.2371
F =
0.4153
-0.2371
F =
0.4178
-0.2326
F =
0.4178
-0.2326
F =
0.4178
-0.2326
F =
0.4150
-0.2376
F =
0.4158
-0.2361
F =
0.4158
-0.2361
F =
0.4158
-0.2361
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4154
-0.2368
F =
0.4154
-0.2368
F =
0.4154
-0.2368
F =
0.4150
-0.2375
F =
0.4151
-0.2374
F =
0.4151
-0.2373
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
F =
0.4151
-0.2374
No solution found.
fsolve stopped because the problem appears regular as measured by the gradient,
but the vector of function values is not near zero as measured by the
default value of the function tolerance.
<stopping criteria details>
ans =
-0.6117
-0.3708
Висновок: Я використовувати функції MatLAB для розв’язування системи лінійних і нелінійних алгебраїчних рівнянь.