Re: [問題] 處理一階熱方程式(請大家參閱幫忙驗證)已回收
※ 引述《skynice (陽光小天)》之銘言:
: 在1-D heat equation中
: 已知邊界條件u=(0,t)=10 , u(1,t)=-10
: 跟起始條件u(x,0)=10cos(x*pi) 0<=x<=1 ,t>0
: 1.要求出理論解
: 2.利用顯式法(explicit method)跟隱式法(implicit method)
: 求解並與理論解比較
: 不敢奢望板友幫我解答
: 提醒我在matlab中有甚麼方法可以解
: 給我一個大概的方向
: 感謝
這問題說起來簡單但是實際上挺麻煩的
首先.我個人認為MATLAB內建的PDETOOL拿來解一維熱傳PDE
解出來的東西都不太合常理.
例如溫度上下震盪劇烈還會亂跳.還呈現不連續.
一整個是錯誤解不合物理現象
(一維PDE不適合用有限元素法嗎?工具箱是這種方法的)
我個人是沒有用"有限差分法"(就是原PO提到那兩種方法)
我採用是"Method of Line"法來解(可能有錯歡迎指教)
這邊我解了兩個.主要是在邊界條件上有分別
一個是符合 u(x,0)=10cos(x*pi)
一個是符合 u=(0,t)=10
為了要驗證我的觀念正不正確.還請各位板有幫忙看一下
可能:1.兩個解都是錯的
2.前者對 3.後者對
也請原po幫個忙查證一下(用解析解來看.解析解不難用手解應該ok)
----------------------------------------------------------------
function MOL
% 變數定義
% n 分割點數
% dx 分割間距
% ubcl 左邊界
% ubcr 右邊界
% xdim 板位置
% tdim 時間位置
%
% 本方法是採用 Method of Line 的數值方法做的
%
%
global n dx ubcl ubcr
n = 50;
xdim = linspace(0,1,n);
dx = xdim(2)-xdim(1);
tdim = linspace(0,1,n);
ubcl = 10;
ubcr = -10;
uic1 = (10*cos(pi*xdim))';
uic2 = 10*ones(n,1);
[t1 u1] = ode15s(@odepe,tdim,uic1);
[t2 u2] = ode15s(@odepe,tdim,uic2);
figure(1)
surfc(xdim,tdim,u1)
title('Numerical solution computed in Method of Line');
xlabel('Distance x');
ylabel('Time t');
zlabel('u(x,t)')
figure(2)
plot(tdim,u1(:,1:end))
xlabel('Time t')
ylabel('u(x,t)')
figure(3)
surfc(xdim,tdim,u2)
title('Numerical solution computed in Method of Line');
xlabel('Distance x');
ylabel('Time t');
zlabel('u(x,t)')
figure(2)
plot(tdim,u2(:,1:end))
xlabel('Time t')
ylabel('u(x,t)')
function f = odepe(t,u)
global n dx ubcl ubcr
f = zeros(n,1);
for i = 1:n-1
f(i) = (1/dx).*(u(i+1)-u(i));
end
u(1) = ubcl;
u(end) = ubcr;
f(n) = (1/dx)*(-10-u(n-1));
-----------------------------------------------------------
為什麼這麼堅持驗證呢?
我想看看能不能把這個解法確定後.
想辦法拿來解工具箱解出來是錯誤的問題
其實PDE TOOLBOX不太好用(應該說是不好上手)
而且內建模組很固定.要改些專屬的變數根本就很難
而 pdepe 這個解題器解非線性PDE又有很囧的問題
(就是我之前說的亂跳亂飄根本不合物理原則的解)
還麻煩各位先進多多指教.幫小弟看看有沒有錯
弄得好我也來弄個簡易的PDE解題器好了
--
1.MATLAB programming 2.ASPEN process simulation package
3.FORTRN programming 4.Advance Engineering Mathematics
5.Process Control Theory
6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport)
7.Numerical Method and Analysis
8.MATLAB Toolbox.Simulink system basic design
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.9.140.203
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章