How to save portfolio objects to an array?

조회 수: 10 (최근 30일)
Nirmal Hirani
Nirmal Hirani 2022년 10월 7일
답변: Sailesh Kalyanapu 2022년 10월 10일
p = Portfolio;
c = Portfolio;
d = [p c]
d =
1×2 Portfolio array with properties: BuyCost SellCost RiskFreeRate AssetMean AssetCovar TrackingError TrackingPort Turnover BuyTurnover SellTurnover Name NumAssets AssetList InitPort AInequality bInequality AEquality bEquality LowerBound UpperBound LowerBudget UpperBudget GroupMatrix LowerGroup UpperGroup GroupA GroupB LowerRatio UpperRatio MinNumAssets MaxNumAssets BoundType
How do i store objects in an array and then extract any specific object from that array? I want to do this.
d.p.BuyCost
Thanks.
  댓글 수: 1
dpb
dpb 2022년 10월 8일
Indexing; don't compound-nest similar structs; that will become totally unworkable.
d(2).BuyCost
You can create an associated name array to use as id if want a way to find specific element of the array or add that ID as a field.

댓글을 달려면 로그인하십시오.

채택된 답변

Sailesh Kalyanapu
Sailesh Kalyanapu 2022년 10월 10일
As per my understanding, you are looking to store objects of type ‘Portfolio’ in a way to later access them using dot indexing.
You can do so by saving the objects in a struct.
>> d = struct
>> obj1 = Portfolio;
>> obj2 = Portfolio;
>> d.p = obj1;
>> d.c = obj2;
% To access required PropertyName
>> d.p.PropertyName (or) d.c.PropertName
For more information related to ‘struct’, please refer to the following MATLAB documentation:
In case you want to store the objects in an array, you could then use numeric(array) indexing to first select the object of choice and then use dot indexing to access the required Property.
>> p = Portfolio;
>> c = Portfolio;
>> d = [p c];
% To access required PropertyName of ith object in array.
>> d(i).PropertyName

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by