MATLAB - 对数运算符错误

时间:2015-07-21 14:36:23

标签: matlab

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

enter image description here

这是脚本:

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');

2 个答案:

答案 0 :(得分:6)

Matlab脚本或函数名称不能包含连字符;只允许使用字母,数字或下划线,并且必须以字母开头。脚本名称中的连字符会混淆Matlab,并使其认为LEFT JOIN是它应该调用的函数/脚本的名称。

这些要求与变量名称的要求相同。您可以查看the documentation for isvarname

  

有效的变量名称是字母,数字和字符串   下划线,总数不超过logarithm个字符和   从一封信开始。

答案 1 :(得分:1)

您必须将脚本名称从logarithm-operator更改为logarithm_operator。因为matlab中变量,脚本,函数等的名称不包含符号:连字符 -