| 查看: 664 | 回复: 3 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
matlab高维函数如何调用到主函数中? 已有1人参与
|
||
|
%最速下降法 %最速下降法 function [x,k,tol,fmin]=minzs(fun,gfun,x0,eps) format long; tic if nargin==3 eps=1.0e-6; end tol=1; syms r; k=0; while tol>eps g0=feval(gfun,x0); tol=norm(g0); m=x0+r*g0; yf=feval(fun,m); r1=minnd(yf,0); x1=x0+r1*g0; x0=x1; k=k+1; end x=vpa(x0,5); fmin=feval(fun,x0); fmin=vpa(fmin,5); format short; fun1.m函数 function f=fun1(x) y=ones(1,20); var=vpa(ones(1,20)); for i=1:20; x(i)=vpa([\'x\',num2str(i)]); var(i)=x(i); y(i)=1.0; end m=0; for i=1:10 m=m+(x(2*i-1))^2+100*(x(2*i))^2; end f=0.5*m; gfun1函数 function gf=gfun1(x) var=vpa(ones(1,20)); for i=1:20; x(i)=vpa([\'x\',num2str(i)]); var(i)=x(i); if mod(i,2)==0 x(i)=100*x(i); end end gf=x; clear x0=ones(1,20); [x,k,tol,fmin]=minzs(\'fun\',\'gfun\',x0) 为什么不能运行 The following error occurred converting from sym to double: Error using mupadmex Error in MuPAD command: DOUBLE cannot convert the input expression into a double array. If the input expression contains a symbolic variable, use the VPA function instead. Error in gfun1 (line 4) x(i)=vpa([\'x\',num2str(i)]); Error in minzs (line 12) g0=feval(gfun,x0); |
» 猜你喜欢
2025年遐想
已经有4人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
自然科学基金委宣布启动申请书“瘦身提质”行动
已经有4人回复
求个博导看看
已经有18人回复
» 本主题相关价值贴推荐,对您同样有帮助:
opencv数据结构
已经有2人回复
MATLAB程序设计与工程应用
已经有144人回复
求大神帮忙解题啊!!!
已经有4人回复
高等研究院(筹)信息科学与技术研究部招聘启事
已经有3人回复
MATLAB2011b可以下载啦....
已经有21人回复
MathWorks 宣布推出 2011b 版 MATLAB 和 Simulink
已经有5人回复
【分享】Matlab经典教程——从入门到精通【已搜索无重复】
已经有797人回复
上海高等研究院(筹)信息科学与技术研究部招聘启事
已经有8人回复
急用!!!新虫求助有关阶梯轴的优化设计用matlab编程
已经有1人回复
【资源】推荐一些经典的Matlab书籍、教程和工具箱免费下载【已搜索无重复】
已经有48人回复
【课件】最优化理论(加拿大维多利亚大学)
已经有18人回复
2楼2016-03-25 16:09:53
4楼2016-03-26 10:36:51







回复此楼