| 查看: 1328 | 回复: 10 | ||||
[求助]
请问一下matlab这个是什么问题 已有2人参与
|
||||
» 本主题相关价值贴推荐,对您同样有帮助:
matlab二重积分的错误提示,指的是什么
已经有53人回复
求大神看一下我这个,感觉是软件设置的问题
已经有7人回复
以下matlab代码出现问题
已经有10人回复
求投过Materials Letters文章或者懂得MATLAB的人帮忙解释一下是什么意思
已经有11人回复
以下提示是什么意思?请指教!
已经有3人回复
Matlab这个函数是什么意思?
已经有8人回复
请教MATLAB中下面的提示是什么意思?
已经有4人回复
MATLAB, 代码错误,请大侠帮忙看看。
已经有5人回复
如何用matlab或origin画曲线用圆圈隔一段距离标记一下?
已经有11人回复
请matlab高手看一下这个问题怎样编程才好,附程序代码,谢谢!
已经有9人回复
求助一个matlab关于分类讨论的问题
已经有9人回复
帮忙看一下这条语句是什么意思
已经有7人回复
请问大牛 'TRACKING' FEATURE 是什么意思,急求答案,谢谢
已经有19人回复
问下这个问题怎么解决.....真心啊
已经有4人回复
这是什么错误?
已经有3人回复
关于Matlab作图的问题
已经有14人回复
关于H谱的,这两句话什么意思?重谢!
已经有15人回复
linux日志大家帮忙看一下是什么问题?
已经有3人回复
【求助】弱弱的问一下Matlab数据提取的问题
已经有5人回复
【求助】麻烦大家帮忙看一下德国学校的申请表上这一句话是什么意思呢?
已经有18人回复
【求助】这是什么错误?
已经有6人回复
牛人帮我看一下,编辑这是什么意思
已经有3人回复

7楼2014-06-18 23:03:05
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68123.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

2楼2014-06-18 18:49:08
★
fegg7502: 金币+1, 鼓励交流 2014-06-19 08:04:15
fegg7502: 金币+1, 鼓励交流 2014-06-19 08:04:15
|
clc tic x0=input('请输入初始点(形式如[0 0]):'); x0=x0'; disp('变尺度法求解无约束最优化问题,本程序以Rosenbrock函数为例'); disp('1-----Armijo搜索'); disp('2-----Armijo_goldstein搜索'); tt=input('请您选择搜索方法\n'); disp('1-----DFP校正公式'); disp('2-----Symmetric Rank 1校正公式'); disp('3-----BFGS校正公式'); zz=input('请您选择所用的系数公式\n'); disp('正在计算,请稍等……'); f0=fun(x0); g0=gfun(x0); p0=-gfun(x0); bcd(x0,tt,zz); disp('---------调用系统函数相比较-----------'); x= fminunc('fun',x0); f=fun(x); disp('最小值时的迭代点 :'); x disp('函数的最小值为:'); f disp('CPU运行时间:') disp('-------------结束-------------'); toc |
3楼2014-06-18 19:46:28
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68123.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

4楼2014-06-18 20:31:23
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68123.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

5楼2014-06-18 20:31:55
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68123.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
【答案】应助回帖
★
fegg7502: 金币+1, 应助指数+1, 鼓励交流 2014-06-19 08:04:27
fegg7502: 金币+1, 应助指数+1, 鼓励交流 2014-06-19 08:04:27
| 你这个函数涉及的函数比较多,你把所有的函数都放在matlab的工作目录下试试看看。 |
» 本帖已获得的红花(最新10朵)

6楼2014-06-18 20:33:35
8楼2014-06-19 09:24:05
|
function [x,f,times]=bcd(x0,tt,zz) xx1=-1:0.1:2; xx2=-1:0.1:2; %----------绘图函数 set(0,'defaultfigurecolor',[1 .8 0]); [x1,x2]=meshgrid(xx1,xx2); f=100*(x2-x1.^2).^2+(1-x1).^2; contour(x1,x2,f,20); hold on title('变尺度法','FontSize',16,'fontweight','bold'); strl(1)={'信科012班'}; strl(2)={'9号;23号'}; uicontrol('Style','text','FontSize',12,'Position',[75 320 120 38],... 'String',strl); %---------------变尺度法搜索最小值函数 %---------------tt表选择搜索方法系数 %---------------zz表选择系数 x=x0; h0=[1 0;0 1]; epis=0.000001; f=fun(x0); g=gfun(x0); times=0; plot(x0(1),x0(2),'k*') while norm(g)>=epis p0=-h0'*g; times=times+1; x0=x; f0=f; g0=g; switch tt %--------------------选择搜索方法 case 1 %--------------------Armijo法 x=s1(x0,p0); case 2 %--------------------Armijo_goldstein法 x=s2(x0,p0); otherwise return end plot(x(1),x(2),'g*') plot([x0(1), x(1)],[x0(2), x(2)],'r') f=fun(x); g=gfun(x); s0=x-x0; y0=g-g0; if norm(g)<epis disp('最后的迭代步数为:') times disp('最小值时的迭代点 :'); x disp('函数的最小值为:'); f break; end switch zz case 1 h=h0+(s0*s0')/(s0'*y0)-(h0*y0*y0'*h0)/(y0'*h0*y0); %-------DFP校正公式 case 2 h=h0+((s0-h0*y0)*(s0-h0*y0)')/(y0'*(s0-h0*y0)); %-------Symmetric Rank 1校正公式 case 3 h=h0+((1+(y0'*h0*y0)/(s0'*y0))*s0*s0'-h0*y0*s0'-s0*y0'*h0)/(s0'*y0); %----------BFGS校正公式 otherwise return end h0=h; end |
9楼2014-06-19 09:26:33
10楼2014-06-19 15:44:53












回复此楼
a364448242