数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3674|回复: 9

紧急求助,这个问题只有高手才能解决!(十万火急)

[复制链接]
发表于 2003-9-15 18:30:55 | 显示全部楼层 |阅读模式
解非线形规划,第2行,总是出错,编译不过,如何能解决问题啊,请各位大虾帮忙,不胜感激!
function f = myfun3(x)
f = -x(1) * x(2) * x(3);
g(1)=x(1)+5*x(2)-5;
g(2)=2*x(1)^2-x(2);
x0=[0,0.75];
vlb=[0,0];
x=contr('myfun3',x0,vlb)
[f,g]=myfun3(x)
发表于 2003-9-15 18:53:48 | 显示全部楼层
错误提示是什么?
 楼主| 发表于 2003-9-15 18:58:12 | 显示全部楼层
如果没有这一句:syms x
就提示:Input argument 'x' is undefined.
如果加上,就提示:??? Index exceeds matrix dimensions.
Error in ==> C:\MATLAB6p5\work\myfun3.m
On line 3  ==> f = -x(1) * x(2) * x(3);
帮帮我啊,师兄
发表于 2003-9-16 01:25:06 | 显示全部楼层
x矩阵大小怎样?
发表于 2003-9-16 03:11:41 | 显示全部楼层
你是用什么语言编的
发表于 2003-9-16 04:37:51 | 显示全部楼层
x怎么有三个向量,
宾且函数调用也有物
最好如下
function []=qp
x0=[0,0.75];
vlb=[0,0];
x=constr('myfun3',x0,[],vlb,[])
function [f,g] = myfun3(x)
f = -x(1) * x(2) ;
g(1)=x(1)+5*x(2)-5;
g(2)=2*x(1)^2-x(2);
发表于 2003-9-17 01:31:02 | 显示全部楼层
这个可以用专业软件的啊
发表于 2003-9-17 01:49:55 | 显示全部楼层
这个问题我已经解决了。大家不用再费力气了。
是函数调用的时候传参不正确
发表于 2003-9-18 02:10:56 | 显示全部楼层
你的MATLable一般啊,可以说一下你的思路吗
发表于 2003-9-18 18:42:41 | 显示全部楼层
%%%%%%%%%%%
function f=myfun(x)
f = -x(1) * x(2) * x(3);              
%%%%%%%%%%%   
function [c,ceq]=mycon(x)
c=2*x(1)^2-x(2)+0*x(3);
ceq=[];
%%%%%%%%%%%
A=[1,5,0,-5];b=[0];Aeq=[];beq=[];
lb=[0,0,0];x0=[0,0,0.75];
[u,fval]=fmincon(@myfun,x0,A,b,Aeq,beq,@mycon)
试着用fmincon这个函数,constr已经快被淘汰了!

您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 03:55 , Processed in 0.065632 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表