「読み取り専用であるため、クラス 'dtmc' の 'P' プロパティを設定できません。」を解決するにはどうすればよいですか?
13 次查看(过去 30 天)
显示 更早的评论
マルコフ連鎖のMATLAB関数について質問です。
https://jp.mathworks.com/help/econ/dtmc.html
「読み取り専用であるため、クラス 'dtmc' の 'P' プロパティを設定できません。」のエラーを回避し、
mc = dtmc(P)を実行後のmc.Pを編集可能にしたいのですが、どうすればよいでしょうか?
1 个评论
Atsushi Ueno
2022-1-15
mc.Pを編集する為にdtmc関数を使って新たにmcを作り直せば良いと思ったのですが、直接mc.Pを変更したい理由があるのでしょうか?
mc = dtmc([0.5 0.5 0 0; 0.5 0 0.5 0; 0 0 0 1; 0 0 1 0], ...
'StateNames',["Depression" "Recession" "Stagnant" "Boom"])
mc.P
mc.P = [0.5 0.5 0 0; 0.5 0 0.5 0; 0 0 0 1; 0 0 1 0]
采纳的回答
Atsushi Ueno
2022-1-15
which dtmc % 御使用の環境により場所は異なります
の最初の方にある
properties (SetAccess = private, GetAccess = public) % privateをpublicに変更する
P % Normalized transition matrix
end
上記のprivateをpublicに変更すればやりたい事が実現するはずです。(動作確認していません)
ただToolboxの中身を変更する事はあまり推奨できないので、独自の構造体を作成する方が良いと思います。
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Markov Chain Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!