opu*_*u 웃 0 matlab function image-processing
这是一个我正在尝试执行的简单Matlab代码.
function result = scale(img, value)
result = value .* img;
end
dolphin = imread('dolphin.png')
imshow(scale(dolphin, 1.5));
Run Code Online (Sandbox Code Playgroud)
错误说:
Error: File: scale.m Line: 5 Column: 1
This statement is not inside any function.
(It follows the END that terminates the definition of the function "scale".)
我在这做错了什么?
scale.m是一个函数M文件,因为它以关键字开头function.最直接的部分end是函数的定义.当您scale在MATLAB命令行调用时,它会执行函数中的代码.之后的东西end不是函数的一部分,因此无法执行.
如果您打算scale使用仅在此脚本中使用的私有函数编写脚本,则将读取和显示的代码行放在dolphin文件顶部.私有函数应该在脚本部分之后.自MATLAB R2016b起支持该语法.
否则,将dolphin代码移动到另一个M文件,这是一个没有任何函数定义的简单脚本M文件.然后可以使用此脚本scale,该脚本将调用文件中的函数scale.m.
将所有代码保存在同一文件中的第三种方法是根本不使用脚本,并将脚本代码放在函数中:
function f % just a random name
dolphin = imread('dolphin.png')
imshow(scale(dolphin, 1.5));
end
function result = scale(img, value)
result = value .* img;
end
Run Code Online (Sandbox Code Playgroud)
(函数名称不需要与文件名匹配,尽管如果这些名称不匹配,MATLAB编辑器会发出警告.)
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |