声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1429|回复: 8

[编程技巧] 如何将.M文件中solve得到的符号表达式用fmincon进行优化?

[复制链接]
发表于 2007-10-28 19:13 | 显示全部楼层 |阅读模式

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

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

x
function f=va_optimization(x)
syms va
c=0.001;
r=0.0141;
n=800;
w=2*pi*n/60;
beita=x(1);
P=x(2);
gamma=x(3);
ha=gamma*c;
h1=c+ha;
h2=c;
theta=atan(P/(pi*(2*r+ha)));
B1=(1-beita)*P*cos(theta);
u1=w*(r-c*gamma)*cos(theta)-va*sin(theta);
w1=w*(r-c*gamma)*sin(theta)-va*cos(theta);
u2=w*r*cos(theta)-va*sin(theta);
w2=w*r*sin(theta)-va*cos(theta);
SB1=(r-c*gamma)*(1-beita);
SB2=r*beita;
S=((r/2*sqrt(r^2+P^2/(4*pi^2))+(P^2/(4*pi^2)/2)*log(r+sqrt(r^2+P^2/(4*pi^2))))-((r-c*gamma)/2*sqrt((r-c*gamma)^2+P^2/(4*pi^2))+(P^2/(4*pi^2)/2)*log((r-c*gamma)+sqrt((r-c*gamma)^2+P^2/(4*pi^2)))))/P;
dp1=(6*w1*w2/c^2)*(beita*gamma/((1-beita)*w1+(1+gamma)^3*w2));
dp2=-(6*w1*w2/c^2)*((1-beita)*gamma/((1-beita)*w1+(1+gamma)^3*w2));
Fx1=(-u1/h1)*SB1;
Fx2=(-u2/h2)*SB2;
Fz1=(-(h1/2)*dp1-w1/h1)*SB1;
Fz2=(-(h2/2)*dp2-w2/h2)*SB2;
Fzz=-dp1*B1*S;
Fa=(Fx1+Fx2)*sin(theta)-(Fz1+Fz2)*cos(theta)-Fzz*cos(theta);
% Ff=3*va*r/L;
F=subs(Fa);
v=solve(F,'va');
va=v(1)
va是beita、P、gamma的函数,
现想要用fmincon或者其他函数对beita、P、gamma参数进行优化,va是符号表达式,怎么弄?
回复
分享到:

使用道具 举报

发表于 2007-10-28 19:47 | 显示全部楼层
看看fmincon的用法,然后进行相应的转换
 楼主| 发表于 2007-10-28 20:05 | 显示全部楼层
知道fmincon的用法,但不会转化,请花版主赐教
发表于 2007-10-28 20:11 | 显示全部楼层

回复 #3 jsp613 的帖子

你要把符号表达式,转成成什么样子的形式?
 楼主| 发表于 2007-10-28 20:37 | 显示全部楼层
函数形式,function vmain
x0=[4/16 0.016 1];
lb=[0.05 0.01 0.5];%设置上边界
ub=[0.5 0.03 4];%设置下边界
options=optimset('largescale','off');
[x,fval,exitflag,output,lambda]=fmincon(@va_optimization,x0,[],[],[],[],lb,ub,[],options)
fmincon只能对函数优化阿,va_optimization.m得到的va是符号表达式阿
发表于 2007-10-29 10:34 | 显示全部楼层
这个问题用1stOpt求解可能更好一些.
 楼主| 发表于 2007-10-29 14:24 | 显示全部楼层
可俺只会MATLAB,有人能直接回答我的问题吗?
以后有时间一定好好学一下1stOpt

[ 本帖最后由 eight 于 2007-10-29 19:06 编辑 ]
发表于 2007-10-31 11:37 | 显示全部楼层

回复 #8 jsp613 的帖子

可能需要将solve算出来的,再编辑成一个m函数。最近也遇到这样的问题,楼主以后多指教
 楼主| 发表于 2007-10-31 14:31 | 显示全部楼层

这是没有办法的办法。但是我的va表达式太长了,以至于整个计算机都无法运行了,实在不可取。无法进行优化下去。
版主高手阿,帮忙。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 20:50 , Processed in 0.070868 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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