注册 登录
编程论坛 Matlab

[求助]inline 函数只能直接用于表达式形式吗?

yanhe3302 发布于 2006-08-30 20:51, 1234 次点击
有如下程序:
fun=inline('52/25*(324*sin(3.*fy1).^2./(1+(3/4+6/25*cos(3.*fy1)).^2).^2+625*(3/4+6/25*cos(3*fy1)).^2./(1+(3/4+6/25*cos(3*fy1)).^2)).^(1/2)', 'fy1');
t=quadl(fun,0,1,0.002);
其中inline函数中表达式参数必须是这种直接形式的吗:52/25*(324*sin(3.*fy1).^2./(1+(3/4+6/25*cos(3.*fy1)).^2).^2+625*(3/4+6/25*cos(3*fy1)).^2./(1+(3/4+6/25*cos(3*fy1)).^2)).^(1/2)
有没有什么方法可作一些代换,让inline的形式简单点,例如可不可以换成这种形式:
p='52/25*(324*sin(3.*fy1).^2./(1+(3/4+6/25*cos(3.*fy1)).^2).^2+625*(3/4+6/25*cos(3*fy1)).^2
./(1+(3/4+6/25*cos(3*fy1)).^2)).^(1/2);
fun=inline(p,'fy1');
t=quadl(fun,0,1,0.002);
这个问题可能有点傻,不过笑玩之后记得伸出你的救援之手啊
1 回复
#2
yanhe33022006-09-02 17:21
diy解决了,只需将要定义的表达式转化为字符串形式就可以了。
p='52/25*(324*sin(3.*fy1).^2./(1+(3/4+6/25*cos(3.*fy1)).^2).^2+625*(3/4+6/25*cos(3*fy1)).^2./(1+(3/4+6/25*cos(3*fy1)).^2)).^(1/2)'
fun=inline(p,'fy1')
贴出来,希望可以帮到别人
1