matlab中以e为底的指数函数怎么表示?

matlab中以e为底的指数函数怎么表示?,第1张

自然对数是log()函数,自然对数的底数e,也就是自然指数函数exp(x),当x取1时候的值,所以用exp(1)可以获得。

一、MATLAB各种对数函数用法:

1、自然数对数 log(x)

在MATLAB主窗口中输入a1=log(27183),回车,我们可以看到a1近似为1,e约等于27183,

2、以2为底数的对数 log2(x)

在MATLAB主窗口中输入a2=log2(4) ,回车,可以看到结果a2=2

3、以10为底数的对数 log10(x)

在MATLAB主窗口中输入a3=log10(10) ,回车,可以看到结果a3=1

4、其他底数对数logM(N)

这种对数需要进行一个简单的中间变换,logM(N)=log(N)/log(M),这样写方便,用log10() 以及log2()都可以。我们在MATLAB主窗口中输入如下命令:

a4=log(64)/log(8) 回车

可以看到 ,以8为底64的对数为2。

二、Matlab中常见数学函数的表示方法有:

拟合问题和很多因素有关,包括拟合函数的形式、优化算法、初值等。

 

对于楼主给的数据而言,指数函数似乎并非一个好的选择。从下图可以看到,四次多项式拟合的效果要比指数拟合效果好很多。事实上,即使用二次多项式(抛物线)拟合,也比指数拟合的效果要好。所以,建议楼主重新考虑一下拟合函数的形式,如果允许,可尝试采用多项式拟合。

 

参考代码

x=[20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ];

y=[57932E-9 122956E-9 349388E-9 1347271E-9 6411419E-9 39656E-6 312668E-6 1578480E-6 4123921E-6 7833082E-6 12699E-3 19087E-3 27278E-3 37540E-3 50654E-3 65450E-3 82685E-3 102270E-3 124299E-3 148553E-3 174864E-3 203293E-3 233594E-3 265548E-3 299253E-3 334524E-3 371170E-3 409220E-3 448524E-3 488980E-3 530623E-3];

f = @(c,x) c(1)(exp(c(2)x)-1);

x0 = [1 1];

c=lsqcurvefit(f,x0,x,y)

y1 = f(c,x);

p = polyfit(x,y,4);

y2 = polyval(p,x);

plot(x,y,'ro',x,y1,'-',x,y2,'-x')

r1 = norm(y-y1);

r2 = norm(y-y2);

legend('原始数据', ['指数拟合, 残差范数=' num2str(r1)],['4次多项式拟合,残差范数=' num2str(r2)],2)

没有现成的办法,请预处理数据后再拟合

比方说

y=aexp(bx)

那么预处理数据为

ln y =ln a +bx

这样就变成线性拟合问题了啊!

LZ 这个注意转化问题啊!

拟合函数表达式:y=aexp(b+cx)

式中a=006154920769,

b=-318125203,

c=7822374803

拟合度09725(相关系数)

用V=A(1)exp(A(2)I)+A(3)exp(A(4)I)模型比较好。

A = nlinfit(X,Y,myfun,[700 -001 -700 -1 ])

I=min(X):01:max(X);

V=A(1)exp(A(2)I)+A(3)exp(A(4)I);

plot(X,Y,'o',I,V)

结果:A =6689571 -00688 -6567991 -10321

意义

a>1时,Y随X增大而增大,先快后慢;0<a<1时,Y随X增大而减少,先快后慢。当以Y和lnX绘制的散点图呈直线趋势时,可考虑采用对数函数描述Y与X之间的非线性关系,式中的b和a分别为斜率和截距。

曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。

-曲线拟合

matlab中指数函数表示为:y=exp(x)→底数为e的指数函数,和y=a^x→底数为a的指数函数。

一般地,形如y=a^x(a>0且a≠1) (x∈R)的函数叫做指数函数(exponential function) 。也就是说以指数为自变量,底数为大于0且不等于1的常量的函数称为指数函数,它是初等函数中的一种。

k是用来指定颜色的,即黑色,还有一些你自己查plot的帮助吧!

'r'

红色

'm'

粉红

'g'

绿色

'c'

青色

'b'

兰色

'w'

白色

'y'

**

'k'

黑色

'-'

实线

'--'

虚线

':'

点线

'-'

点划线

''

用点号绘制各数据点

'^'

用上三角绘制各数据点

'+'

用'+'号绘制各数据点

'v'

用下三角绘制各数据点

''

用''号绘制各数据点

'>'

用右三角绘制各数据点

'

'

用''号绘制各数据点

'<'

用左三角绘制各数据点

's'或squar

用正方形绘制各数据点'p'

用五角星绘制各数据点

'd'或diamond用菱形绘制各数据点

'h'

用六角星绘制各数据点

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/12183386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存