声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 953|回复: 0

[编程技巧] 如何在函数中传递变化的变量?

[复制链接]
发表于 2009-5-8 23:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
以下是我想实现惩罚函数的源程序:
function [f,g]=obstacle_fun(x)
m=(1/2)^k;
g1 = x(1)-1;
g2 = x(2);
f = (1/12)*(x(1)+1)^3+x(2) + m*internal_penalty_fun(x);
    g(1) = (1/4)*(x(1)+1)^2 - m/((x(1)-1)^2);
    g(2) = 1 - m/(x(2)^2);


function [x,fval]=internal_penalty_result(x)
options=optimset('GradObj','on');
t=0.9;
k=1;
while (1/2)^k*internal_penalty_fun(x)>t
    [x,fval]=fminunc(@obstacle_fun,x,options);
    k=k+1;
    x=x;
end

如何把internal_penalty_result(x)函数while循环中变化的k值
直接传递到函数obstacle_fun(x)中?
有劳各位大虾了!非常感谢!
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 19:46 , Processed in 0.080723 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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