MATLAB - 对数运算符错误

Shr*_*rey 2 matlab

我正在MATLAB中编写一个脚本,显示给定原始图像的前后图像和通过对数运算符点变换的图像.我已经尝试调试程序以查看它有什么问题,但由于某种原因,它没有在MATLAB中运行.我一直在命令行上得到错误(logarithm-operator是脚本的名称):

在此输入图像描述

这是脚本:

a = imread('cells.png');
ad = im2double(a);
x = ad; 

[r, c] = size(ad);
factor = 1;

for i = 1:r 
    for j = 1:c 
        x(i, j) = factor *log(1+ ad(i,j));
    end
end

subplot(1,2,1);imshow(ad);title('Before');

subplot(1,2,2);imshow(x);title('After');
Run Code Online (Sandbox Code Playgroud)

Eel*_*aak 6

Matlab脚本或函数名称不能包含连字符; 只允许使用字母,数字或下划线,并且必须以字母开头.脚本名称中的连字符混淆了Matlab并引导它思考logarithm它应该调用的函数/脚本的名称.

这些与变量名称的要求相同.您可以查看以下文档isvarname:

有效的变量名称是字母,数字和下划线的字符串,总计不超过namelengthmax字符并以字母开头.