06-06.txt

来自「MATLABR2006a基础教程」· 文本 代码 · 共 39 行

TXT
39
字号
% 任意底对数的实现
function y = logn(x,n)
if x == 0 || n == 0
    disp('warning: log of zero!');
    y = NaN;
elseif n == 1
    disp('error: n == 1!');
    y = NaN;
else
    if x < 0 || n < 0
        disp('warning: the result will be imaginary!');
    end
    switch n
        case exp(1)
            y = log(x);
        case 2
            y = log2(x);
        case 10
            y = log10(x);
        otherwise
            y = log(x)/log(n);
    end
end


% 计算 x 对于多个底的对数,并绘制图形
function y = log_plot(x,n)
l = length(n);
y = zeros(size(n));
for i=1:l
    y(i) = logn(x,n(i));
end
plot(n,y,'.');
xlabel('n');

>> x=25;
>> n=[0,1/5,1/4,1/3,1/2,1,2,3,4,5];
>> y=log_plot(x,n);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?