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

Реализовать метод Гаусса для вычисления матрицы и вектора

24.11.2018, 01:40. Показов 7269. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Написала программу для вычисления, ввела свою матрицу, но выдает ошибку. Не судите строго код, в матлабе недавно.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A=[1 2 3; -2 2 4; 1 1 3];   
b=[6; 4; 5];
n = length(A);
 
for k=1:(n-1)
    for j=(k+1):n
        n(1i,k)=-A(1i,k)/A(k,k);
        for j=(k+1):n
            A(1i,j)=N(1i,k)*A(k,j)+A(1i,j);
            b(1i)=N(1i,k)*b(k)+b(1i);
        end
    end
    A(k+1):n;k=0;
end

Помогите пожалуйста разобраться с задачей. Буду очень благодарна!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2018, 01:40
Ответы с готовыми решениями:

Class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора
class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора class B-наследник А,имеет метод для...

Метод Гаусса для вычисления определителя
Вычисляю обратную матрицу методом Гаусса. После приведения к верхнетреугольному виду считаю определитель, однако значение выдается...

Реализовать метод Гаусса для расчета СЛАУ
Всем доброго времени суток) Уважаемые знатоки,помогите разобраться ) нужно реализовать метод Гаусса для расчета СЛАУ на Си (пока только...

9
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
24.11.2018, 06:21
Что это за индекс 1i?
0
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 18
24.11.2018, 12:25  [ТС]
Это вообще просто индекс i. Матлаб почему-то предлагал так исправить.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A=[1 2 3; -2 2 4; 1 1 3];   
b=[6; 4; 5];
n = length(A);
 
for k=1:(n-1)
    for j=(k+1):n
        n(i,k)=-A(i,k)/A(k,k);
        for j=(k+1):n
            A(i,j)=N(i,k)*A(k,j)+A(i,j);
            b(i)=N(i,k)*b(k)+b(i);
        end
    end
    A(k+1):n;k=0;
end
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
24.11.2018, 22:33
У вас много циклов. Используйте возможности Матлаба для работы с матрицами.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
C=[A,b];
[m,n]=size(C);
for k=1:m-1
    p=C(k,k)./C(k+1:m,k);
    P=repmat(p,1,n-k+1);
    C(k+1:m,k:n)=repmat(C(k,k:n),m-k,1)-P.*C(k+1:m,k:n);
end
X(m)=C(m,n)/C(m,n-1);
for k=m-1:-1:1
    C(1:k,k+1)=C(1:k,k+2)-X(k+1)*C(1:k,k+1);
    X(k)=C(k,k+1)/C(k,k);
end
X=X'
Если у вас версия Матлаба поновее, то код становится ещё проще.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
C=[A,b];
[m,n]=size(C);
for k=1:m-1
    p=C(k,k)./C(k+1:m,k);
    C(k+1:m,k:n)=C(k,k:n)-p.*C(k+1:m,k:n);
end
X(m)=C(m,n)/C(m,n-1);
for k=m-1:-1:1
    C(1:k,k+1)=C(1:k,k+2)-X(k+1)*C(1:k,k+1);
    X(k)=C(k,k+1)/C(k,k);
end
X=X'
0
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 21
25.11.2018, 00:32
Спасибо Вам! А где в таком случае вводить значения матрицы и вектора?
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
25.11.2018, 09:21
Цитата Сообщение от martasolli Посмотреть сообщение
А где в таком случае вводить значения матрицы и вектора?
Перед кодом.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A=[1 2 3; -2 2 4; 1 1 3];   
b=[6; 4; 5];
C=[A,b];
[m,n]=size(C);
for k=1:m-1
    p=C(k,k)./C(k+1:m,k);
    P=repmat(p,1,n-k+1);
    C(k+1:m,k:n)=repmat(C(k,k:n),m-k,1)-P.*C(k+1:m,k:n);
end
X(m)=C(m,n)/C(m,n-1);
for k=m-1:-1:1
    C(1:k,k+1)=C(1:k,k+2)-X(k+1)*C(1:k,k+1);
    X(k)=C(k,k+1)/C(k,k);
end
X=X'
0
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 21
25.11.2018, 13:09
Благодарю. А что значит индекс m? И как сделать так чтобы выводились шаги пересчета матрицы и вектора?
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
25.11.2018, 15:49
Цитата Сообщение от martasolli Посмотреть сообщение
А что значит индекс m?
Количество строк в матрице А (и С). Оно соответствует количеству уравнений системы.
0
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 21
25.11.2018, 17:44
не могу совсем разобраться в коде который Вы написали. как новые возможности помогают считать по-другому и сокращаются циклы
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
30.11.2018, 18:41
Цитата Сообщение от martasolli Посмотреть сообщение
как новые возможности помогают считать по-другому и сокращаются циклы
В более новых версиях если совершать поэлементные операции вектор-столбца (вектор-строки) с матрицей, то эти операции будут выполняться между элементами вектор-столбца (вектор-строки) и каждого столбца (каждой строки) матрицы. Это позволяет не "размножать" вектор-столбец (вектор-строку) до матрицы такого же размера, какой у матрицы, с которой выполняется операция. То есть можно не использовать команду repmat.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2018, 18:41
Помогаю со студенческими работами здесь

Реализовать метод Гаусса для события button.Click
Всем доброго времени суток. Пишу программу по решению СЛАУ методом Гаусса. Матрица у меня состоит из textBox'ов, которые создаются...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Метод Гаусса, для нахождения обратной матрицы
Доброго времени суток, уважаемые форумчане! Большая просьба, проверьте код на правильность Это метод Гаусса, для нахождения обратной...

Нужна прога для вычисления ранга матрицы методом Гаусса
Очень нужна прога для вычисления ранга матрицы 3*3 методом Гаусса

Решение расширенной матрицы для с.л.а.у., метод Гаусса, непонятные ошибки
Здравствуйте. Есть программа. Причем данная программка расширенную матрицу решает, но неправильно, не так как нужно, она выводит x =...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru