Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-06-07, 11:28   #1
dongriliuhuo
初级会员
 
注册日期: 2009-06-05
年龄: 39
帖子: 2
声望力: 0
dongriliuhuo 正向着好的方向发展
默认 求助!! fmincon优化问题

各位好,我最近在做一个fmincon优化问题,但始终有个错误,恳请各位高手指教!!!!
我已经查看了很多关于fmincom的帖子,并且help里面的调用格式也看了,还是不知道错在哪。
M文件程序:
1 x0=[0.055;5.0;30];
2 ub=[0.07;8.0;50];
3 lb=[0.04;1.7;20];
4 [x,fn]=fmincon(@lianyouhua_f,x0,[],[],[], [],lb,ub,@lianyouhua_g);
5 disp
6 fprintf(1,' x1= % 3.4f \n',x(1))
7 fprintf(1,' x2= % 3.4f \n',x(2))
8 fprintf(1,' x3= % 3.4f \n',x(3))
9 fprintf(1,' f= % 3.4f \n',fn)
10 g=lianyouhua_g(x);
11 disp'
12 fprintf(1,' g1= % 3.4f \n',g(1))
13 fprintf(1,' g2= % 3.4f \n',g(2))
14 function f=lianyouhua_f(x);
15 f=(127.4*((444.5*x(1)/x(2))^1.35))*sqrt(x(1)^2+x(2)^2+2*x(1)*x(2)*cos(pi*x(3)/180))+1 6.9*cos(x(3))+0.00023*x(1);16
16 function [g,ceq]=lianyouhua_g(x);
17 g(1)=444.5*x(1)/x(2)-15;
18 g(2)=3-444.5*x(1)/x(2);
19 ceq=[];

问题:
??? Error: File: E:\MATLAB7.0\work\lian.m Line: 14 Column: 1Function definitions are not permitted at the prompt or in scripts.

说实话,我学MATLAB只有三天,这段程序是我从别人论文上摘录的,想运行好了之后自己用,可现在原程序都运行不好!!!
(第14行)function f=lianyouhua_f(x); 这和help里面fmincon的调用格式完全一致啊,为什么会错呢。
谢谢各位大虾了 !!!!!

此帖于 2009-06-07 15:19 被 dongriliuhuo 编辑。
dongriliuhuo 当前离线   回复时引用此帖
旧 2009-06-07, 13:35   #2
TTT_IOU
普通会员
 
注册日期: 2009-02-22
帖子: 91
声望力: 18
TTT_IOU 正向着好的方向发展
默认 回复: 求助!! fmincon优化问题

函数1:
function f=lianyouhua_f(x);
f=(127.4*((444.5*x(1)/x(2))^1.35))*sqrt(x(1)^2+x(2)^2+2*x(1)*x(2)*cos(pi*x(3)/180))+16.9*cos(x(3))+0.00023*x(1);
函数2:
function [g,ceq]=lianyouhua_g(x);
g(1)=444.5*x(1)/x(2)-15;
g(2)=3-444.5*x(1)/x(2);
ceq=[];
将两函数分别保存在当前工作目录下;
要运行的程序:
x0=[0.055;5.0;30];
ub=[0.07;8.0;50];
lb=[0.04;1.7;20];
[x,fn]=fmincon(@lianyouhua_f,x0,[],[],[], [],lb,ub,@lianyouhua_g);
fprintf(1,' x1= % 3.4f \n',x(1))
fprintf(1,' x2= % 3.4f \n',x(2))
fprintf(1,' x3= % 3.4f \n',x(3))
fprintf(1,' f= % 3.4f \n',fn)
g=lianyouhua_g(x);
fprintf(1,' g1= % 3.4f \n',g(1))
fprintf(1,' g2= % 3.4f \n',g(2))
望有帮助!!!
希望多看点基础资料,那样效率更高点!!!!
TTT_IOU 当前离线   回复时引用此帖
旧 2009-06-07, 15:23   #3
dongriliuhuo
初级会员
 
注册日期: 2009-06-05
年龄: 39
帖子: 2
声望力: 0
dongriliuhuo 正向着好的方向发展
默认 回复: 求助!! fmincon优化问题

谢谢 谢谢二楼的帮助
有点疑惑,我看过不少关于fmincon函数的帖子,也看过help里面的内容,一般都是同一个m文件运行的啊
我先按你说的方法试试 有问题再来请教你
谢谢 !!!!!!
dongriliuhuo 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 10:05


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.