0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 205
|
||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||
Ошибки в разработке программы для оценки методов решения дифференциальных уравнений и построения графиков11.07.2019, 15:51. Показов 715. Ответов 1
Добрый день! Моя программа состоит из следующих подпрограмм:
- подпрограмма определения функции для первой производной; - подпрограмма метода Эйлера; - подпрограмма исправленного метода Эйлера; - подпрограмма модифицированного метода Эйлера; - подпрограмма метода Рунге-Кутта 4-го порядка; - подпрограмма оценки результатов и построения графиков. В зависимости от команды, поступившей в оператор switch, выбирается метод решения уравнения и его порядок для оценки результата, а также строится график для решения с шагами h и h/2. При оценке результатов я брал в качестве основного интервал с большим шагом и считал разность между узлами с номером i у первого интервала и номером 2i – 1 у второго интервала с половинчатым шагом. Я использовал элементы 2i – 1, так как нумерация в массивах MatLab начинается не с нуля, а с единицы. После этого я выбирал максимальную погрешность и строил графики для шагов h и h/2. При попытке запустить программу, я увидел предупреждение, что индекс превысил размерность матрицы, и ошибку в строке 8. Я читал, что размерность массивов значений для двух кривых у функции plot должна быть одинаковой, в противном случае графики нужно разносить по разным окнам. Я убрал subplot, но ошибки остались. Если в первом случае всё понятно (надо подгонять размерности для аргумента x и функции y), то почему компилятор ругается на массив оценок r из линии 8? Покажите, пожалуйста, где и на что нужно исправить. И вообще, функция plot идёт после той злополучной строки. Тогда где ещё могло возникнуть превышение размера массива? Функция для правой части уравнения:
0
|
11.07.2019, 15:51 | |
Ответы с готовыми решениями:
1
Задания для построения графиков функций и решения уравнений Программа для решения дифференциальных уравнений. Исправить ошибки в программе решение дифференциальных уравнений с выводом графиков решения Сравнение простого и модифицированного методов Эйлера решения дифференциальных уравнений |
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||||||
12.07.2019, 10:57 | 2 | |||||
А вот здесь Вы и сделали массивы разными по длине
PS Но основная Ваша проблема, наверное в отсутствии навыков отладки программы, выполнении ее по шагам и анализе изменяющихся данных. Пока не освоите отладку, так и будут постоянные проблемы с ошибками
0
|
12.07.2019, 10:57 | |
12.07.2019, 10:57 | |
Помогаю со студенческими работами здесь
2
Метод Адамса для решения дифференциальных уравнений Исправить программу для решения дифференциальных уравнений Решить систему уравнений и получить решение для T(r,Z) для построения графиков Парсинг textbox для решения системы дифференциальных уравнений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |