发新话题
打印

[编程技巧] 一个优化的问题

一个优化的问题

求教此问题的优化结果
function[c,ceg]=mycon(x)
c(1)=x(3)*x(9);
c(2)=1-x(9)^2;
c(3)=x(1)*x(4)-x(2)*x(3);
c(4)=1-x(3)^2-x(4)^2;
c(5)=1-x(6)^2-x(5)^2;
c(6)=1-x(1)^2-(x(2)-x(9))^2;
c(7)=1-x(7)^2-(x(8)-x(9))^2;
c(8)=1-(x(1)-x(5))^2-(x(2)-x(6))^2;
c(9)=1-(x(1)-x(7))^2-(x(2)-x(8))^2;
c(10)=1-(x(3)-x(5))^2-(x(4)-x(6))^2;
c(11)=1-(x(3)-x(7))^2-(x(4)-x(8))^2;
c(12)=x(5)*x(8)-x(6)*x(7);
ceq=[];


lb=[-1 -1 0 -1 -1 -1 -1 -1 0];ub=[1 1 1 1 1 1 1 1 1];
A=[;]
b=[];
x0=[0 0 0.5 0 0 0 0 0 0.5];
[x,fval]=fmincon(mycon,x0,A,b,Aeq,beq,lb,ub)
??? Input argument 'x' is undefined.
Error in ==> E:\work\mycon.m
On line 2  ==> c(1)=x(3)*x(9);
附件: 您所在的用户组无法下载或查看附件

TOP

用1stOpt试了一下,很容易得到如下结果:

目标函数值(最小): 0.433012701892219
x1: 1.00466108120615E-23
x2: 1.62508732180393E-17
x3: 5.54840685842185E-17
x4: 1
x5: 0.866025403784439
x6: 0.5
x7: 0.866025403784439
x8: 0.5
x9: 1
本帖最近评分记录
  • sogooda 振动币 +50 2008-8-28 16:15 理由:完整地解决了所提出的问题

TOP

回复 沙发 dingd 的帖子

1stOpt是MATLAB优化的一个函数吗?我在MATLAB 6.5里面怎么找不到啊?楼主能否把你的程序分享以下啊

TOP

回复 板凳 S0704082 的帖子

是另外一个软件
http://www.chinavib.com/forum/?fromuser=sigma665

TOP

回复 地板 sigma665 的帖子

楼主在吗?这个问题用MATLAB能解决吗?把你的程序分享一下

TOP

今天心情好,请自己吃饭花费15振动币!

回复 5楼 S0704082 的帖子

LZ不是你自己吗?你到底找谁哦

TOP

哈,运气来了挡也挡不住,天上掉下个包包,正砸在你的头上,里面有6振动币!
[x,fval]=fmincon(mycon,x0,A,b,Aeq,beq,lb,ub)
这个调用格式是不是错了
[x,fval]=fmincon(@mycon,x0,A,b,Aeq,beq,lb,ub)
凡所有相,皆是虚妄。若见诸相非相,即见如来。
注:有问题请事先在论坛相应版块发帖子,不要直接短信或者邮件联系,论坛没有原帖子的一律不回。谢谢合作、见谅!

TOP

发新话题