Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 24.12.2016
Сообщений: 37

Решение СЛАУ в численном виде различными методами, не могу прийти к общему решению

03.12.2018, 17:01. Показов 2390. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте. Решаю систему линейных уравнений в численном виде. Прибегнул к трем методам решения, во всех трёх методах ответ разный, подозреваю что "матричный метод" в данном случае не работает, в методе"простых итераций" скорее сего совершаю ошибку. Подскажите пожалуйста верную методику решения данной системы линейных уравнений.
Текст программы:
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
%Ввожу параметры исследуемой линии:
l = 257.2; %длина воздушной линии, [км].
l=[0:257.2]; % длина ЛЭП, с шагом 1
f = 50; %Частота напряжения исследуемой ВЛ, [Гц].
w=2*3.141592*f; %Угловая скорость
n = 1; % Номер гармоники на которой проводиться исследование.
ua = 292.3353*exp(123.03i); %Фазное напряжение в проводе ф. А, [В]. 
ub = 292.3145*exp(118.03i); %Фазное напряжение в проводе ф. В, [В]. 
uc = 292.5414*exp(-119.32i); %Фазное напряжение в проводе ф. C, [В]. 
ud = 0.18*exp(-22.262i);  %Фазное напряжение в грозозащитном тросе D, [В]. 
uab=ua-ub; % Линейное напряжение между проводами ф.А- ф.В, [B].
ubc=ub-uc; % Линейное напряжение между проводами ф.В- ф.С, [B].
uca=uc-ua; % Линейное напряжение между проводами ф.С- ф.А, [B].
uad=0.311*exp(-28.15i); % Линейное напряжение между проводами ф.А- гр.тр. D, [B] --- Как ты нашел данное напряжение. Есть формула?
ubd=0.314*exp(-111i); % Линейное напряжение между проводами ф.B- гр.тр. D, [B].
ucd=0.314*exp(140.262i); % Линейное напряжение между проводами ф.C- гр.тр. D, [B].
ia = 0.22571*exp(-28.457i); %Ток протекающий в ф. А, [A].
ib = 0.22545*exp(152.128i); %Ток протекающий в ф. В, [A].
ic = 0.22418*exp(-12.335i); %Ток протекающий в ф. С, [A].
id = 0.014; %Ток протекающий в гр.тр. D, [A].
ya =(3.5714*10^(-11) - (i*1.2849*10^-6)); %Полная проводимость между ф.А и поверхностью земли, [Cм].
yb =(3.5721*10^(-11) - (i*1.2849*10^-6)); %Полная проводимость между ф.B и поверхностью земли, [Cм].
yc =(3.5618*10^(-11) - (i*1.2849*10^-6)); %Полная проводимость между ф.C и поверхностью земли, [Cм].
yd =(9.9619*10^(-11) - (i*1.2849*10^-6)); %Полная проводимость между гр.тр. D и поверхностью земли, [Cм].
yab =(6.17*10^(-12) - (i*2.2849*10^-7)); %Взаимная проводимость между ф.А-ф.В, [См].
ybc =(6.16*10^(-12) - (i*1.2849*10^-7)); %Взаимная проводимость между ф.В-ф.С, [См].
yca =(6.12*10^(-12) - (i*1.2849*10^-7)); %Взаимная проводимость между ф.С-ф.A, [См].
yad =(6.1*10^(-12) - (i*1.2849*10^-7));  %Взаимная проводимость между ф.А-гр.тр. D, [См].
ybd =(6.1*10^(-12) - (i*1.2849*10^-7));  %Взаимная проводимость между ф.B-гр.тр. D, [См].
ycd =(6.1*10^(-12) - (i*1.2849*10^-7));  %Взаимная проводимость между ф.C-гр.тр. D, [См].
za =(0.0258+w*0.306i); %Удельное сопротивление ф. A, [Ом]. 
zb =(0.0254+w*0.612i); %Удельное сопротивление ф. B, [Ом].
zc =(0.0261+w*0.608i); %Удельное сопротивление ф. C, [Ом].
zd =(0.457+w*7.542i);  %Удельное сопротивление гр.тр. D, [Ом].
zab =(0.18551+w*2.2028i); %Взаимное сопротивление ф.А-ф.В, [Ом]. 
zbc =(0.18576+w*2.2032i); %Взаимное сопротивление ф.B-ф.C, [Ом].
zca =(0.18514+w*2.2019i);  %Взаимное сопротивление ф.C-ф.A, [Ом]
zad =(3.2904+w*54.3024i);  %Взаимное сопротивление ф.А-гр.тр.D, [Ом]
zbd =(3.2918+w*54.3031i);  %Взаимное сопротивление ф.B-гр.тр.D, [Ом]
zcd =(3.2909+w*54.3028i);   %Взаимное сопротивление ф.C-гр.тр.D, [Ом]
%Определяю численные значения постоянных распространения волн электромагнитного поля
A=[za*ya za*yab -za*yca za*yad
zb*yb zb*ybc -zb*yab zb*ybd
zc*yc zc*yca -zc*ybc zc*ycd
zd*yad zd*ybd zd*ycd -zd*yd];
W=poly(A);
S=roots(W);
 
