0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 40
|
|||||||||||
1 | |||||||||||
Уравнение теплопроводности02.11.2016, 09:19. Показов 3436. Ответов 10
Метки нет (Все метки)
Всем привет. Пытался перевести задачу с кода Pascal на Matlab, но выдает ошибки. Подскажите , пожалуйста в чем ошибка?
До этого обсуждалась эта тема. Различие только в добавлении нелинейности в коэффициенте lamda. Соответственно и прогоночные коэффициенты изменились. Исходный код Pascal:
0
|
02.11.2016, 09:19 | |
Ответы с готовыми решениями:
10
Уравнение теплопроводности Нелинейное уравнение теплопроводности Уравнение теплопроводности в matlabe Уравнение теплопроводности. Пластина. |
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
|
|
02.11.2016, 14:13 | 2 |
topgun, лучше бы вы формулы привели, чем код на Паскале.
0
|
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 40
|
|
04.11.2016, 10:01 [ТС] | 3 |
0
|
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
|
|||||||||||
07.11.2016, 17:44 | 4 | ||||||||||
topgun, вот один вариант, с использованием прогоночных коэффициентов:
1
|
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 40
|
||||||
09.11.2016, 19:51 [ТС] | 5 | |||||
Спасибо. Но не смогли бы вы подсказать как изменить код. Это код для того же уравнения, отличие в начальном условие, когда вначале соединяются два тела (for i=1:N/2 T(i)=400 end
for i=N/2:N T(i)=300 end ) и добавляется слагаемое f, которое представляет собой кривую (fi=(0.1+i*h*2)*ro*c; ). Т.е уравнение имеет вид: Сам код: Неявная схема
0
|
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
|
|
09.11.2016, 20:36 | 6 |
topgun, вы даже не попытались разобраться в моём коде, а опять просто сделали кальку с кода в Паскале с кучей лишних команд и операций.
0
|
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 40
|
|
09.11.2016, 21:14 [ТС] | 7 |
Centurio, я попытался изменить ваш код, но у меня не совпал график при задании lamda постоянным. Код, который я прикрепил, полностью рабочий. Как я и писал выше, изменил начальное условие и граничное, а также функцию f в виде кривой.
0
|
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
|
||||||
10.11.2016, 06:48 | 8 | |||||
0
|
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 40
|
|
10.11.2016, 19:49 [ТС] | 9 |
Centurio, спасибо, я хотел уточнить, а что нужно изменить, чтобы вместо постоянного значения lamda указать зависимость: lamda=a0*(1-a1*Ti); Пытался вставить в коде, который вы скинули в последнем сообщение, он выдаёт ошибку. Вы до этого скидывали код, с учётом этой зависимости, но я не смог внести свои условия на температуры. А в последнем коде все работает, только не получилось в него добавить зависимость lamda. Вы бы не смогли подсказать, пожалуйста.
0
|
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
|
|
10.11.2016, 20:42 | 10 |
Нужно вычисление lamda внести в цикл J в виде lambda=a0*(1-a1*T(J-1)). Также в цикл внести вычисление коэффициентов A, B, C.
0
|
11.11.2016, 15:08 | 11 |
Matlab M lamda = @(T) a0*(1-p1*T); % создали функцию lambda(T)
0
|
11.11.2016, 15:08 | |
11.11.2016, 15:08 | |
Помогаю со студенческими работами здесь
11
Уравнение теплопроводности методом прогонки Уравнение теплопроводности, неявная схема Уравнение теплопроводности для мишени Уравнение теплопроводности (перевести код) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |