24小时热门版块排行榜    

查看: 2818  |  回复: 8

yanshuaiyin

新虫 (正式写手)

[求助] 编写程序中如何嵌套函数,求助 已有1人参与

在应用fmicon优化中,编写目标函数,如何进行函数的嵌套,需要求最小体积,目标函数中含有非设计变量的变量,但这些变量可以用设计变量表示,如:目标函数中含有Z1,Z2,Z3......Z10,设计变量只有Z1和Z2,其中Z3到Z10可以用Z1和Z2进行表示,怎么编程实现,十分感谢,急求。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Ifyoudonotleaveme,Iwillbyyoursideuntilthelifeend.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小米2011

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
yanshuaiyin: 金币+30, ★★★很有帮助 2014-01-09 15:34:07
function z=fmincon(@fun_volume,x0,A,b)

function y=fun_volume(z12)
% input: z12 为向量,z12=[z1,z2]'

z3_10=sub_fun(z12);
z=[z12;z3_10]; %
... (此处添加变量为z1-10的目标函数)

function z3_10=sub_fun(z12)
% input: z12 为向量,z12=[z1,z2]';
% output: z3_10 为向量,z3_10=[z3,...z10]';
......(此处添加z3-z10的相应语句)
end

end
end
2楼2013-12-27 04:06:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小米2011

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 小米2011 at 2013-12-26 21:06:42
function z=fmincon(@fun_volume,x0,A,b)

function y=fun_volume(z12)
% input: z12 为向量,z12='

z3_10=sub_fun(z12);
z=; %
... (此处添加变量为z1-10的目标函数)

function z3_10=sub_fun(z12)
% i ...

不好意思,修改为:

function z=fmin_volume(z0,A,b)
%input: z0为向量,[z1,z2]'的初始值。
% A, b 详见fmincon
%output: [z1,z2,...,z10]的返回值

