请求高手指点迷津
f(a)=11.05-0.0167*(2+398*a^2)^(1/2)+1.499*a^2-0.0042*(994+9010*a^2)^(1/2)-0.0119*(730+1770*a^2)^(1/2)-0.04896*(214+186*a^2)^(1/2)-0.208*(77+23*a^2)^(1/2)-0.0808*(9390+612*a^2)^(1/2)请问,我想求这个函数达最小值时,a的值应该为多少,我应该怎么编程实现啊?
请高手指点,非常感谢!
[ 本帖最后由 xinyuxf 于 2007-7-22 12:09 编辑 ] 最简单的方法就是指定搜索区间,一定步长搜索。或者解f'(a)的零点,从中选择最小值点。。 提示:
先画图,可发现两个解;
然后用fminunc求解,可得解为:-0.7253和0.7253. 我知道应该对它求导,可是这么麻烦的式子,我用matlab编程,编出来的程序运行不了,请问您能不能帮我解一下啊。我为了简化计算机的工作,手工给它化简了一下,化简完之后的式子为
(3.8405+0.2495*a^2)(-0.5)+(3.3639+1.0048*a^2)(-0.5)+(2.5808+2.2431*a^2)(-0.5)+(1.6507+4.0023*a^2)(-0.5)+(0.6861+6.2439*a^2)+(-0.5)(0.0454+9.029*a^2)(-0.5)-2.9975=0'
上边这个式子是已经求完导数了,现在只需要解这个方程,可是我不会解,请大家指教,不胜感激!!!!
回复 #1 dingyufan 的帖子
给你来个简单的求解方法:x = fminunc(inline('11.05-0.0167*(2+398*a^2)^(1/2)+1.499*a^2-0.0042*(994+9010*a^2)^(1/2)-0.0119*(730+1770*a^2)^(1/2)-0.04896*(214+186*a^2)^(1/2)-0.208*(77+23*a^2)^(1/2)-0.0808*(9390+612*a^2)^(1/2)'),1)
解得
x =
0.7250
页:
[1]