d1ua=-(ia*za+ib*zab+ic*zca-id*zad);
d2ua=4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*ua+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*ub+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*uc-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*ud);
d3ua=-4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*(-(ia*za+ib*zab+ic*zca-id*zad))+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*(-(ib*zb+ia*zab+ic*zbc-id*zbd))+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*(-(ic*zc+ia*zca+ib*zbc-id*zcd))-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*(id*zd-ia*zad-id*zbd-ic*zcd));
d4ua=4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*(-(-(ua*ya+uab*yab-uca*yca+uad*yad)*za+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zad))+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*(-(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd)*zb+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd))+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*(-(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd)*zc+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zca+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zcd))-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*((uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zd-(-(ua*ya+uab*yab-uca*yca+uad*yad))*zad-(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zbd-(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd));
d5ua=-4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*(-(-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad)*za+(-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*zad))+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*(-(-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd)*zb+(-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*zbd))+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*(-(-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd)*zc+(-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*zcd))-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*((uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*zd-(-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*zad-(-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbd-(-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd));
d6ua=4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*(-(-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*za+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zad))*ya+uab*yab-uca*yca+uad*yad)*za+(-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zca+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zd-(-(ua*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd-(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zad))+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*(-(-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd)*zb+(-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*za+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zca+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zd-(-(ua*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd-(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zbd))+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*(-(-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zca+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd)*zc+(-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*za+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zd-(-(ua*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd-(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zcd))-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*((uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zd-(-(ua*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd-(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zd-(-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*za+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zad-(-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zab+(-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbd-(-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-(ua*ya+uab*yab-uca*yca+uad*yad))*zca+(-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd));
d7ua=-4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*(-(-((-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad)*za+(-((-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zd-(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd-(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zad))+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*(-(-((-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd)*zb+(-((-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zd-(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd-(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zbd))+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*(-(-((-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd)*zc+(-((-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zd-(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd-(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zcd))-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*((uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zd-(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd-(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zd-(-((-((-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zad-(-((-((-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbd-(-((-((-((-(uc*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-(ua*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-(ub*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-ud*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd));
d8ua=4*((za*ya+za*yab+za*yca+za*yad-zab*yab-zca*yca+zad*yad)*(-(-((-((-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad)*za+(-((-((-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zd-(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd-(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zad))+(zab*yb+zab*ybc+zab*yab+zab*ybd-za*yab-zca*ybc+zad*ybd)*(-(-((-((-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd)*zb+(-((-((-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zd-(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd-(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zbd))+(zca*yc+zca*yca+zca*ybc+zca*ycd-za*yca-zab*ybc+zad*ycd)*(-(-((-((-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd)*zc+(-((-((-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zd-(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd-(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zcd))-(zad*yd+zad*yad+zad*ybd+zad*ycd+za*yad+zab*ybd+zca*ycd)*((uad*yad+ubd*ybd+ucd*ycd-((uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zd-(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zad-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd-(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd)*yd)*zd-(-((-((-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*za+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zca-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zad))*ya+uab*yab-uca*yca+uad*yad))*zad-(-((-((-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zb+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zab+(-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbd-(-((-((-((-((-(ic*zc+ia*zca+ib*zbc-id*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zc+(-((-((-(ia*za+ib*zab+ic*zca-id*zad))*ya+uab*yab-uca*yca+uad*yad))*ya+uab*yab-uca*yca+uad*yad))*zca+(-((-((-(ib*zb+ia*zab+ic*zbc-id*zbd))*yb+ubc*ybc-uab*yab+ubd*ybd))*yb+ubc*ybc-uab*yab+ubd*ybd))*zbc-(uad*yad+ubd*ybd+ucd*ycd-(uad*yad+ubd*ybd+ucd*ycd-(id*zd-ia*zad-id*zbd-ic*zcd)*yd)*yd)*zcd))*yc+uca*yca-ubc*ybc+ucd*ycd))*zcd));
A=[1 1 1 1 1 1 1 1
S(1,1) S(1,1)*(-1) S(2,1) S(2,1)*(-1) S(3,1) S(3,1)*(-1) S(4,1) S(4,1)*(-1)
S(1,1)^2 S(1,1)^2 S(2,1)^2 S(2,1)^2 S(3,1)^2 S(3,1)^2 S(4,1)^2 S(4,1)^2
S(1,1)^3 S(1,1)^3*(-1) S(2,1)^3 S(2,1)^3*(-1) S(3,1)^3 S(3,1)^3*(-1) S(4,1)^3 S(4,1)^3*(-1)
S(1,1)^4 S(1,1)^4 S(2,1)^4 S(2,1)^4 S(3,1)^4 S(3,1)^4 S(4,1)^4 S(4,1)^4
S(1,1)^5 S(1,1)^5*(-1) S(2,1)^5 S(2,1)^5*(-1) S(3,1)^5 S(3,1)^5*(-1) S(4,1)^5 S(4,1)^5*(-1)
S(1,1)^6 S(1,1)^6 S(2,1)^6 S(2,1)^6 S(3,1)^6 S(3,1)^6 S(4,1)^6 S(4,1)^6
S(1,1)^7 S(1,1)^7*(-1) S(2,1)^7 S(2,1)^7*(-1) S(3,1)^7 S(3,1)^7*(-1) S(4,1)^7 S(4,1)^7*(-1)];
B=[-0.25*d1ua; -4*d2ua; 4*d3ua; -4*d4ua; 4*d5ua; -4*d6ua; 4*d7ua; -4*d8ua];
 
%Решаю систему линейных уравнений "Матричным методом"
X1=A\B
 
%Решаю систему линейных уравнений с помощью численного метода "fsolve"
F = @(x) A*x - B; % функция системы
x0 = [0; 0; 0; 0; 0; 0; 0; 0]; % начальное приближение
X2 = fsolve(F,x0)
 
%Решаю систему линейных уравнений с помощью "метода простых итераций"
% приводим к нужному виду:
AB = [A B]; % расширенная матрица
AB = AB([2 3 4 5 6 7 8 1],:); % переставляю строки 
for i = 1:size(A) % пересчитываю
    a(i,1:8) = -AB(i,1:8)/AB(i,i);
    a(i,i) = 0;
    b(i,1) = AB(i,9)/AB(i,i);
end
% точность численного решения
eps = 1e-2;
% Задание начального приближения
X0 = b; 
X5 = a*X0+b;
while norm(X5-X0)>eps
    X0 = X5;
    X5 = a*X0+b;
end;
X3 = X5
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2018, 17:01
Ответы с готовыми решениями:

Решение систем линейных уравнений различными методами
#include "stdafx.h" #include "iostream" #include "cmath" using namespace std; void input(float**A,float*B,float**C,float**R,int...

Решение СЛАУ разными методами
Решение системы линейных уравнений методом Гаусса, матричным методом, по формулам Крамера. как это сделать? помогите пожалуйста

Разработать программу «Решение дифференциальных уравнений с частными производными» различными методами
Добрый день. Может кто помочь с заданием(желательно написать код), сам просто не могу разобраться и понять что требуется от меня. ...

5
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
04.12.2018, 08:01
У Вас плохо смасштабированная матрица а, о чем и выводит предупреждение MATLAB. Это приводит к неверному решению "Матричным методом".
При решении методом "fsolve" при комплексных параметрах необходимо проводить разделение действительных и мнимых переменных.
Попробуйте изменить построчное масштабирование матриц а и b, ниже мои тестовые прогонки (фрагмент кода), которые вроде бы дают некоторый результат
Matlab M
1
2
3
4
5
6
7
8
9
10
%Решаю систему линейных уравнений "Матричным методом"
MM1=1e-20;  MM2=1e-18; MM3=1e-16;
A(1,:)=A(1,:)*MM1;
B(1)=B(1)*MM1;
A(2,:)=A(2,:)*MM2;
B(2)=B(2)*MM2;
A(3,:)=A(3,:)*MM3;
B(3)=B(3)*MM3;
X1=A\B
A*X1-B
1
1 / 1 / 0
Регистрация: 24.12.2016
Сообщений: 37
04.12.2018, 16:19  [ТС]
Цитата Сообщение от SSC Посмотреть сообщение
При решении методом "fsolve" при комплексных параметрах необходимо проводить разделение действительных и мнимых переменных.
Попробуйте изменить построчное масштабирование матриц а и b, ниже мои тестовые прогонки (фрагмент кода), которые вроде бы дают некоторый результат
Спасибо за ваш ответ. Пожалуйста опишите ваши действия в приведенном вами фрагменте программы (попытаюсь вникнуть, разобраться). Не разу не связывался с построчным масштабированием матриц. Поисковые запросы не дают ничего дельного, в основном в статьях приводиться описание функций "B = balance(A)", "[D, B] = balance(A)" не более.
По поводу вашего совета в решении с помощью функции "fsolve" вы имеете в виду выделить действительную часть "REAL" матриц A и B и провести дальнейший расчет, далее выделить мнимую часть "IMAG" этих матриц и так же провести расчет с помощью функции "fsolve"?
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
05.12.2018, 07:38
Цитата Сообщение от mixar Посмотреть сообщение
Не разу не связывался с построчным масштабированием матриц.
Выведите на экран Вашу матрицу A. Вы увидите что max/min элементы по модулю отличаются более чем в 1030 раз. Если бы численные вычисления в процессоре проводились с числами имеющими мантиссу более 30 знаков то проблем скорее всего бы не возникло, но в нашем распоряжении числа типа double в которых мантисса 14-15 разрядов. Из-за этого и возникают проблемы с точностью вычислений.
Для преодоления этой проблемы можно попробовать отдельные уравнения системы (строки матрицы А и элементы В) домножить на некоторый коэффициент, что позволит уменьшить разницу между элементами матрицы. Я просто вручную побаловался, и получит достаточно приемлемое (по точности) решение.

Цитата Сообщение от mixar Посмотреть сообщение
вы имеете в виду выделить действительную часть "REAL"
Нет, все значительно сложнее. Судя по Вашей задаче, Вам не чужды расчеты энергосистем. Посмотрите расчет установившегося режима итерационным методом Ньютона.
1
1 / 1 / 0
Регистрация: 24.12.2016
Сообщений: 37
04.02.2019, 16:39  [ТС]
Цитата Сообщение от SSC Посмотреть сообщение
Посмотрите расчет установившегося режима итерационным методом Ньютона.
Произвожу расчет энергосистемы вышеприведенным способом, так как это моя научная работа, прибегать к другим методикам расчета энергосистем не могу.
Поэтому пытаюсь решить эту систему уравнений.
Вывел на экран в отдельности строки матрицы А, что бы проанализировать их степени:
Строка А(1,: ) имеет значение = 1+i0
Вторая строка матрицы А имеет следующие граничные значения:
А(2,1)=-0.03+i3.57*10^-7
А(2,8)=-1.34*10^-5+i1.56*10^-9
Если взглянуть на восьмую строку матрицы А, то мы увидим значения:
А(8,1)=-2.45*10^-18+i19.98*10^-21
A(8,8)=-7.527*10^-35+6.18*10^-38
Следовательно что бы сбалансировать матрицу А домножаем на коэффициенты строки матрицы А, которые имеют очень малую степень, следовательно и элементы матрицы B:
Matlab M
1
2
3
4
5
6
7
MM6=1e8; MM7=1e13; MM8=1e18;
A(6,:)=A(6,:)*MM6;
B(6)=B(6)*MM6;
A(7,:)=A(7,:)*MM7;
B(7)=B(7)*MM7;
A(8,:)=A(8,:)*MM8;
B(8)=B(8)*MM8;
И получаем аналогичное сообщение, что матрица А плохо смасштабированна.
Matlab M
1
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND =  1.147591e-18.
Пробовал я разные значения коэффициентов, никак не пришел к верному решению.
Подскажите пожалуйста в чем моя ошибка.

Добавлено через 49 минут
Попробовал воспользоваться оператором "balance".
Вот что получилось:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
A=[1 1 1 1 1 1 1 1
S(1,1) S(1,1)*(-1) S(2,1) S(2,1)*(-1) S(3,1) S(3,1)*(-1) S(4,1) S(4,1)*(-1)
S(1,1)^2 S(1,1)^2 S(2,1)^2 S(2,1)^2 S(3,1)^2 S(3,1)^2 S(4,1)^2 S(4,1)^2
S(1,1)^3 S(1,1)^3*(-1) S(2,1)^3 S(2,1)^3*(-1) S(3,1)^3 S(3,1)^3*(-1) S(4,1)^3 S(4,1)^3*(-1)
S(1,1)^4 S(1,1)^4 S(2,1)^4 S(2,1)^4 S(3,1)^4 S(3,1)^4 S(4,1)^4 S(4,1)^4
S(1,1)^5 S(1,1)^5*(-1) S(2,1)^5 S(2,1)^5*(-1) S(3,1)^5 S(3,1)^5*(-1) S(4,1)^5 S(4,1)^5*(-1)
S(1,1)^6 S(1,1)^6 S(2,1)^6 S(2,1)^6 S(3,1)^6 S(3,1)^6 S(4,1)^6 S(4,1)^6
S(1,1)^7 S(1,1)^7*(-1) S(2,1)^7 S(2,1)^7*(-1) S(3,1)^7 S(3,1)^7*(-1) S(4,1)^7 S(4,1)^7*(-1)];
C=[d1ua; d2ua; d3ua; d4ua; d5ua; d6ua; d7ua; d8ua];
[D, B] = balance(A) %Выполняю масштабирование матрицы А
[RB, DB] = eig(B) %Вычисляю собственные значения и векторы матрицы B.
Матрица собственных векторов "RD" очень хорошо обусловлена . Плохая обусловленность сконцентрирована в диагональной матрице масштабирования "DB".
Решаю систему уравнений с матрицей "RD":
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
X1=RB\C
x=RB*X1-C
 
X1 =
   1.0e+02 *
  7.684465197574362 + 2.896686436709087i
  0.459419184569041 + 0.086615546519914i
  1.736402983048596 - 0.247227431622517i
 -0.010060463665369 + 0.012142384804176i
  0.010249724702000 + 0.015952302692742i
  0.000000212398114 + 0.000006039585123i
 -0.000046254736264 - 0.000029828766285i
  0.000001947364707 - 0.000005945171182i
x =
   1.0e-12 *
 -0.113686837721616 + 0.056843418860808i
  0.001776356839400 + 0.000888178419700i
 -0.028421709430404 - 0.003552713678801i
  0.000222044604925 + 0.000222044604925i
  0.000000000000000 - 0.000222044604925i
  0.000001626303259 + 0.000000000000000i
  0.000000027105054 - 0.000001084202172i
  0.000000054210109 - 0.000000108420217i
И Matlab "молчит", а это значит что матрица смасштабированна верно. Я правильно понимаю?
Но при изучении литературы я наткнулся на такое ограничение:
"Обычно масштабирование улучшает обусловленность матрицы, гарантируя большую точность вычислений. Однако когда матрица содержит очень малые по величине элементы, которые находятся в пределах ошибок округления, масштабирование может сделать их сравнимыми с другими элементами матрицы, что может привести к неправильным результатам."
Следовательно при моих очень малых значениях в строках 6,7,8 матрицы А, эта методика даёт большую погрешность. Я правильно понимаю?
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
05.02.2019, 13:03
Лучший ответ Сообщение было отмечено mixar как решение

Решение

Цитата Сообщение от mixar Посмотреть сообщение
Попробовал воспользоваться оператором "balance".
Вы получили достаточно хорошее решение, единственное что бы посоветовал при проверке
Matlab M
1
x=RB*X1-C
использовать не RB а исходную матрицу A. Хотя значения будут близкие, но использование исходных данных в проверке уменьшает риск пропуска ошибки в преобразованиях и вычислениях
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2019, 13:03
Помогаю со студенческими работами здесь

Решение СЛАУ любыми методами на java
Доброго времени суток! Ребята, очень нужна ваша помощь. Сложилось так, что в ВУЗе меня перевели в другую группу, в которой идет интенсивное...

Решение СЛАУ методами Гаусса, Зейделя, итераций
система 12,1x1-4,5x2-2x3=19,07 3x1+12,5x2+4,3x3=3,21 -6x1+3,5x2+12,5x3=-18,25


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru