e922.m
来自「matlab算法集 matlab算法集」· M 代码 · 共 40 行
M
40 行
%-------------------------------------------------------------------
% Example 9.2.2: Steady State Temperature
%-------------------------------------------------------------------
% Initialize
clc
clear
m = 29; % x precision
n = 29; % y precision
q = 500; % maximum iterations
a = 4; % maximum x
b = 4; % maximim y
tol = 1.e-4; % error bound
x = zeros (m,1);
y = zeros (n,1);
U = zeros (m,n);
g = inline ('exp(y)*cos(x) - exp(x)*cos(y)','x','y');
% Find solution
fprintf ('Example 9.2.2: Steady State Temperature\n');
[alpha,r,x,y,U] = poisson (a,b,m,n,q,tol,'',g);
show ('Number of iterations',r)
show ('Optimal relaxation parameter',alpha)
du = 0;
for i = 1 : m
for j = 1 : n
du = max(du,abs(U(i,j) - g(x(i),y(j))));
end
end
show ('maximum error',du)
plotxyz (x,y,U,'Steady-State Temperature','x','y','u')
%-------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?