24小时热门版块排行榜    

查看: 1026  |  回复: 3

guan0603

新虫 (初入文坛)

[求助] 哪位MATLAB高手能帮忙调试一下程序,不是遇到这问题就是那问题 已有1人参与

function [x,val,k]=frcg(fun,gfun,x0)
% 功能: 用FR共轭梯度法求解无约束问题: min f(x)
%输入: x0是初始点, fun, gfun分别是目标函数和梯度
%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;
%输出: 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);
%输入x0=[-1.2 1]';
%[x,val,k]=frcg('fun','gfun',x0)
在命令窗口输入
x0=[-1.2 1]';
>> [x,val,k]=frcg('fun','gfun',x0)
??? Undefined command/function 'frcg'.
怎么回事呢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
guan0603: 金币+10, ★★★很有帮助 2014-12-24 11:58:46
简单修改就行,如下:
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;


下面是运行结果:
>> x0=[-1.2 1]'
x0 =
   -1.2000
    1.0000
>>  [x,val,k]=frcg('fun','gfun',x0)
x =
    0.9999
    0.9999
val =
  2.9396e-009
k =
    44

» 本帖已获得的红花(最新10朵)

善恶到头终有报,人间正道是沧桑.
2楼2014-12-24 11:13:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guan0603

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by wurongjun at 2014-12-24 11:13:16
简单修改就行,如下:
function =frcg(fun,gfun,x0)
% 功能: 用FR共轭梯度法求解无约束问题: min f(x)
%输入: x0是初始点, fun, gfun分别是目标函数和梯度
%输出: x, val分别是近似最优点和最优值, k是迭代次数.
...

>> x0=[-1.2 2]'

x0 =

   -1.2000
    2.0000

>> [x,val,k]=frcg('fun','gfun',x0)
??? Error using ==> frcg
Too many input arguments.
这是怎么回事呢,我刚接触MATLAB,编程基础很差,谢谢帮助
3楼2014-12-24 11:58:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guan0603

新虫 (初入文坛)

送红花一朵
引用回帖:
2楼: Originally posted by wurongjun at 2014-12-24 11:13:16
简单修改就行,如下:
function =frcg(fun,gfun,x0)
% 功能: 用FR共轭梯度法求解无约束问题: min f(x)
%输入: x0是初始点, fun, gfun分别是目标函数和梯度
%输出: x, val分别是近似最优点和最优值, k是迭代次数.
...

出来了,谢谢了
4楼2014-12-24 14:26:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 guan0603 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 3xN9SualEUPt 2026-10-24 4/200 2026-10-25 14:07 by XiYP04It3Evb
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 3xN9SualEUPt 2026-10-24 4/200 2026-10-25 13:54 by XiYP04It3Evb
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 DI1qFHFK0KbE 2026-10-24 4/200 2026-10-25 13:18 by XiYP04It3Evb
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 7xHjyB3bAiwg 2026-10-24 4/200 2026-10-25 13:15 by XiYP04It3Evb
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 7xHjyB3bAiwg 2026-10-24 6/300 2026-10-25 13:11 by XiYP04It3Evb
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 7xHjyB3bAiwg 2026-10-23 8/400 2026-10-25 12:59 by XiYP04It3Evb
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 7xHjyB3bAiwg 2026-10-23 10/500 2026-10-25 12:51 by XiYP04It3Evb
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 7xHjyB3bAiwg 2026-10-23 11/550 2026-10-25 12:49 by XiYP04It3Evb
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 7xHjyB3bAiwg 2026-10-23 11/550 2026-10-25 12:45 by XiYP04It3Evb
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 7xHjyB3bAiwg 2026-10-23 4/200 2026-10-25 12:36 by XiYP04It3Evb
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 7xHjyB3bAiwg 2026-10-23 4/200 2026-10-25 12:32 by XiYP04It3Evb
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 GVGRDgNfv7P4 2026-10-23 9/450 2026-10-25 12:10 by XiYP04It3Evb
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 7xHjyB3bAiwg 2026-10-23 8/400 2026-10-25 00:15 by XcOYG53d3x4p
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 7xHjyB3bAiwg 2026-10-23 11/550 2026-10-24 23:35 by XcOYG53d3x4p
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 7xHjyB3bAiwg 2026-10-23 8/400 2026-10-24 22:56 by XcOYG53d3x4p
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 7xHjyB3bAiwg 2026-10-24 3/150 2026-10-24 18:23 by WqtG0Aem8Ufl
[文学芳草园] 说走就走,走到哪便是哪 +5 Amei_123 2026-10-18 10/500 2026-10-23 22:38 by Amei_123
[文学芳草园] 亲密关系 +7 宋昙 2026-10-21 13/650 2026-10-23 17:07 by 小牧11
[考博] 27秋申博自荐 +4 且听风吟时 2026-10-21 4/200 2026-10-23 13:26 by 大大大肥虫
[考博] 郑州大学申博 +5 stars~ 2026-10-19 8/400 2026-10-22 15:06 by stars~
信息提示
请填处理意见