У меня возникли проблемы с этой командойЧто случилось с [а Ь] = Рэнди()
[a b]=randi(5,1,2)
MATLAB говорит мне
Слишком много выходных аргументов.
Может ли кто-нибудь сказать мне, что я сделал неправильно?
У меня возникли проблемы с этой командойЧто случилось с [а Ь] = Рэнди()
[a b]=randi(5,1,2)
MATLAB говорит мне
Слишком много выходных аргументов.
Может ли кто-нибудь сказать мне, что я сделал неправильно?
Причина здесь очевидна, так как должен быть только один выход для randi()
.
r = randi(imax,n)
r = randi(imax,m,n)
r = randi(imax,[m,n])
r = randi(imax,p1,...,pn)
r = randi(imax,[p1,...,pn])
r = randi(imax)
r = randi(imax,size(A))
r = randi([imin,imax],...)
r = randi(..., classname)
Оформить свой documentation для получения дополнительной информации.
просто для того, чтобы добавить специфику к исходному вопросу, вы, вероятно, хотите «r = randi (5,1,2); a = r (1); b = r (2); 'или что-то в этом роде. – adalca
Как упомянуто в @hero, вы должны просто получить вектор в виде вывода randi
.
Если вы действительно должны получить его в разные буквы, вот как это можно сделать:
c = num2cell(randi(5,1,2));
[a, b] = deal(c{:});
Излишне говорить, что это не то, что обычно вы должны хотеть.
В случае, если вам интересно, почему это должен быть только один вывод, если вы хотите два числа: вы получаете все числа в векторе/массиве, а не как отдельные переменные. –