Can someone please help me with this iteration:
Assumme I have the following components of a strcuture:
field1 = 'FinObj'; value1 = 'StockSpec';
field2 = 'Sigma'; value2 = [1,2,3];
field3 = 'AssetPrice'; value3 = [0.2,0.3,0.2];
I need to create three different structures. The following code is not working:
struct_array=struct([]);
for n = 1:3
struct_array(n) struct(field1,value1,field2,value2(n),field3,value3(n));
end
Thank you for any help! Best Jan

 採用された回答

Guillaume
Guillaume 2014 年 12 月 12 日

1 投票

field1 = 'FinObj'; value1 = 'StockSpec';
field2 = 'Sigma'; value2 = [1,2,3];
field3 = 'AssetPrice'; value3 = [0.2,0.3,0.2];
s_array = struct(field1, value1, field2, num2cell(value2), field3, num2cell(value3))

5 件のコメント

Jan Morawietz
Jan Morawietz 2014 年 12 月 12 日
thank you for your quick response!
Jan Morawietz
Jan Morawietz 2014 年 12 月 12 日
one additional question:
is there a similiar command for matlab's term structure function, i.e.
StartDates = (MNDate)';
EndDates = (MXDate)';
Rates = (Rates);
Compounding = -1;
Rate_array = intenvset('StartDates', num2cell(StartDates),'EndDates', num2cell(EndDates), 'Rates', num2cell(Rates),'Compounding', Compounding);
unfortunatley the code above does not work
Jan Morawietz
Jan Morawietz 2014 年 12 月 12 日
MNDate and MXDates are vectors with length of 100 days. Rates are given for each date
Guillaume
Guillaume 2014 年 12 月 12 日
I know nothing about the financial toolbox, I'm afraid.
You can always use arrayfun to create a an array from scalars. This should work assuming intenvset returns a structure:
Rate_array = arrayfun(@(sd, ed, r) intenvset('StartDates', sd, 'EndDates', ed, 'Rates', r, 'Compounding', -1), MNDate, MXDate, Rates)
Jan Morawietz
Jan Morawietz 2014 年 12 月 12 日
thank u

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by