⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pardg1cg1.m

📁 various matlab programs to slove various problems
💻 M
字号:
function [u,x]=pardg1cg1(I,n,u0,f,nu,bc)nx = n(1);          h = (I(2)-I(1))/nx; x  = [I(1):h:I(2)]; t = I(3);   um = (eval(u0))';nt = n(2);          k = (I(4)-I(3))/nt;e = ones(nx+1,1);Add = spdiags([(h/12-k*nu/(3*h))*e, (h/3+2*k*nu/(3*h))*e, ...      (h/12-k*nu/(3*h))*e],-1:1,nx+1,nx+1);Aud = spdiags([(h/12-k*nu/(6*h))*e, (h/3+k*nu/(3*h))*e, ...      (h/12-k*nu/(6*h))*e],-1:1,nx+1,nx+1);Ald = spdiags([(-h/12-k*nu/(6*h))*e, (-h/3+k*nu/(3*h))*e, ...      (-h/12-k*nu/(6*h))*e],-1:1,nx+1,nx+1);B = spdiags([h*e/6, 2*h*e/3, h*e/6],-1:1,nx+1,nx+1);Add(1,1) = 1; Add(1,2) = 0; B(1,1)   = 0; B(1,2)   = 0;Aud(1,1) = 0; Aud(1,2) = 0; Ald(1,1) = 0; Ald(1,2) = 0;Add(nx+1,nx+1)=1; Add(nx+1,nx)=0;B(nx+1,nx+1)=0; B(nx+1,nx) = 0;Ald(nx+1,nx+1)=0; Ald(nx+1,nx)=0;Aud(nx+1,nx+1)=0; Aud(nx+1,nx)=0;[L,U]=lu([Add Aud; Ald Add]);x = [I(1)+h:h:I(2)-h]; xx=[I(1),x,I(2)];for time = I(3)+k:k:I(4)  t = time;       fq1 = 0.5*k*h*eval(f);  t = time-k;     fq0 = 0.5*k*h*eval(f);  rhs0 = [bc(1), fq0, bc(2)];     rhs1 = [bc(1), fq1, bc(2)];  b = [rhs0'; rhs1'] + [B*um; zeros(nx+1,1)];  y = L \ b;     u = U \ y;    um = u(nx+2:2*nx+2,1);endx = [I(1):h:I(2)]; u = um;return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -