作业帮 > 综合 > 作业

MATLAB能不能求解指数方程组

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/13 01:19:37
MATLAB能不能求解指数方程组
0.058824=a*exp[-b*(0.034364)^n]
0.011765=a*exp[-b*(0.017007)^n]
0.022059=a*exp[-b*(0.006711)^n]
a,b,n为未知量,n为指数.
MATLAB能不能求解指数方程组
指数方程组没求过,不过你可以试试matlab的一个曲线拟合的功能,cftool回车,根据你的数据,比如
X=[0.034364 0.017007 0.006711],Y=[0.058824 0.011765 0.022059],再选择合适的拟合函数,应该轻松拟合的,看你这个函数应该选择custom equation选项,并且你最好能给定a,b,n,的大致范围,这样拟合的结果会更精确.
再问: 0.058824=a*exp[-b*(0.031034)^n] 0.070588=a*exp[-b*(0.019014)^n] 0.117647=a*exp[-b*(0.007383)^n] a,b,n为未知量,n为指数。 您看这个能拟合出一个函数吗?我还没接触过matlab,所以具体的过程还不回弄呢。感谢您的帮助和指点。
再答: 你好,根据你现在给出的方程,X=[0.031034 0.019014 0.007383];Y=[0.058824 0.070588 0.117647];拟合的结果为General model:
     f(x) = a*exp(-b*x^n)
Coefficients:
       a =      0.7138
       b =       5.789
       n =      0.2366Goodness of fit:
  SSE: 2.073e-005
  R-square: 0.9893
  Adjusted R-square: NaN
  RMSE: NaN
再问: 感谢您的解答,我想问下,用下面这个来求解上述方程是否正确 >> syms a b n >> [a b n]=solve('0.058824=a*exp(-b*0.034364^n)','0.011765=a*exp(-b*0.017007^n)','0.022059=a*exp(-b*0.006711^n)')
再答: 试了一下,不行嘛!你可以对y=a*exp(-b*x^n)求导,大概是y'=-abn*exp(-b*x^n)*x^(n-1),也就是说,函数在abn都确定的情况下,要么是单增要么是单减的,你给的数据根本就不是单调的嘛,怎么可能有解呢~~ 喏,按你给的数据x=[0.034364 0.017007 0.006711],y=[0.058824 0.011765 0.022059]不是单调的啊,如果真要解的话,只能求近似解去拟合.可能的结果如下General model:
     f(x) = a*exp(-b*x^n)
Coefficients:
       a =       30.24
       b =       3.154
       n =     -0.2045Goodness of fit:
  SSE: 0.0003999
  R-square: 0.6733
  Adjusted R-square: NaN
  RMSE: NaN效果相当差