matlab中未定义x,使用matlab的fmincon优化,一直提示变量“x”未定义,

在使用 MATLAB 的 fmincon 进行优化时,遇到目标函数 CostObj 中变量 x 未定义的错误。尝试使用匿名函数 @(x) CostObj(x) 仍报错,提示输入参数 "x" 未定义。解决方案是确保传递变量 x 到 CostObj 函数中,正确调用为 [x fval] = fmincon(@(x) CostObj(x), x0, A, B, Aeq, Beq)。" 125612474,8651756,使用Python识别和解密加密PDF文档,"['Python开发', 'PDF处理', '信息安全', '数据提取']
摘要由CSDN通过智能技术生成

问题描述:

使用matlab的fmincon优化,一直提示变量“x”未定义,

使用matlab的fmincon函数进行优化,遇到以下问题:

%以下是建立的目标函数M文件

function f = CostObj( x ) % 目标函数

a=[1 3 5];

b=[2 4 6];

c=0*ones(1,3);

for i=1:3

c(i)=b(i)-a(i).*x(i);

end

f=sum(c);

end

%以下是在matlab主窗口中输入

x0=[2 2 2];

A=[1 2 3;2 5 9;2 7 1];

B=[11 28 19];

Aeq=[];

Beq=[];

[x fval]= fmincon(CostObj,x0,A,B,Aeq,Beq);

运行后就提示以下错误:

[x fval]= fmincon(CostObj,x0,A,B,Aeq,Beq);

Input argument "x" is undefined.

Error in ==> CostObj at 6

c(i)=b(i)-a(i).*log(x(i));

到底是什么原因没有搞清楚,折腾了一个下午了,郁闷,

按照白杨龙11的方法,还是错误,如下:

[x fval]= fmincon(@(x) CostObj,x0,A,B,Aeq,Beq);

Warning:Trust-region-reflective

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值