initialfield.m
来自「解决麦克斯韦的matlab源文件」· M 代码 · 共 32 行
M
32 行
function y = initialfield(x,omega,phioffs)% Initial electric field% omega = 3/2*pi for L-shaped domain% omega = pi/2 for squareep = pi/omega;phi = atan2(x(2),x(1)) + phioffs;rad = norm(x);if (rad < eps), rad = eps; endp = rad^(ep)*cos(ep*phi);cp = ep*rad^(ep-1)*(cos(ep*phi)*[-x(2);x(1)] + ... sin(ep*phi)*[x(1);x(2)])/rad;if ((abs(x(1)) < 0.5) & (abs(x(2)) < 0.5)) f = 1; cf = [0;0];elseif ((abs(x(1)) >= 0.5) & (abs(x(2)) < 0.5)) f = sin(pi*x(1))^2; cf = pi*[0; sin(2*pi*x(1))];elseif ((abs(x(1)) < 0.5) & (abs(x(2)) >= 0.5)) f = sin(pi*x(2))^2; cf = pi*[-sin(2*pi*x(2)) ; 0];else f = (sin(pi*x(1))*sin(pi*x(2)))^2; cf = pi*[-(sin(pi*x(1))^2)*sin(2*pi*x(2)); ... sin(2*pi*x(1))*(sin(pi*x(2))^2)];endy = f*cp + p*cf;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?