24小时热门版块排行榜    

查看: 2885  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 QUjhNVAcOSff 2026-09-13 7/350 2026-09-14 21:21 by vZfe6xYu34yj
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:49 by Aj1rhIDL5ixY
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:48 by Aj1rhIDL5ixY
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:25 by Aj1rhIDL5ixY
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 LwdutQ8HoqWP 2026-09-13 5/250 2026-09-14 16:25 by Aj1rhIDL5ixY
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:12 by Aj1rhIDL5ixY
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 16:00 by Aj1rhIDL5ixY
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:57 by Aj1rhIDL5ixY
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:48 by Aj1rhIDL5ixY
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:45 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:13 by Aj1rhIDL5ixY
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 15:09 by Aj1rhIDL5ixY
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 14:57 by Aj1rhIDL5ixY
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
[找工作] 浙江师范大学是怎么坑我的 +6 recruit123 2026-09-09 6/300 2026-09-14 12:00 by 萨仁其其格
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 10:01 by 23jxep3nCNZb
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
[考博] 27秋季材料博士申请求助 10+3 Cahal1 2026-09-11 4/200 2026-09-14 08:50 by 北京莱茵编辑
[教师之家] 浙江师范大学是怎么坑我的 +10 recruit123 2026-09-09 15/750 2026-09-13 10:45 by seaskyy
[有机交流] 科研求助 10+4 我吃一只鱼 2026-09-07 4/200 2026-09-10 08:32 by 0940628
信息提示
请填处理意见