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

📄 finedif.m

📁 国外计算机科学教材系列 numerial method using matlab (third edition)
💻 M
字号:
function U = finedif(f,g,a,b,c,n,m)% U = finedif('f','g',0,1,4,10,10)%Input - f=u(x,0) as a string 'f'%      - g=ut(x,0) as a string 'g'%      - a and b right endpoints of [0,a] and [0,b]%      - c the constant in the wave equation%      - n and m number of grid points over [0,a] and [0,b]%Output - U solution matrix; analogous to Table 10.1%Initialize parameters and Uh = a/(n-1);k = b/(m-1);r = c*k/h;r2=r^2;r22=r^2/2;s1 = 1 - r^2;s2 = 2 - 2*r^2;U = zeros(n,m);%Comput first and second rowsfor i=2:n-1   U(i,1)=feval(f,h*(i-1));   U(i,2)=s1*feval(f,h*(i-1))+k*feval(g,h*(i-1)) ...          +r22*(feval(f,h*i)+feval(f,h*(i-2)));end    %Compute remaining rows of Ufor j=3:m,  for i=2:(n-1),     U(i,j) = s2*U(i,j-1)+r2*(U(i-1,j-1)+U(i+1,j-1))-U(i,j-2);  endendU=U';function e1=f(t)e1=sin(pi.*t)+sin(2.*pi.*t);function e2=g(t)e2=0;

⌨️ 快捷键说明

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