teraze 发表于 2005-11-11 16:23

请问如何实现两个函数相乘??

<P>比如有两个函数f1=x^2+1f2=x^3+2*x^2+1</P>
<P>我想求f1*f2的最小值,请问怎么实现?</P>
<P>我使用fminbnd(@f1*@f2,2,5),matlab会报错</P>
<P>另外将x设置成sym,虽然可以实现f1和f2相乘</P>
<P>但是无法将结果变成一个函数来用,请教大家应该怎么办,谢谢</P>

aspen 发表于 2005-11-11 17:54

<P><FONT color=#ff0000><STRONG>群里有人回答了,你去试一下</STRONG></FONT>
<p>峰之巅 16:51:06<BR>clear<BR>syms x<BR>f1=x^2+1;<BR>f2=x^3+2*x^2+1;<BR>f=f1*f2;<BR>a=inline('f');<BR>b=fminbnd(a,2,5)
<p><BR>峰之巅 16:51:37<BR>b就是你要求的值
<p><BR>峰之巅16:52:49<BR>不知道对不对?
<p><BR>峰之巅 16:54:22<BR>b就是所对应的最小值的x值

teraze 发表于 2005-11-12 10:11

还是不对!

<P>令f=f1*f2<BR>用inline函数a=inline('f')<BR>得到的结果是a(f)=f<BR>无法识别f的表达形式</P>

<P>请问还有别的方法吗?</P>

adminftp 发表于 2005-11-12 11:55

用eval将符号表达式f转化为数值表达式
页: [1]
查看完整版本: 请问如何实现两个函数相乘??