Метод Якоби для решения СЛУР, помогите решить задачу |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Метод Якоби для решения СЛУР, помогите решить задачу |
Visnyshka |
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
Доброго времени суток!
Помогите пожалуйста решить задачу на Pascal. Мне дана система уравнений, необходимо написать программу решающую её методом Якоби. Не знаю с чего начать, подскажите пожалуйста! Прикрепляю файл с описанием метода. Заранее благодарю! DOC-файл удален Сообщение отредактировано: volvo - |
volvo |
Сообщение
#2
|
Гость |
Цитата Не знаю с чего начать С прочтения и осознания алгоритма. Ты его читала? Что именно непонятно? Я уж не говорю о том, что DOC-файлы выкладывать запрещено: Правила, пункт 1.11, поэтому файл удален.Взамен - вот ссылка на описание метода в Вики: Метод Якоби. Зайди туда обязательно... |
Visnyshka |
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
О ужас(( я как раз и не понимаю алгоритм, вернее понимаю только частями(( спасибо за ссылку, но я уже много раз читала про этот метод...
|
Lapp |
Сообщение
#4
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
О ужас(( я как раз и не понимаю алгоритм, вернее понимаю только частями(( спасибо за ссылку, но я уже много раз читала про этот метод... Начни с того, что опиши саму матрицу и вектор решений. Это нужно для любого метода. Как ты собираешься задавать матрицу? Читать из файла? Какая ее максимальная размерность? Выведи хотя бы уравнения на экран. Сделай хотя бы это. Если не знаешь как - спроси нас )).А дальше можно будет приступать и к методу.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Visnyshka |
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
Хм...проще всего наверное будет сразу в программе задавать матрицу. У меня система из пяти уравнений:
10х1+х2+2х3-3х4+х5=10 х1+9х2+3х3+2х4+х5=40 х1-5х2+10х3-2х4-х5=9 4х1+2х2+5х3+15х4+х5=87 2х1+2х2-х3+х4-8х5=-25 если я все правильно понимаю матрица состоит из коэффициентов при х, а вектор B это то чему равны уравнения) Так?)) |
Lapp |
Сообщение
#6
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Хм...проще всего наверное будет сразу в программе задавать матрицу. У меня система из пяти уравнений: Ну, пусть он будет B - хоть горшком назови . Главное состоит в том, что для реализации МЯ тебе потребуются операции над веторами и матрицами. И, значит, тебе нужно их сначала воплотить - либо сделать самой с нашей помощью, либо где-то позаимствовать юнит. И реализация самих матриц и векторов будет определяться этим. ... если я все правильно понимаю матрица состоит из коэффициентов при х, а вектор B это то чему равны уравнения) Так?)) Так что выбирай. Сделать свой модуль для работы с матрицами несложно (особенно, если заглянуть в наш FAQ). -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Visnyshka |
Сообщение
#7
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
А разве в паскале не предусмотрен юнит который работает с матрицами? Вот я задаю матрицу:
Код program metodyakobi; uses crt; var A: array[1..5,1..5]of integer; i,j: integer; begin clrscr; A[1,1]:=10; A[1,2]:=1; A[1,3]:=2; A[1,4]:=-3; A[1,5]:=1; A[2,1]:=1; A[2,2]:=9; A[2,3]:=3; A[2,4]:=2; A[2,5]:=1; A[3,1]:=1; A[3,2]:=-5; A[3,3]:=10; A[3,4]:=-2; A[3,5]:=-1; A[4,1]:=4; A[4,2]:=2; A[4,3]:=5; A[4,4]:=15; A[4,5]:=1; A[5,1]:=2; A[5,2]:=2; A[5,3]:=-1; A[5,4]:=1; A[5,5]:=-8; writeln('пробую вывести один эл-т ',A[2,5]); end; readkey; end. |
Ozzя |
Сообщение
#8
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Цитата А разве в паскале не предусмотрен юнит который работает с матрицами? Нет. |
Lapp |
Сообщение
#9
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
И не лень тебе было это все писать?
Не проще ли так: const И сделать файл in.txt (например, в блокноте) 10 1 2 -3 1 Юнит для алгебры нужно написать. В этом вся прелесть! -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Visnyshka |
Сообщение
#10
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
Нет, не легче, как препод требует так и пишу)) а если будет слишком заумно все равно не поверит и придерёться))
|
volvo |
Сообщение
#11
|
Гость |
Visnyshka
program metodyakobi;У кого "заумнее", как ты думаешь? Тот код, что ты привела, или этот - практически математическое описание матрицы? |
Visnyshka |
Сообщение
#12
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
Ой здорово))) спасибо, просто я даже не подумала что можно как константу задать, а элементы так же как и в обычном массиве вызываются?
|
Ozzя |
Сообщение
#13
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Цитата а элементы так же как и в обычном массиве вызываются? Для кого писано? Постом выше? writeln('пробую вывести один эл-т ', A[2,5]); Сообщение отредактировано: Ozzя - |
Visnyshka |
Сообщение
#14
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
Что вы тут все на меня так кидаетесь?!((( Да, я не умею на pascal программировать, ну так поэтому и пишу сюда, а вы прям сразу такие не довольные((( и спрашивай после этого...((
|
Lapp |
Сообщение
#15
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Что вы тут все на меня так кидаетесь?!((( Да, я не умею на pascal программировать, ну так поэтому и пишу сюда, а вы прям сразу такие не довольные((( и спрашивай после этого...(( Все правильно, Visnyshka, продолжай спрашивать. Я извиняюсь от имени всего Форума. Надеюсь, дальнейшие ответы будут корректнее.Да, работа с массивом, заданным константой, абсолютно ничем не отличается от работы с массивом, не заданным константой. Можно, один совет тебе дам? Смотри, допустим - возник у тебя вопрос: "элементы так же как и в обычном массиве вызываются?" У тебя есть компилятор, перед тобой редактор - этого достаточно, чтоб быстро найти ответ на этот вопрос. Набираешь простенькую программу, задаешь массив константой и вызываешь элемент, как обычно, и выводишь его на печать - а потом смотришь на результат. Вывод получился верный? Значит, твоя гипотеза о том, что элементы вызываются, как в обычном массиве - верна. И ты это сама выяснила! Если гипотеза не подтверждается и других гипотез для проверки нет - смело спрашивай тут. Понимаешь? Активнее экспериментируй, у тебя есть для этого все средства. Если же эксперимент не дает ответа или вопрос сложный (не знаешь, как что-то написать) - тогда спрашивай. Экспериментирование СИЛЬНО ускорит твое обучение. Не бойся его. А мы поможем. Тебе надо бы и учебник почитать.. Как минимум до раздела "процедуры и функции". Давай, тут ничего сложного нет. Начни писать процедуру для умножения матрицы на вектор. Показывай, что выходит (даже если ПОЧТИ ничего не выходит). Поможем. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Visnyshka |
Сообщение
#16
|
Группа: Пользователи Сообщений: 8 Пол: Женский Репутация: 0 |
Да я читала учебник, и по делфи тоже, там все одинаково, просто возникают некоторые вопросы)) Пока кое что получается с программой, чуть позже когда будет явный результат выложу прогу) похвастаюсь)))
|
Текстовая версия | 11.01.2025 5:35 |