matlab 如何修复错误“不支持使用'='运算符”,“

6ojccjat  于 2023-05-01  发布在  Matlab
关注(0)|答案(1)|浏览(1474)

首先,我是MATLAB初学者。
我犯了这个错误:
错误:文件:Function1.m行:31柱:8
不支持使用“=”运算符。若要比较值是否相等,请使用“==”。若要指定名称-值参数,请检查名称是否是一个有效的标识符,且没有引号。
突出显示的行位于代码的最底部,如If R > = Threshold
另外,End行也有错误
第34行:End运算符必须在数组索引表达式中使用
如何修复错误?
我的代码:

function [EdgeImg, IndexImg] = Function1(InputImg, Threshold)
Four masks for the entire image
H = [-1 -1 -1; 2 2 2; -1 -1 -1];
V = H';
D45 = [2 -1 -1; -1 2 -1; -1 -1 2];
D135 = [-1 -1 2; -1 2 -1; 2 -1 -1];
Compute edge strengths and orientations using the four masks
R1 = imfilter(InputImg, H, 'symmetric');
R2 = imfilter(InputImg, V, 'symmetric');
R3 = imfilter(InputImg, D45, 'symmetric');
R4 = imfilter(InputImg, D135, 'symmetric');
%Initial Edgelmg and Indexlmh
EdgeImg=zero(size(InputImg));                    
IndexImg=len*ones(size(InpuImg));
%Now, loop applied through the pixels at edge using for
for k=1:s(Intlmg,1)
  for m =1:s(Intlmg,2)
  end
  EdgeImg(IndxImg==len)=0;
  figure;
  subplot(1,2,1,0);
  show(EdgeImg,img);
  subplot(1,2,2,0);
  show(IndexeImg,img);
end
[R,jip] = maximize([R1(k,m),R2(k,m),R3(k,m),R4(k,m)
If R > = Threshold    
  EdgeImg(k,m)=R;
  IndexImg(k,m)=jip;
end
lokaqttq

lokaqttq1#

中间有空格的> =不是有效的MATLAB语法。为了评估“大于或等于”,等号i之前不应有空格。即>=。类似地,“小于或等于”是<=
a >= ba <= b分别与ge(a,b)le(a,b)同义,如果你想要它们的函数形式。
请参阅documentation here.

相关问题