0 / 0 / 0
Регистрация: 04.10.2018
Сообщений: 2
1

Решение СЛАУ методом Гаусса. Неправильные результаты

09.10.2018, 11:13. Показов 917. Ответов 2
Метки нет (Все метки)

Всем добрый день. Программа неправильно находит корни. Не могу понять почему.
Правильные корни:
x1=-4
x2=2
x3=2
x4=-2
Программа дает корни:
x1=-6
x2=-1.5
x3=-3.5
x4=12
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
function z=gauss
n=3;
v=[-6,10,-24,12];
c=[4,-3,4,-4;-2,-4,0,-5;3,-3,0,3;-5,2,-3,3];
for i=1:n
    amax=c(i,i);
    imax=i;
    for j=(i+1):n
        if abs(c(j,i))>abs(amax)
            amax=c(j,i);
            imax=i;
        end
    end
    for j=i:(n+1)
             h=c(i,j);
        c(i,j)=c(imax,j);
        c(imax,j)=h;
    end
    h=c(i,i);
    for j=i:(n+1)
        c(i,j)=c(i,j)/h;
    end
    for k=(i+1):n
        h=c(k,i);
        for j=i:(n+1)
            for j=i:(n+1)
                c(k,j)=c(k,j)-c(i,j)*h;
            end
        end
    end
    v(n)=c(n,n+1);
    for i=1:(n+1)
        m=n-1;
        sum=0;
        for j=(m+1):n
            sum=sum+v(j)*c(m,j);
        end
        v(m)=c(m,n+1)-sum;
    end
    z=v;
end
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2018, 11:13
Ответы с готовыми решениями:

Решение СЛАУ методом Гаусса
В программе есть ошибка,помогите её найти и...

Решение СЛАУ методом Гаусса
Здравствуйте! Помогите пожалуйста разобраться в чем ошибка! Программа - решение СЛАУ методом...

Решение СЛАУ методом Гаусса-Зейделя
Подскажите, пожалуйста, в чём ошибка... clear; clc; a= b= e=0.00001; n=3; miter=100; for...

Решение СЛАУ методом Гаусса. Ошибка в коде
Всем добрый день. Никак не могу понять ошибку в коде.Ругается на 15 строчку. ...

2
164 / 144 / 49
Регистрация: 29.10.2014
Сообщений: 738
09.10.2018, 15:37 2
Посмотрите темы внизу, может поможет.
0
Модератор
1468 / 1346 / 425
Регистрация: 13.09.2015
Сообщений: 4,627
09.10.2018, 16:02 3
Непонятно, зачем вы перемещаете каждый раз строку с максимальным на текущий момент коэффициентом (фрагмент с 6 по 18 строку). Что это даёт?
В цикле с 20-й строки вы делите на первый коэффициент остальные коэффициенты этого же уравнения, а надо делить коэффициенты уравнения, расположенного ниже.
В 25-й и 26-й строках вы пишите два цикла, один вложенный в другой, и пишете для них одну и ту же переменную. Естественно, первый цикл будет выполняться только один раз, потому что переменная после работы вложенного цикла будет иметь конечное значение.
И вообще, зачем так много циклов? Используйте средства Матлаба.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2018, 16:02
Помогаю со студенческими работами здесь

Решение СЛАУ методом Гаусса
Пытался решить решить систему уравнений методом Гаусса. Получилось, но считает не правильно,...

Решение СЛАУ методом Гаусса
Пожалуйста помогите написать программу для решения СЛАУ методом Гаусса,воспользовавшись...

Решение СЛАУ методом Гаусса
Всем доброго времени суток! Не могу понять, почему msgbox не хочет выводить значение массива....

Решение СЛАУ методом Гаусса
Ребят, помогите пожалуйста написать программу. Я просто действительно не догоняю что тут нужно...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru