作者povertytrap (povertytrap)
看板MATLAB
标题[讨论] 想问这题怎用牛顿拉夫生解
时间Wed Apr 18 20:20:48 2012
麻烦各位大大了这题我卡两天了还是不太懂
老师题目给两条方程式
u=@(x,y) -x^2+x-y+0.75;
v=@(x,y) x^2-y-5*y*x; 我把他们写成这样
题目要求姐出两条方程式的交点
我按照课本教的方法解
function [x,J,f,ea,iter]=funct(x,y)
u=@(x,y) -x^2+x-y+0.75;
v=@(x,y) x^2-y-5*y*x;
del=0.000001;
df1dx=(u(x+del*x,y)-u(x,y))/(del*x);
df1dy=(u(x,y+del*y)-u(x,y))/(del*y);
df2dx=(v(x+del*x,y)-v(x,y))/(del*x);
df2dy=(v(x,y+del*y)-v(x,y))/(del*y);
J=[df1dx df1dy;df2dx df2dy];
f1=u(x,y);
f2=v(x,y);
f=[f1;f2];
先做这个M档
x=y=1.2
这是结果
J =
-1.4000 -1.0000
-3.6000 -7.0000
f =
-0.6900
-6.9600
在乎叫牛顿拉夫生档function [x,f,ea,iter]=newtmult(@func,x0,es,maxit,varargin)
newtmult(@func课本教呼叫上面那个党的档名,x0,es,maxit,varargin)'
可是出来结果完全不对
>> [x,f,ea,iter]=newtmult(@funct,1.2,1.2,0.0001,100)
x =
1.1956
-98.2839
f =
-99.4900
-698.5600
ea =
101.2210
iter =
1
请问各位大大我该怎办@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.145