Уже неделю бьюсь с краевой задачкой (численное решение неверно)
Здесь звездный контур обходится с параметром theta от 2*pi до 0.
И в матрице a наблюдаются неверные значения.
Предполагаю, что арктангенс неправильно считается.
Подскажите как правильно его вычислить.
Код:
theta=2*pi-2*pi/n:-2*pi/n:0;
x=cos(theta);
y=sin(theta);
x1(1)=0.5*(x(n)+x(1));
...
for m=2:n-1
x1(m)=0.5*(x(m-1)+x(m));
y1(m)=0.5*(y(m-1)+y(m));
x2(m)=0.5*(x(m+1)+x(m));
y2(m)=0.5*(y(m+1)+y(m));
end
x1(n)=0.5*(x(n-1)+x(n));
...
for m=1:n
for k=1:n
t1=atan2((y(m)-y1(k)), (x(m)-x1(k)) );
t2=atan2((y(m)-y2(k)) , (x(m)-x2(k)) );
t12=t1-t2;
a(m,k)=C*t12;
endfor
endfor
Справка:
Код:
-- Mapping Function: atan2 (Y, X)
Compute atan (Y / X) for corresponding elements of Y and X. The
result is in range -pi to pi.
Пробовал пересчитать все углы, оставляя их в интервале от 2*pi до 0 - непомогло.