Определение входа реально в Matlab - PullRequest
0 голосов
/ 11 сентября 2018

Это простой вопрос, но я только сейчас изучаю MATLAB.Я пытаюсь написать функцию, которая определяет, является ли пользовательский ввод реальным.Я использую isnumeric и isscalar, и я собирался использовать imag(x) ==0, чтобы убедиться, что в нем нет мнимой части, но я получаю ошибку с отрицательными числами.Любые предложения будут великолепны!

function y = isR(x)
  if isnumeric(x) && isscalar(x) && imag(x)==0
    disp('true')
  else
    disp('false')
  end
end

Ошибка MATLAB: unassignedOutputs

1 Ответ

0 голосов
/ 11 сентября 2018

Вы пишете, что получаете:

Error MATLAB:unassignedOutputs

Таким образом, MatLab жалуется на неназначенный вывод. Хмм, давайте посмотрим на объявление вашей функции:

function y = isR(x)

Здесь 1011 * - имя функции, x - входной аргумент функции, а y - выходной аргумент функции. Matlab жалуется на неназначенные результаты, поэтому мы должны сосредоточить наши усилия на расследовании того, что происходит с y. Оказывается, вы никогда не назначаете значение y! Таким образом, функция не знает, что она должна вернуть при вызове. Итак, после отображения true или false вы должны попытаться присвоить это значение переменной y, например, y = true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...