Примените к MATLAB постоянную функцию для массива, возвращающего затем массив - PullRequest
0 голосов
/ 02 ноября 2018

Я применяю функцию (которая является константой ) к массиву, я думал, что он вернет массив, в котором все значения были равны единице, но он возвращает только 1.

q=@(x) 1
q([1:n].*10)

ans = 1

Я думал, что он вернется: ans = [1,1,1,1,1, ...]

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Да, ваша функция является константой, но у вас нет 'x' на ваших входах, поэтому она возвращает значение константы для любого входа. Попробуйте:

q=@(x) x.*0+1

В этой форме ваша функция будет просто отображать входные данные в любой форме (вектор, матрица или константа), это должно дать желаемый результат:)

0 голосов
/ 02 ноября 2018

q нужен способ понять размер вывода.

q=@(x) zeros(size(x))+1;
q(1:10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...