我自己编的对任意底求对数的函数如下: function y=logn(n,x) switch(n) case 1 errordlg('不好意思,出错了!'); case 2 y=log2(x); case exp(1) y=log(x); case 10 y=log10(x); otherwise y=log10(x)/log10(n); end 其中n为底数,x为真数,当我们把此函数文件保存在work里,在命令窗口中输入: >>logn(3,27) 得到结果如下: ans= 3.0000 你仔细体会体会switch 是怎么使用的吧