如果a^x=N,那么x=logaN,x叫做以a为底N的对数,a叫做对数的底数,N叫做真数。下面采用MATLAB提供的switch-case-otherwise-end结构求任意底数的对数。
工具/原料
MATLAB
switch-case-otherwise-end
对数
方法/步骤
1、第一,以10为底的对数叫做常用对数(commonlogarithm),记作log,以无理数e(e=2.71828...)为底的对数叫做自然对数(naturallogarithm),记作ln,对于任意底数的对数,可以采用换底公式进行计算,换底公式见下图。
2、第二,利用switch-case-otherwise-end结构求任意底数的对数。启动MA哌囿亡噱TLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码:closeall稆糨孝汶;clearall;clca=input('pleaseinputabasenumberoflogarithm''a:''');N=input('pleaseinputarealnumberoflogarithm(antilogarithm)''N:''');switch(a)case1errordlg('error,acan''tequal1')caseexp(1)x=log(N);case10x=log10(N);otherwisex=log(N)/log(a);enddisp('x=')disp(x)
3、第三,以x=log10(100)为例,即底数为10,真数为100,x等于以10为底100的溏胃釜阼对数,保存和运行上述脚本。在命令行窗口得到如下结果:ple锾攒揉敫aseinputabasenumberoflogarithm'a:'10pleaseinputarealnumberoflogarithm(antilogarithm)'N:'100x=2
4、第四,如果底数a=1,则会弹出错误对话框。代码中的errordlg()确保a=1时弹出错误对话框“error,acan'tequal1”。
5、第五,如果底数为e,求以e为底100的对数。运行脚本时输入a=exp(1),在命令行窗口得咦筋庑檗到如下结果:pleaseinputa惺绅寨瞀basenumberoflogarithm'a:'exp(1)pleaseinputarealnumberoflogarithm(antilogarithm)'N:'100x=4.6052