在Matlab中,我想一個數據結構,看起來像這樣:子結構與相關領域
DataStruct
.model
.Q
.Qchol
.
.
.system
.
.
結構很可能是一類,雖然我並不真的需要所有的其他功能伴隨着oop。
但我需要
- 如果
Q
自動Qchol = cholcov(Q)
分配的東西,那麼。 - 如果
Qchol
被分配了一些東西,然後自動Q = Qchol' * Qchol
。 - 同時,既
Q
和Qchol
存儲快速讀取訪問 - 而
Q
和Qchol
是可寫的,通過簡單的任務,如:DS1.mod.Q = value
我知道我可以做model
一類,並且已經設置了/獲取Q和Qchol的方法。然而,對於兩個矩陣來說,這看起來似乎是一個矯枉過正的問題(加上可能還有一些字段)。此外,Matlab 警告我不應該在設置方法期間訪問其他屬性。
所以:有這樣的數據結構,最好沒有警告的最佳方式是什麼?
是的,謝謝你在我的問題上有用的觀點,這使得你的結論更加明顯。你對Matlab給我的警告有什麼看法?這樣的副作用(影響另一個財產)肯定是一個共同的願望?當然有一個很好的方法來做到這一點? – Patrick
感謝您的全面編輯。實際上我已經試過了你上面的不可實例化的例子。我的方法是添加一個內部開關,告訴setter不要設置另一個(因爲它已經被設置)。但是使用你的方法不會帶來任何警告,所以它可能更乾淨。 – Patrick
@Patrick - 歡迎您:) – bavaza