عین الله باقرزاده 113 اشتراک گذاری ارسال شده در 30 فروردین، ۱۳۹۱ تابع wave.m T معادله یک بعدی موج رو حل می کنه و برای استفاده اینجا قرارش میدم: function wave3() % % u_{tt} = c^2 u_{xx} % % using finite difference numerics. % L = length of interval 0 % % c = wave speed % % n = number of space mesh points % % dt = time step size % L = 5; c = 1; n = 100; dt = .005; tf = 5; h = L/n; l = dt*c/h; l2 = l^2; M = l2 *( diag(ones(n,1),1) + diag(ones(n,1),-1)); x = linspace(0,L,n+1)'; f = x.*sin(4*pi*x/L); g = 0*x; t=0; w = f; z = (1 - l2) * f + M * f/2 + dt * g; t = t + dt; Z = []; T = []; while t u = 2 * (1 - l2) * z + M * z - w; w = z; z = u; Z = [Z,z]; T = [T,t]; t=t+dt; end T1 = linspace(0,tf,100); x1 = linspace(0,L,110)'; Z1 = interp2(T,x,Z,T1,x1); surf(x1,T1,Z1') axis([0 L 0 tf -5 5]); xlabel('Position'); ylabel('Time'); zlabel('Temperature'); colormap 'Jet' end 4 لینک به دیدگاه
ارسال های توصیه شده