Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-04-13
住址: 华中科技大学
年龄: 37
帖子: 5
声望力: 0 ![]() |
![]()
解不等式:
-34.07*log10(abs(x+12))-10*log10((x+24)^(-3.407)+(6-x)^(-3.407))+19>0 要求得到一个实数区间. 在下是新手,谁能帮我一下,谢谢 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0 ![]() |
![]()
记不等号左边表达式为f,即求解f>0;
1、首先作出f的图像,以确定零点的大致位置。(图形太大,就没上传) >> ezplot('-34.07*log10(abs(x+12))-10*log10((x+24)^(-3.407)+(6-x)^(-3.407))+19',[-30,20]) >> hold on >> ezplot('0',[-30,20]) 得到零点在[-25,-20],[0,5]间。 2、再用fzero求解 [x,fv,ef]=fzero(inline('-34.07*log10(abs(x+12))-10*log10((x+24)^(-3.407)+(6-x)^(-3.407))+19'),-20) 得: x = -21.3976 [x,fv,ef]=fzero(inline('-34.07*log10(abs(x+12))-10*log10((x+24)^(-3.407)+(6-x)^(-3.407))+19'),0) 得: x = 2.0952 故f>0的解为:(-21.3976,2.0952) ~ ~ |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-04-13
住址: 华中科技大学
年龄: 37
帖子: 5
声望力: 0 ![]() |
![]()
因为我求这个不等式的解是for循环中的一步,请问一下可不可以不通过观察图像而直接得到方程的零解?
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0 ![]() |
![]()
那样的话,可以考虑用solve函数求零解;
或者直接用无约束优化求不等式。 你可以试试~ ~ |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-04-13
住址: 华中科技大学
年龄: 37
帖子: 5
声望力: 0 ![]() |
![]()
但是solve解出来的是解析解,而且它也解不了复杂方程.
|
![]() |
![]() |
![]() |
#6 |
高级会员
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21 ![]() |
![]()
没有办法,只能先用试探法得到解存在的区间
可以考虑用导数的零点来划分
__________________
坚持就是胜利,努力就有奇迹。 |
![]() |
![]() |