MATLAB中指数(ex)和对数(lnx)在标量运算的用法

摘要:MATLAB中和数学中的指数和对数的用法,存在直觉中的差异,非常容易混淆。因此本文采用对比的方法对两者之间的差异和在MATLAB中的用法,做出简要说明和详细运用。

1、MATLAB中指数和对数的用法进行对比,详细内容见表格。

需要说明的是MATLAB命令一般形式可以用以特殊形式,但是底数e进行事先定义。

函数

数学

MATLAB命令

指数

一般形式

$y={​{a}^{x}}(a>0a\ne 1)$$y=\text{power}(a,x)$

e的特殊形式

(e=2.7183)

$y={​{e}^{x}}$

$y=\exp (x)$

对数

一般形式

$y={​{\log }_{a}}x(a>0,a\ne 1)$

1、以e为底的对数用log()表示,如log(a)。

2、以10为底的对数用log10()表示,如log10(a)。

3、以2为底的对数用log2()表示,如log2(a)。

4、对于其它如${​{\log }_{a}}b=\log b/\log a$

e的特殊形式

(e=2.7183)

$y=\ln x$$y=\log (x)$

对于指数函数最反直觉的是,MATLAB并没有对e做出定义,系统会认为这是一个未被命名的变量,不可以直接使用。($\pi =\text{pi}$在MATLAB中被直接定义)。

对于对数函数最反直觉的是,log(x)=ln(x),MATLAB可以对ln没有直接定义。再去计算不以e为底的对数是,还需要重新理解。

需要说明的是MATLAB命令一般形式可以用以特殊形式,但是底数e进行事先定义。

2、对MATLAB中指数实例

下面将贴出不同命令在MATLAB中的图片,使上表的对比更加直观。

2.1   指数一般形式

数学

MATLAB

$y={​{a}^{x}}={​{2}^{3}}=8$$y=\text{power}(a,x)=\text{power(2,3)=8}$
$y={​{a}^{x}}={​{3}^{2}}=9$$y=\text{power}(a,x)=\text{power(3,2)=9}$

2.2 指数e的特殊形式形式

1、不对e定义直接使用

未定义e

定义

 所以e不可以直接使用,要先进行定义。

 2 、 使用exp函数

数学

MATLAB

$y={​{e}^{x}}={​{e}^{2}}=7.3892$$y=\exp (x)=\exp (2)=7.3891$
$y={​{e}^{x}}={​{e}^{3}}=20.1081$$y=\exp (x)=\exp (3)=20.0855$

 误差来自于定义误差,可以接受

3、对MATLAB中对数实例

3.1对数一般形式

数学

MATLAB

y={​{\log }_{a}}x={​{\log }_{2}}8={​{\log }_{2}}{​{2}^{3}}=3$y={​{\log }_{2}}8=\log 8/\log 2=3$

数学计算即可

y={​{\log }_{a}}x={​{\log }_{3}}9={​{\log }_{3}}{​{3}^{2}}=2$y={​{\log }_{3}}9=\log 9/\log 3=2$

数学计算即可

3.2  e的特殊形式

数学

MATLAB

$y=\ln e=1$$y=\log (\text{2}\text{.7183})=1$

数学计算即可

$y=\ln {​{e}^{2}}=\ln 7.3946=2$$y=\log (\text{7}\text{.391})=2$

数学计算即可

误差来自于定义误差,可以接受

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用MATLAB绘制ln(x)的拉格朗日插值和牛顿插值函数的图像,我们可以按照以下步骤进行操作: 1. 定义插值点的区间范围和间隔。选择一个适当的区间范围(例如[0.1, 5])和间隔(例如0.1),取得插值点的x坐标。 2. 根据ln(x)函数,计算插值点的y值。 3. 使用拉格朗日插值方法,根据插值点的坐标和y值,计算ln(x)的拉格朗日插值函数。 4. 使用牛顿插值法,根据插值点的坐标和y值,计算ln(x)的牛顿插值函数。 5. 使用plot函数,将插值点及函数图像在同一个坐标系绘制出来。 以下是MATLAB代码示例: ``` x = 0.1:0.1:5; % 定义插值点的x坐标 y = log(x); % 根据ln(x)函数计算插值点的y值 % 拉格朗日插值 lagrange_poly = lagrange(x, y); % 牛顿插值 newton_poly = newton(x, y); % 绘制图像 plot(x, y, 'o', 'MarkerFaceColor', 'b') % 绘制插值点 hold on fplot(@(x) log(x), [0.1, 5], 'r') % 绘制ln(x)函数图像 fplot(lagrange_poly, [0.1, 5], 'g') % 绘制拉格朗日插值函数图像 fplot(newton_poly, [0.1, 5], 'm') % 绘制牛顿插值函数图像 hold off legend('插值点', 'ln(x)函数', '拉格朗日插值', '牛顿插值') % 添加图例 % 拉格朗日插值多项式计算函数 function poly = lagrange(x, y) n = length(x); syms t; poly = 0; for i = 1:n L = 1; for j = 1:n if j ~= i L = L * (t - x(j)) / (x(i) - x(j)); end end poly = poly + y(i) * L; end end % 牛顿插值多项式计算函数 function poly = newton(x, y) n = length(x); syms t; poly = y(1); for i = 2:n temp = 1; for j = 1:i-1 temp = temp * (t - x(j)); end poly = poly + temp * divided_difference(x, y, i); end end % 计算分差表 function diff = divided_difference(x, y, n) if n == 1 diff = y(1); else diff = (divided_difference(x, y, n-1) - divided_difference(x, y, n-1))/(x(1)-x(n)); end end ``` 执行代码后,将会生成包含插值点、ln(x)函数、拉格朗日插值函数和牛顿插值函数的图像,并在图例加以区分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值