Table variable subscripts must be real positive integers

1 回表示 (過去 30 日間)
Eduardo Orellana
Eduardo Orellana 2021 年 7 月 29 日
コメント済み: Eduardo Orellana 2021 年 7 月 30 日
Using the data from https://la.mathworks.com/help/finance/black-litterman-portfolio-optimization.html, and running the code head(T(:,["Dates" benchmarkName assetNames])), get the following error: Table variable subscripts must be real positive integers, logicals, character vectors, or cell arrays of character vectors. I dont now how to fix it.
thanks
  9 件のコメント
Dave B
Dave B 2021 年 7 月 29 日
編集済み: Dave B 2021 年 7 月 29 日
That helps, this sort of fits with my previous hypothesis i.e. that you need to provide char not string:
Let's work our way back to the final bit building off of:
head(T(:,'Dates'))
head(T(:,'DJI')) % just a different table variable
head(T(:,{'Dates' 'DJI'}) % Two table variables
% specifying 'DJI' in a workspace variable
benchmarkName = 'DJI';
head(T(:,{'Dates' benchmarkName}))
% specifying all of the assetNames
assetNames = {'AA' 'AIG' 'WMT' 'MSFT' 'BA' 'GE' 'IBM'};
head(T(:,assetNames))
% one way to put these all together
head(T(:,{'Dates' benchmarkName assetNames{:}}))
% the line of code from my previous comment
% (just in case something got confused and this works now)
head(T(:,['Dates' benchmarkName assetNames]))
Eduardo Orellana
Eduardo Orellana 2021 年 7 月 30 日
It worked. Thank you Dave.

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

回答 (1 件)

Eike Blechschmidt
Eike Blechschmidt 2021 年 7 月 29 日
I guess you just forgot the quotation marks around benchmarkName and assetNames.

カテゴリ

Help Center および File ExchangeLMI Solvers についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by