z12=fmincon(@fun_volume,z0,A,b);
z3_10=sub_fun(z12);
z=[z12(; z3_10(];

function y=fun_volume(z12)
% input: z12 为向量,z12=[z1,z2]'

z3_10=sub_fun(z12);
z=[z12;z3_10]; %
... (此处添加变量为z1-10的体积函数)
end

function z3_10=sub_fun(z12)
% input: z12 为向量,z12=[z1,z2]';
% output: z3_10 为向量,z3_10=[z3,...z10]';
......(此处添加z3-z10的相应语句)
end

end
3楼2013-12-27 04:14:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanshuaiyin

新虫 (正式写手)

引用回帖:
3楼: Originally posted by 小米2011 at 2013-12-27 04:14:10
不好意思,修改为:

function z=fmin_volume(z0,A,b)
%input: z0为向量,'的初始值。
% A, b 详见fmincon
%output: 的返回值

z12=fmincon(@fun_volume,z0,A,b);
z3_10=sub_fun(z12);
z=;

function y ...

谢谢,还有不太理解的地方,我要做的是对汽车变速器进行优化,求体积最小,里边设计变量有齿轮的齿数Z,模数m,螺旋角和齿宽,需要分别建立目标函数和约束函数,目标函数就是体积最小,体积函数中含有非设计变量,这些非设计变量可以用设计变量来表示,怎么能实现编程,刚接触Matlab,多谢指导啊!做不出来老师春节不让回家,
Ifyoudonotleaveme,Iwillbyyoursideuntilthelifeend.
4楼2013-12-27 20:25:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小米2011

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by yanshuaiyin at 2013-12-27 13:25:02
谢谢,还有不太理解的地方,我要做的是对汽车变速器进行优化,求体积最小,里边设计变量有齿轮的齿数Z,模数m,螺旋角和齿宽,需要分别建立目标函数和约束函数,目标函数就是体积最小,体积函数中含有非设计变量, ...

你是不懂如何建立目标函数吗?
5楼2013-12-28 00:05:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanshuaiyin

新虫 (正式写手)

引用回帖:
5楼: Originally posted by 小米2011 at 2013-12-28 00:05:30
你是不懂如何建立目标函数吗?...

不懂,简单的看着书上的例题就可以懂,这个有点复杂,涉及变量也多,共有17个设计变量,另外8个可以用设计变量表示,谢谢你
Ifyoudonotleaveme,Iwillbyyoursideuntilthelifeend.
6楼2013-12-28 08:54:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小米2011

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by yanshuaiyin at 2013-12-28 01:54:29
不懂,简单的看着书上的例题就可以懂,这个有点复杂,涉及变量也多,共有17个设计变量,另外8个可以用设计变量表示,谢谢你...

设z作为fmincon的输入,即为你说的17个设计变量。
z12=fmincon(@fun_volume,z0,A,b); %z0需要你决定,fun_volume也需要你设计,如你所说,为17+8个输入变量的函数,但由于另8个可用17个表示,那么本质上fun_volume为17个变量的函数。
简单的写为
function v=fun_volume(z17)
z8=sub_fun(z17);%此函数即为你所说的另8个为17个变量的函数
...%此处填写你自己定义的体积函数
7楼2014-01-06 23:26:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanshuaiyin

新虫 (正式写手)

引用回帖:
7楼: Originally posted by 小米2011 at 2014-01-06 23:26:53
设z作为fmincon的输入,即为你说的17个设计变量。
z12=fmincon(@fun_volume,z0,A,b); %z0需要你决定,fun_volume也需要你设计,如你所说,为17+8个输入变量的函数,但由于另8个可用17个表示,那么本质上fun_volume ...

谢谢,有点明白了,能加你QQ详聊吗?非常感谢,648662590,谢谢你
Ifyoudonotleaveme,Iwillbyyoursideuntilthelifeend.
8楼2014-01-10 16:42:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanshuaiyin

新虫 (正式写手)

引用回帖:
7楼: Originally posted by 小米2011 at 2014-01-06 23:26:53
设z作为fmincon的输入,即为你说的17个设计变量。
z12=fmincon(@fun_volume,z0,A,b); %z0需要你决定,fun_volume也需要你设计,如你所说,为17+8个输入变量的函数,但由于另8个可用17个表示,那么本质上fun_volume ...

z8=sub_fun(z17);这里需要添加8个函数吗?因为有8个变量需要表示,谢谢
Ifyoudonotleaveme,Iwillbyyoursideuntilthelifeend.
9楼2014-01-11 10:13:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yanshuaiyin 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 17/850 2026-08-04 09:46 by archvillain
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 f1dmPx051StA 2026-08-03 7/350 2026-08-04 09:31 by v1TJC4qJauAB
[博后之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 5/250 2026-08-04 09:27 by v1TJC4qJauAB
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 jRl3mE6ddZGq 2026-08-03 10/500 2026-08-04 09:26 by v1TJC4qJauAB
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 cu9Nq1xK233Z 2026-08-03 9/450 2026-08-04 09:17 by v1TJC4qJauAB
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 cu9Nq1xK233Z 2026-08-03 10/500 2026-08-04 09:15 by v1TJC4qJauAB
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +12 winnerche 2026-07-29 16/800 2026-08-04 08:18 by Equinoxhua
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 10/500 2026-08-04 08:05 by 88817753
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 9/450 2026-08-04 07:37 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 cu9Nq1xK233Z 2026-08-03 13/650 2026-08-04 07:30 by k7OM8YghWbkC
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +9 锦衣卫寒战 2026-07-28 13/650 2026-08-04 07:21 by Ermito
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 cu9Nq1xK233Z 2026-08-03 6/300 2026-08-04 06:10 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 6/300 2026-08-04 04:47 by k7OM8YghWbkC
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 7/350 2026-08-04 04:46 by k7OM8YghWbkC
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
[高分子] UV压敏胶开发 +3 ichall 2026-07-30 5/250 2026-08-03 14:40 by Sunrisepay
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +19 低垂的野花 2026-07-31 25/1250 2026-08-03 09:25 by gy116024
[基金申请] 2026年国自然面上资助率 +16 布布和一二 2026-07-30 22/1100 2026-08-03 09:20 by gy116024
[基金申请] 微信指数没变化,科研之友没阅读 +15 wangze12014 2026-07-28 19/950 2026-08-02 20:05 by 蔡棒棒菂
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
信息提示
请填处理意见