Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 数学
数学 A discussion board for Mathematics.
回复
 
主题工具 显示模式
旧 2009-04-24, 15:24   #1
gmzhrb
初级会员
 
注册日期: 2009-04-13
帖子: 3
声望力: 0
gmzhrb 正向着好的方向发展
默认 能不能帮我看一下这个方程怎么解

我需要解出下面式子中的x值,其他的都是已知量:a(2x)^b+c(2x)^d=e.其中a=6,b=-0.092,c=2.5,d=-0.445,e=0.008.
这个式子是从老师让我做的一个项目中提出来的,我算不出来,但老师催得很紧,所以请大家帮帮忙,先谢过!
gmzhrb 当前离线   回复时引用此帖
旧 2009-04-24, 22:17   #2
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

x=8.9050e+030,精确到10^(-9)
yfl 当前离线   回复时引用此帖
旧 2009-04-24, 22:31   #3
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

X=a*(2*x)^b+c*(2*x)^d-e;求X的0点fzero(‘x',估计值),我大概算了一下,估计值取10^31,即可得到上边的答案
yfl 当前离线   回复时引用此帖
旧 2009-04-25, 08:24   #4
麒麟子
普通会员
 
注册日期: 2009-03-25
年龄: 37
帖子: 52
声望力: 18
麒麟子 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

引用:
作者: gmzhrb 查看帖子
我需要解出下面式子中的x值,其他的都是已知量:a(2x)^b+c(2x)^d=e.其中a=6,b=-0.092,c=2.5,d=-0.445,e=0.008.
这个式子是从老师让我做的一个项目中提出来的,我算不出来,但老师催得很紧,所以请大家帮帮忙,先谢过!
先用ezplot函数和line()函数画出图形和坐标轴,估计一下,然后用fzero函数即可算出
__________________
:水榭焚香听琴事,浪荡江湖不系舟:
感谢请点thanks
麒麟子 当前离线   回复时引用此帖
旧 2009-04-25, 08:32   #5
handy
初级会员
 
注册日期: 2009-04-25
帖子: 3
声望力: 0
handy 正向着好的方向发展
问题 回复: 能不能帮我看一下这个方程怎么解

上面的大侠 能不能具体一点呢
我也有道题想请教 f=sin(1/x) x=(-1,1) f函数的图像怎么求啊!谢谢
handy 当前离线   回复时引用此帖
旧 2009-04-25, 08:36   #6
gmzhrb
初级会员
 
注册日期: 2009-04-13
帖子: 3
声望力: 0
gmzhrb 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

引用:
作者: 麒麟子 查看帖子
先用ezplot函数和line()函数画出图形和坐标轴,估计一下,然后用fzero函数即可算出
I deeply appreciate your good answaer!
gmzhrb 当前离线   回复时引用此帖
旧 2009-04-25, 09:09   #7
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

如果只是画图,就用zeplot('sin(1/x)')不就得到了吗
yfl 当前离线   回复时引用此帖
旧 2009-04-25, 15:39   #8
麒麟子
普通会员
 
注册日期: 2009-03-25
年龄: 37
帖子: 52
声望力: 18
麒麟子 正向着好的方向发展
默认 回复: 回复handy

说明一下,我不是大侠,也不是高手,只是初学者,
你的问题可以这样解决,方法有好几个,这两个一般够用了
1 用fpolt(sin(1/x),[-1,1])函数
2 用ezplot函数同样可以解决
英语可以的话,平时看看help就看以解决大部分问题
__________________
:水榭焚香听琴事,浪荡江湖不系舟:
感谢请点thanks
麒麟子 当前离线   回复时引用此帖
旧 2009-04-25, 18:11   #9
gmzhrb
初级会员
 
注册日期: 2009-04-13
帖子: 3
声望力: 0
gmzhrb 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

引用:
作者: yfl 查看帖子
X=a*(2*x)^b+c*(2*x)^d-e;求X的0点fzero(‘x',估计值),我大概算了一下,估计值取10^31,即可得到上边的答案
估计值是怎么取到10^31?是结合作图来取的吗?能不能说得具体点。谢谢!
gmzhrb 当前离线   回复时引用此帖
旧 2009-04-27, 09:34   #10
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

这种方程求解起来很简单的,可以采用不动点迭代法,然后在计算过程中控制误差的下限。
首先,f(x)=a(2x)^b+c(2x)^d-e
其中a=6,b=-0.092,c=2.5,d=-0.445,e=0.008.
其次,把方程改写成如下的迭代形式:x=f(x)+x
x(n)=f(x(n-1))+x(n-1)
这样就可以写出一个不动点的求解函数,方程写成M文件,保存到当前工作目录下,直接调用就可以计算了。
function [root,n]=Bu_Dong_Dian(f,x0,eps)
if(nargin==2)
eps=1.0e-9;
end

tol=1;
root=x0;%初始迭代点: x(0)=8.9050e+030
n=0;
while(tol>eps)
n=n+1;
root1=root;
root=subs(sym(f),findsym(sym(f)),root1)+root1;
tol=abs(root-root1);
end
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
回复


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

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



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


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