24小时热门版块排行榜    

查看: 873  |  回复: 5

jydtjm

新虫 (初入文坛)

[求助] 关于Newton-pcg法解方程的编程思路 已有1人参与

先拜谢,用Newton-pcg法解方程,用MATLAB编程,编程主框架应该如何写???有哪位大神可以帮忙解答,谢谢,非常感谢,因为目前只有这么多金币,请懂这一方面的大神赐教,再次感谢!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jydtjm

新虫 (初入文坛)

求解线性方程组的newton-pcg并行算法,即二次迭代法,在newton法的每一步迭代中,采用pcg法求解newton方程组,用MATLAB编程,编程主框架应该如何写???有哪位大神可以帮忙解答,谢谢,非常感谢
2楼2015-03-30 15:54:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
以前有人问过这个!
再给你贴一下:
function [x,val,k]=frcg(fun,gfun,x0)
% 功能: 用FR共轭梯度法求解无约束问题: min f(x)
%输入: x0是初始点, fun, gfun分别是目标函数和梯度
%输出: x, val分别是近似最优点和最优值, k是迭代次数.
maxk=5000; %最大迭代次数
rho=0.6;sigma=0.4;
k=0;epsilon=1e-4;
n=length(x0);
while(k<maxk)
g=feval(gfun,x0); %计算梯du
itern=k-(n+1)*floor(k/(n+1));
itern=itern+1;
%计算搜索方向
if(itern==1)
d=-g;
else
beta=(g'*g)/(g0'*g0);
d=-g+beta*d0; gd=g'*d;
if(gd>=0.0)
d=-g;
end
end
if(norm(g)<epsilon),break;end %检验终止条件
m=0;mk=0;
while(m<20) %Armijo搜索
if(feval(fun,x0+rho^m*d)<feval(fun,x0)+sigma*rho^m*g'*d)
mk=m;break;
end
m=m+1;
end
x0=x0+rho^mk*d;
val=feval(fun,x0);
g0=g;d0=d;
k=k+1;
end
x=x0;
val=feval(fun,x);
function g=gfun(x)
g=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1),-200*(x(1)^2-x(2))]';
function f=fun(x)
f=100*(x(1)^2-x(2))^2+(x(1)-1)^2;
善恶到头终有报,人间正道是沧桑.
3楼2015-03-30 17:16:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jydtjm

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by wurongjun at 2015-03-30 17:16:29
以前有人问过这个!
再给你贴一下:
function =frcg(fun,gfun,x0)
% 功能: 用FR共轭梯度法求解无约束问题: min f(x)
%输入: x0是初始点, fun, gfun分别是目标函数和梯度
%输出: x, val分别是近似最优点和最优值, ...

您好,首先感谢您的回复,但是恕我愚昧,实在看不出这回答与我这问题有何联系,请指教!
4楼2015-03-30 21:21:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

引用回帖:
4楼: Originally posted by jydtjm at 2015-03-30 21:21:45
您好,首先感谢您的回复,但是恕我愚昧,实在看不出这回答与我这问题有何联系,请指教!...

Sorry!
粘错啦!
善恶到头终有报,人间正道是沧桑.
5楼2015-03-31 08:26:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jydtjm

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by wurongjun at 2015-03-31 08:26:17
Sorry!
粘错啦!...

没事,谢谢!请问您知道这种解法的相关程序吗?
6楼2015-03-31 14:57:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jydtjm 的主题更新
信息提示
请填处理意见