Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 数学
数学 A discussion board for Mathematics.
回复
 
主题工具 显示模式
旧 2009-04-13, 20:45   #1
chaoren
初级会员
 
注册日期: 2009-04-13
住址: 华中科技大学
年龄: 37
帖子: 5
声望力: 0
chaoren 正向着好的方向发展
默认 求助:解一个简单的不等式

解不等式:
-34.07*log10(abs(x+12))-10*log10((x+24)^(-3.407)+(6-x)^(-3.407))+19>0
要求得到一个实数区间.
在下是新手,谁能帮我一下,谢谢
chaoren 当前离线   回复时引用此帖
旧 2009-04-13, 22:05   #2
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
眨眼 回复: 求助:解一个简单的不等式

记不等号左边表达式为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)

~ ~
hrt 当前离线   回复时引用此帖
旧 2009-04-14, 08:49   #3
chaoren
初级会员
 
注册日期: 2009-04-13
住址: 华中科技大学
年龄: 37
帖子: 5
声望力: 0
chaoren 正向着好的方向发展
默认 回复: 求助:解一个简单的不等式

因为我求这个不等式的解是for循环中的一步,请问一下可不可以不通过观察图像而直接得到方程的零解?
chaoren 当前离线   回复时引用此帖
旧 2009-04-14, 12:38   #4
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
默认 回复: 求助:解一个简单的不等式

那样的话,可以考虑用solve函数求零解;
或者直接用无约束优化求不等式。
你可以试试~ ~
hrt 当前离线   回复时引用此帖
旧 2009-04-14, 16:54   #5
chaoren
初级会员
 
注册日期: 2009-04-13
住址: 华中科技大学
年龄: 37
帖子: 5
声望力: 0
chaoren 正向着好的方向发展
默认 回复: 求助:解一个简单的不等式

但是solve解出来的是解析解,而且它也解不了复杂方程.
chaoren 当前离线   回复时引用此帖
旧 2009-04-27, 12:21   #6
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 求助:解一个简单的不等式

没有办法,只能先用试探法得到解存在的区间
可以考虑用导数的零点来划分
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 01:18


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