|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
Решение СЛАУ методом итераций22.04.2012, 17:24. Показов 12823. Ответов 18
Метки нет (Все метки)
Что-то алгоритм вычисляет только первый шаг ,а дальше не считает...
В эдит вы должны ввести обязательно точность(Иначе выдаст ошибку) ,а потом щелкать слева на право по кнопкам . Суть метода: https://www.cyberforum.ru/atta... 1335003325 https://www.cyberforum.ru/atta... 1335003325
0
|
|
| 22.04.2012, 17:24 | |
|
Ответы с готовыми решениями:
18
Решение СЛАУ методом простых итераций
Решение кв.уравнений методом итераций |
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 22.04.2012, 18:05 [ТС] | |
|
Вот немного подкорректировал программу ,но она все равно не работает ...
Что-то я намудрил в предпоследней кнопки . Вместо того,что бы вывести на экран значения,выводятся одни 0...
0
|
|
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 23.04.2012, 14:02 [ТС] | |
|
Помогите довести до ума программу.Я уверен,что ошибка только в предпоследней кнопке ,которая числа не находит ...
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
|||||||||||
| 23.04.2012, 15:44 | |||||||||||
|
Все порывался ответить, но взглянув в код программы, откладывал. Думал, найдется более компетентный человек для этого.
Думаю, шансы на помощь повысятся, если: 1. Напишешь условие задания. 2. Прокомментируешь выкладываемый код. Как я понял, нужно решить СЛАУ методом Зейделя. При этом, количество уравнений (а следовательно, и коэффициентов в уравнении) задается пользователем. Для чего тогда вот этот код?
Для чего куча кнопок на форме? Или вот:
Если код работает правильно, то можно додуматься о его назначении. Если код работает неправильно, то нужна четкая постановка задачи, чтобы исправить код. Мне представляется задача очень простой: 1. Указываем количество уравнений (таблица для ввода коэффициентов СЛАУ формируется на основании этого). 2. Задаем точность (раз уж это требуется по заданию). 3. Жмем кнопку "Расчет". Результаты копируются в столбец другой таблицы, или ListBox. Ну, или появляется надпись в отсутствии сходимости. Собственно, проще сделать новую программу, чем привести недоделанную к нормальному виду.
1
|
|||||||||||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 23.04.2012, 15:52 [ТС] | |
|
1 кусок кода:Ну можно и без копирования одной таблице в другую.Можно вырезать кусок с копированием .
2 кусок кода:n число строк,m число столбцов . Мы задаем размерность таблице используя спинэдит ,а так у нас таблица такой формы :3 на 4 ,4 на 5, 5 на 6 и тп ,то m у нас n+1. Ошибка должна крыться в предпоследней кнопки ,т.к там происходят вычисления . Много кнопок я сделал специально,т.к лечге будет искать ошибки,если он будет разбит по кнопкам. В конечной программе,можно все свести к 1-2 кнопкам ...
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
|||
| 23.04.2012, 15:59 | |||
|
Добавлено через 6 минут
1
|
|||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 23.04.2012, 20:58 [ТС] | |
|
решения СЛАУ методом итераций:
x1 x2 x3 b1 x1 x2 x3 b2 x1 x2 x3 b3 выражаем из каждой строке x,который равен этой строке(не забываем перенести b),потом делим на него всю строку . Матрица теперь имеет вид: x1 x2 x3 b1 x2 x1 x3 b2 x3 x1 x2 b3 Далее подставляем вместо иксов сначала 0 ,но в первый столбец подставлять ничего не надо. Тем самым мы получим значения иксов x1 =число 1 x2= число 2 x3=число 3 Теперь мы должны отнять по модулю старые значения от новых и сравнить с точностью.Если точность совпадает,то вычисления завершены ,если нет ,то полученные иксы подставляются по новой,получаются новые иксы,опять отнимает старое от нового и сравниваем и так до тех пор,пока точность не будет достигнута или не иссякнет кол-во попыток . Условия никакого нет) Учитель сказал ,что потерял код проги и будет рад ,если я напишу код . Добавлено через 3 минуты Я дабы не возиться ,после того,как сменил знаки у последнего столбца и поделил на главную диагональ,обнулил ее . Добавлено через 7 минут По сути мне надо исправить предпоследнюю кнопку только. Вторая кнопка меняет знак(т.к делается перенос) главной диагонали,делит на нее и меняет знак последнего столбца,т.к мы его тоже переносим Добавлено через 4 минуты В 3 кнопки:Мы создаем массив с иксами,забитый нулями . Врубаем цикл While В нем выполняются операции подсчета новых значений ,а так же сохранение старых . После того,как подсчет выполнен ,мы с помощью For и If делаем разность старых значений и новых . Если значение совпадает с точностью ,то делаем c+1 (Это счетчик сходимости с точностью).Если у нас 3 икса,то если счетчик будет равен 3 ,то мы выходим из цикла,т.к разность совпала с точностью и каждого икса .Если это не происходит,то с мы обнуляем и по новой . Добавлено через 4 часа 41 минуту Неужели никто не поможет? Вроде расписал очень подробно все ...
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
||||||
| 23.04.2012, 21:52 | ||||||
|
Дело в следующем. Саму программу написать несложно. Собственно, вот она.
0
|
||||||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 23.04.2012, 22:57 [ТС] | |
|
WoodHead, А можешь мой код до ума довести?
Просто в своем легче разобраться,т.к с 0 писал.
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
||||||||||||||||
| 24.04.2012, 10:46 | ||||||||||||||||
|
iluxa1810, нормально. Тебе на блюдечке с голубой каемочкой дали работающий код, где все переменные названы со смыслом, а не "ё", "к", "л", "м", "н", как у тебя. Везде есть комментарии к циклам, переменным, и можно проследить логику работы программы. А ты настаиваешь, чтобы твой код привели в нормальный вид. Ну ты и наглый. :-)
Ладно, даю первую наводку. Ошибка здесь:
В общем, вот работающий код твоей программы. Еще несколько косяков пришлось исправить, но теперь работает.
1
|
||||||||||||||||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 24.04.2012, 17:40 [ТС] | |
|
WoodHead, Благодарю .Завтра затестирую
![]() if buf[i]<=d then лучше уж так наверное . А где ты там еще ошибки нашел?Мне просто важно понять,где я ошибся .
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
|||||||
| 25.04.2012, 00:03 | |||||||
В принципе, в данном случае было не критично, но Дельфи советовал их все-таки сделать локальными.
1
|
|||||||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
||||||
| 25.04.2012, 15:25 [ТС] | ||||||
|
Все работает отлично,еще раз спасибо за помощь!
Еще вопрос,как сделать кнопку сброса данных во всей программе?Допустим после подсчета,надо еще раз что-то подсчитать
0
|
||||||
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
|||||||||
| 25.04.2012, 15:26 | |||||||||
1
|
|||||||||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 25.04.2012, 15:32 [ТС] | |
|
WoodHead, А как очистить всю программу от веденных данных или перезапустить ее кнопкой?
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
||
| 25.04.2012, 15:41 | ||
|
1
|
||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 25.04.2012, 15:50 [ТС] | |
|
WoodHead,
Да,пожалуй сделаю кнопку,которая присваивает стринггридам пустые значения . Добавлено через 5 минут Еще такой вопрос,к примеру если вводить такую матрицу: 123 456 ,то при нажатии на кнопку выполнить выдает ошибку с плавающий точкой .В чем может быть проблема?
0
|
|
|
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
|
|||
| 25.04.2012, 16:01 | |||
|
Я ранее давал ссылку почитать про признак сходимости, так вот, самое время с ней ознакомиться. Если вкратце: не всякую матрицу СЛАУ можно посчитать методом простых итераций (или методом улучшенных итераций). Итерационный процесс может зациклиться. Или, если СЛАУ не имеет решения, то итерационный процесс расходится, что приведет к увеличению значений переменных. А как помним, их величина ограничена типом Real. Если число превысит допустимое для этого типа, то появится сообщение об ошибке.
1
|
|||
|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
| 25.04.2012, 17:05 [ТС] | |
|
WoodHead, Ну ладно.Главное что хоть что-то считает правильно )
0
|
|
| 25.04.2012, 17:05 | |
|
Помогаю со студенческими работами здесь
19
Решение СЛАУ методом Гусса Решение СЛАУ методом ЛУ разложения Решение СЛАУ методом Гаусса решение слау методом крамера Решение СЛАУ методом LU разложения. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|