标题:这方程该怎么写啊
只看楼主
zixiacherry
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-8-1
结帖率:66.67%
已结贴  问题点数:10 回复次数:3 
这方程该怎么写啊
比如 a*exp(-7.8/s)=b*s  其中a,b都是常数, 给点s一个范围,求解出s。
 我在matlab里写 为啥没结果呢? 或者我每次更改范围后,都得出不同的结果,而且结果一看就不对,5555555555
请高手看看,我这样写的
syms s
fzero(inline('a*exp(-7.8/s)-b*s '),[0,100])    (0,100 是我给的范围,可以更改)

请高手指点一下,我该怎么才能得到结果
搜索更多相关主题的帖子: 而且 matlab 
2011-10-01 17:56
drmatlab
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2011-9-15
得分:10 
请给出一至三组a、b的值和相应的含解区间,我会尽量详细地告诉你求解程序的!
2011-10-05 10:15
drmatlab
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2011-9-15
得分:0 
这个方程对于任何有限的a、b都有零解。我的程序总找到了零解。但是还没找到非零
解。要么你给出非零解的a、b值和相应的含解区间要么你允许我换个方程如
a*exp(-7.8*s)=b*s
来说明程序!
零解没什么意思嘛!
2011-10-07 12:06
drmatlab
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2011-9-15
得分:0 
我的答案

一、程序
function x= myeq(a, b)
 x = fzero(@(x) myfun(x,a,b),[0,100] )

function f = myfun(x,a,b)
f = a.*exp(-7.8.*x) -b.*x
以上两个程序是分别存放在两个.m文件中的。

二、以a=1, b=10为例展示方程的详细求解过程
>> x=myeq(1,10);

f =

     1


f =

       -1000


f =

  -0.540237649001660


f =

  -0.045644888939780


f =

    2.596009671784749e-006


f =

   -1.013789130421827e-008


f =

   -2.220446049250313e-015


f =

    4.440892098500626e-015

最终得到方程的近似解
x =    0.061767764689359

三、验算
>> a=1

a =

     1

>> b=10

b =

    10

>> f=a.*exp(-7.8.*x)-b.*x

f =

   -2.220446049250313e-015

如此小的误差说明近似解足够精确!
2011-10-10 02:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-351419-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059446 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved