MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   数学 (https://www.labfans.com/bbs/forumdisplay.php?f=15)
-   -   求助:解一个简单的不等式 (https://www.labfans.com/bbs/showthread.php?t=7674)

chaoren 2009-04-13 20:45

求助:解一个简单的不等式
 
解不等式:
-34.07*log10(abs(x+12))-10*log10((x+24)^(-3.407)+(6-x)^(-3.407))+19>0
要求得到一个实数区间.
在下是新手,谁能帮我一下,谢谢

hrt 2009-04-13 22:05

回复: 求助:解一个简单的不等式
 
记不等号左边表达式为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)

~ ~

chaoren 2009-04-14 08:49

回复: 求助:解一个简单的不等式
 
因为我求这个不等式的解是for循环中的一步,请问一下可不可以不通过观察图像而直接得到方程的零解?

hrt 2009-04-14 12:38

回复: 求助:解一个简单的不等式
 
那样的话,可以考虑用solve函数求零解;
或者直接用无约束优化求不等式。
你可以试试~ ~

chaoren 2009-04-14 16:54

回复: 求助:解一个简单的不等式
 
但是solve解出来的是解析解,而且它也解不了复杂方程.

laosam280 2009-04-27 12:21

回复: 求助:解一个简单的不等式
 
没有办法,只能先用试探法得到解存在的区间
可以考虑用导数的零点来划分


所有时间均为北京时间。现在的时间是 04:59

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.