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

Метод конечных разностей

22.04.2012, 16:37. Показов 12249. Ответов 9
Метки нет (Все метки)

Всем доброго времени суток. В университете поставили задачу написать на MathCAD программу, реализующую метод конечных разностей для заданного уравнения. Но, спасибо нашей системе образования, не учли, что все мы никогда до этого даже не видели этот Маткад, из-за чего приходится курить Google и иже с ним. Так вот, возник вопрос. Мне нужно построить таблицу конечных разностей. Моя программа верно вычисляет только первые два столбца, а в остальных почему-то предыдущие значения обращаются в нуль, из-за чего просто чередуются знаки в ячейках. Я не пойму, в чем проблема. Прошу помочь. На Си у меня все бы заработало. Скриншот листа MathCAD во вложениях.
Миниатюры
Метод конечных разностей  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2012, 16:37
Ответы с готовыми решениями:

Составить таблицу конечных разностей
Здравствуйте. Помогите, пожалуйста с решением. Я написала формулу интерполяционного многочлена...

Краевая задача методом конечных разностей
Помогите пожалуйста очень надо Нужно решить краевую задачу методом конечных разностей в Mathcad...

Решение задач методом конечных разностей
Всем здравствуйте. Прошу помочь разобраться с задачей, может есть у кого похожие примеры хотя бы?...

Решение задачи методом конечных разностей
Доброе время суток, прошу помочь решить задачку методом конечных разностей в маткад, или хотя бы...

9
Модератор
Эксперт по математике/физике
4210 / 3405 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
22.04.2012, 18:03 2
Цитата Сообщение от Vaskrol Посмотреть сообщение
метод конечных разностей для заданного уравнения
А где же уравнение?

Да и реализация метода выглядит вполне коряво (на С не заработало бы - инструмент здесь не при чем)

h:=(B-A)/N

Двумерный массив y - откуда и зачем?
0
0 / 0 / 1
Регистрация: 22.04.2012
Сообщений: 11
22.04.2012, 18:14  [ТС] 3
Не для уравнения. Неверно выразился. Для функции. Надо просто составить таблицу конечных разностей.

Почему же не заработало бы? Я прекрасно понимаю, как я бы это писал на Си, и у меня все бы работало.
Но MathCAD я вижу впервые, и не понимаю его, поэтому и прошу помощи.

С вычислением шага ошибся, только дела это не меняет в данном случае.

Вы можете подсказать другой способ построения таблицы? Примерно так говорил делать преподаватель, вот только дальше он не объяснил. В обычном цикле на Си это элементарно.
0
1029 / 700 / 66
Регистрация: 30.01.2012
Сообщений: 714
22.04.2012, 20:55 4
да в общем-то тут не сложнее, чем на C, да и в справке всё хорошо описано (programming Program Loops)...

Метод конечных разностей


а почему в исходном коде получается такой результат, понять несложно: расчёт идёт по строкам, при этом следующая строка (i + 1) заполнена нулевыми значениями — отсюда и чередование знаков...
если поменять местами строки и столбцы, то, в общем и целом, с незначительными изменениями можно заставить работать и этот код, но это в любом случае не есть хороший стиль программирования...
2
0 / 0 / 1
Регистрация: 22.04.2012
Сообщений: 11
22.04.2012, 21:30  [ТС] 5
Ничего себе. Я безумно благодарен, спасибо. Признаться, такое построение программы для меня - просто откровение. Если бы я знал, что за " <-- ", что это за df(...), то я бы постарался написать менее индийский код. Похоже, чтобы сдать курс по этим лабораторным, заодно придется самостоятельно изучить курс по MathCAD.
0
1 / 1 / 0
Регистрация: 16.04.2017
Сообщений: 42
10.07.2018, 15:28 6
Все сделал по примеру для другой функции. Почему не работает???
Справа- это скопированная картинка.
вот
Миниатюры
Метод конечных разностей   Метод конечных разностей  
0
Эксперт по математике/физике
8135 / 5953 / 3137
Регистрация: 14.01.2014
Сообщений: 13,456
10.07.2018, 15:49 7
1) Во-первых, создайте новую тему.
2) Во-вторых, никто по этим фрагментам не даст точного диагноза. Загрузите Mathcad-файл в архиве (в новой теме с постановкой исходной задачи)
0
1 / 1 / 0
Регистрация: 16.04.2017
Сообщений: 42
10.07.2018, 16:11 8
Все то же самое. Абсолютно. Просто другая функция, а функция нахождения конечных разностей та же самая. Только здесь почему-то маткад понимает, что Yi,0 - это первый столбец матрицы Y, а у меня пишет что индекс не допустим для данного массива, не видит, что это двумерный массив...А тут в примере видит. Будто автор примера скрыл еще какие вычисления вверху.
0
6426 / 4589 / 1890
Регистрация: 02.02.2014
Сообщений: 12,288
10.07.2018, 16:33 9
Цитата Сообщение от Vorkutin Посмотреть сообщение
Yi,0 -
у вас origin=1, соответственно, индексация элементов начинается с 1.
1
1 / 1 / 0
Регистрация: 16.04.2017
Сообщений: 42
11.07.2018, 21:01 10
Вот это лоханулся. А всё было так просто.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2018, 21:01
Помогаю со студенческими работами здесь

Решение уравнения теплопроводности методом конечных разностей
Всем доброго время суток. Подскажите пожалуйста: составил программу для вычисления одномерного...

Решить краевую задачу методом конечных разностей
Здравствуйте, помогите в выполнения задания. Решение краевую задачу методом конечных разностей,...

Составить по приведенным узловым точкам (xi,yi), i=0.4 таблицу конечных разностей
Составить по приведенным узловым точкам (xi,yi), i=0..4 таблицу конечных разностей. Используя ее,...

Двумерное нестационарное уравнение теплопроводности методом конечных разностей
Здравствуйте, необходимо решить по неявной схеме. В решении использую метод прогонки. Алгоритм...


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

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

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