switch-case-end结构求任意底数的对数

2025-10-03 21:14:37

1、第一,以10为底的对数叫做常用对数(common logarithm),记作log,以无理数e(e=2.71828...)为底的对数叫做自然对数(natural logarithm),记作ln,对于任意底数的对数,可以采用换底公式进行计算,换底公式见下图。

switch-case-end结构求任意底数的对数

2、第二,利用switch-case-otherwise-end结构求任意底数的对数。启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码:

close all; clear all; clc

a=input('please input a base number of logarithm ''a:''');

N=input('please input a real number of logarithm (antilogarithm) ''N:''');

switch(a)

    case 1

        errordlg('error,a can''t equal 1')

    case exp(1)

        x=log(N);

    case 10

        x=log10(N);

    otherwise

        x=log(N)/log(a);

end

disp('x=') 

disp(x)

switch-case-end结构求任意底数的对数

3、第三,以x=log10(100)为例,即底数为10,真数为100,x等于以10为底100的对数,保存和运行上述脚本。在命令行窗口得到如下结果:

please input a base number of logarithm 'a:'10

please input a real number of logarithm (antilogarithm) 'N:'100

x=

     2

switch-case-end结构求任意底数的对数

4、第四,如果底数a=1,则会弹出错误对话框。代码中的errordlg()确保a=1时弹出错误对话框“error,a can't equal 1”。

switch-case-end结构求任意底数的对数

5、第五,如果底数为e,求以e为底100的对数。运行脚本时输入a=exp(1),在命令行窗口得到如下结果:

please input a base number of logarithm 'a:'exp(1)

please input a real number of logarithm (antilogarithm) 'N:'100

x=

    4.6052

switch-case-end结构求任意底数的对数

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