Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объясните, пожалуйста код, Есть матрица Гаусса. Объясните шаги 
:(
    Опции темы
Manufel
Дата 13.10.2014, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.10.2014

Репутация: нет
Всего: нет



Здравствуйте, можете, пожалуйста, объяснить из чего состоит данный код и для чего предназначен каждый шаг? По сути это Матрица гаусса, но можете уточнить по поводу каждого цикла и т.п.
Код

%function x = Gauss()
%echo off
clear
%format short
n=4;% число уравнений
a=[1 -2 0 -3 -19;-2 0 4 -4 -22;-3 -5 4 1 -23;4 4 -1 0 21 ];
% a - расширенная матрица
% k - шаги метода Гаусса

% Прямой ход метода Гаусса
for i=1:n
    a_max=a(i,i);
    i_max=i;
    for l=(i+1):n
        if abs(a(l,i))>abs(a_max)
           a_max=a(l,i);
           i_max=l;  
        end; 
    end;
    
    for j=i:(n+1)
        r=a(i,j);
        a(i,j)=a(i_max,j);
        a(i_max,j)=r;
    end;
    
    r=a(i,i); 
    for j=i:(n+1)
        a(i,j)=a(i,j)/r;   
    end;  
    
    for l=i+1:n
        r=a(l,i); 
        for j=i:n+1
            a(l,j)=a(l,j)-a(i,j)*r;  
        end;
    end;
    
    k=i
    a=a
    disp(['Press any key to continue...'])
    pause 
    
end;

% Обратный ход метода Гаусса
x(n)=a(n,n+1);  
for i=1:(n-1)
    n_i=n-i;  
    sum=0;  
    for j=(n_i+1):n
        sum=sum+x(j)*a(n_i,j);  
    end;    
    x(n_i)=a(n_i,n+1)-sum;
end
x=x


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Математические пакеты | Следующая тема »


 




[ Время генерации скрипта: 0.1029 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.