function u = theat1d(u0,n,dt) % 熱伝導シミュレーション(1次元、非定常、陽解法) % u0: 温度の初期値 % n: 節点の数 % dt: 時間の刻み幅 d = 5; % 棒の長さ f = 20; % 発熱量 h = d/(n - 1); % 分割の幅 c = dt/h^2; u = zeros(n,1); % 初期化 u(1) = 0; u(n) = 0; for i=2:n-1 u(i) = (1 - 2*c)*u0(i) + c*u0(i+1) + c*u0(i-1) + dt*f; end