数値計算プログラム

方程式:2変数のニュートン・ラフソン法

def fnf(x):=3*-sin((x+y)/2);
fef fng(x):=3*y-cos((x-y)/2);
def fnh(x):=3-0.5*cos((x+y)/2);
fni(x):=-0.5*cos((x+y)/2);
fnj(x):=0.5*sin((x-y)/3);
fnk(x):=3-0.5*sin((x-y)/2);

input l,e;
input x,y;

for p:=1 to l;
f:=fnf(x);
g:=fng(x);
h:=fnh(x);
i:=fni(x);
j:=fnj(x);
k:=fnk(x);
if h*k-j*i=0 then l1;
x1:=(-f*k+g+i)/(h*k-j*i);
y1:=(-g*h+f*j)/(h*k-j*i);
x2:=x+x1;
y2:=y+y1;
if abs(x-x2) x:=x2;
y:=y2;
next p;
p:=p-1;

label l2;
print x2,x-x2,y2,y-y2;
print p;

label l1;
print "no converge";

end;

トラックバック

このエントリーのトラックバックURL:
http://allable.sakura.ne.jp/mt/mt-tb.cgi/3974

当サイトでは、第三者配信事業者によるサービスを使用して広告を表示しています。 これらの第三者配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示する目的で、 当サイトや他のサイトへのアクセスに関する情報を使用することがあります (氏名、住所、メール アドレス、電話番号は含まれません)。 このプロセスの詳細や、第三者配信事業者にこれらの情報が使用されないようにする方法については、 ここをクリックしてください。