№ п/п | Математическая функция | Функция в MATLAB | № п/п | Математическая функция | Функция в MATLAB |
sin(x) | sin(x) | arcsin(x) | asin(x) | ||
cos(x) | cos(x) | arccos(x) | acos(x) | ||
tg(x) | tan(x) | arctg(x) | atan(x) | ||
exp(x) | sinh(x) | sinh(x) | |||
ln(x) | log(x) | cosh(x) | cosh(x) | ||
lg(x) | log10(x) | tgh(x) | tgh(x) | ||
sqrt(x) | arcsinh(x) | asinh(x) | |||
x^2 | arccosh(x) | acosh(x) | |||
abs(x) | arctgh(x) | atanh(x) |
function [X, Y, U ] = dirichlet(h, Region, fn, fnborder, varargin)
if nargin < 1 || isempty(h)
h = 0.02;
end;
if nargin < 2 || isempty(Region)
Region = 'L';
end;
if nargin < 3 || isempty(fn)
fn = @fun;
end;
if nargin < 4 || isempty(fnborder)
fnborder = @funborder;
end;
x0 = 0;
x1 = 1;
n = (x1 - x0)/h + 3;
[X, Y ] = meshgrid(linspace(x0 - h, x1 + h, n));
U = zeros(n);
U(:) = NaN;
R = numgrid(Region, n);
B = numgridborder(R);
Region = R > 0;
Border = B > 0;
region = R(Region);
border = R(Border);
nregion = length(region);
nborder = length(border);
A = -delsq(R)/h^2;
f = zeros(nregion, 1);
f (region) = feval(fn, X (Region), Y (Region), varargin{:});
A(border,:) = sparse(1:nborder, border, 1, nborder, nregion);
f (border) = feval(fnborder, X (Border), Y (Border), varargin{:});
u = A\f;
U(Region) = u(region);
X = X(2:n-1, 2:n-1);
Y = Y (2:n-1, 2:n-1);
U = U(2:n-1, 2:n-1);
clf
shg
surfc(X, Y, U);
shading interp;
view(-63, 17)
function f = fun(x, y)
f = 50*(4*x-2*y);
function f = funborder(x, y)
f = 2*x-3*y;
|
|