Я пытаюсь сделать программу в scilab (надеюсь, что то же самое относится к Matlab), чтобы получить время нахождения стабильного вектора, я имею в виду, сделав несколько раз вектор продукта и матрицу результатом станет стабильным, поэтому не изменится.Стабильный вектор вероятностей
Я думаю, что лучший способ сделать это с помощью рекурсивной функции, так что я закодировано следующее:
function [R]=vector_stable(v,m,i)
V=v*m;
if(V == v) then
R=i;
abort;
else
vector_stable(V,m,i+1);
end
endfunction
Позвольте мне объяснить, что немного немного, V является продуктом начального вектора и матрицы, если результат будет таким же, как и векторный параметр, а затем должен вернуть время, когда это произошло, если нет, то он вызовет ту же функцию с результатом в качестве первого параметра. Однако я получаю следующую ошибку:
-->R=vector_stable(V,M,0)
!--error 18
: Too many names.
Является ли моя функция правильной? Не могли бы вы мне помочь?
Я думаю, что существует более эффективный способ использования собственной декомпозиции матрицы, я просто не уверен, как это сделать? Может быть, вы можете добавить тег 'math', чтобы привлечь нужных людей :) – Amro
Вычислить собственные векторы. С или без разложения, что является лишь инструментом. – JohnB
Можете ли вы разместить образец матрицы и вектор? – Ansari