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
(имя функции не обязательно должно совпадать с именем файла, хотя редактор MATLAB предупредит вас, если эти имена не совпадают.)