24小时热门版块排行榜    

查看: 2849  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +8 ziyangfang 2026-08-25 11/550 2026-09-01 09:51 by zzuzxg
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +7 gdd2018 2026-08-28 12/600 2026-09-01 08:32 by 尼古拉斯小虫
[基金申请] 面上函评意见出来了,像什么等级? 20+3 Tsingking1 2026-08-27 14/700 2026-09-01 08:29 by 尼古拉斯小虫
[基金申请] 怎么看青基中了没有啊 +6 叶九微 2026-08-26 6/300 2026-08-31 23:54 by yudaoqian88
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[文学芳草园] 梦想 +5 myrtle 2026-08-26 5/250 2026-08-31 14:40 by hahaboy
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见