Hello,
How can I add header to my table below ?
I want to add header
header={'Call price','Standard error','Number of paths'}
to the table.
S0=30;
K=32;
r=0.03;
sigma=0.2;
T=1;
n=365;
%m=500; % number of simulations
j=1;
for i=500:500:10000
[call_price,standard_error,numberOfpaths]=Call_Simulation(S0,K,r,sigma,n,i,T);
Call_Price(j)=call_price;
Standard_Error(j)=standard_error;
NumberOfPaths(j)=numberOfpaths;
j=j+1;
end
header={'Call price','Standard error','Number of paths'};
T=table(Call_Price',Standard_Error',NumberOfPaths');
disp(T);
error_table.PNG

 Réponse acceptée

Star Strider
Star Strider le 17 Fév 2019

2 votes

Use the 'VariableNames' (link) name-value pair with your ‘header’ cell array.

5 commentaires

Bai chen
Bai chen le 17 Fév 2019
I looked through the link.
It does not help.
The elements of ‘header’ must be valid MATLAB variable names. Then it works.
Try this:
T = table(rand(5,1),rand(5,1),rand(5,1))
header={'Call_price','Standard_error','Number_of_paths'};
T.Properties.VariableNames = header
producing:
T =
5×3 table
Var1 Var2 Var3
_______ _______ ________
0.48861 0.54681 0.67914
0.57853 0.52114 0.39552
0.23728 0.23159 0.36744
0.45885 0.4889 0.98798
0.96309 0.62406 0.037739
T =
5×3 table
Call_price Standard_error Number_of_paths
__________ ______________ _______________
0.48861 0.54681 0.67914
0.57853 0.52114 0.39552
0.23728 0.23159 0.36744
0.45885 0.4889 0.98798
0.96309 0.62406 0.037739
That should do what you want.
Walter Roberson
Walter Roberson le 17 Fév 2019
Note that table() objects do not support arbitrary column headers. They can store VariableDescription for each column, but summary() is about the only thing that displays the description.
Shannon Wagoner
Shannon Wagoner le 4 Mar 2020
@walter can you shhow an example of summary?
Star Strider
Star Strider le 4 Mar 2020

Connectez-vous pour commenter.

Plus de réponses (1)

Denise Selegato
Denise Selegato le 24 Sep 2019

0 votes

Hi, I've been having a similar problem.
I want to put the following header on my table(T):
header = {'#DATA=RDC', 'PRIOR=GAUSS'}
However, if I try to use T.Properties.VariableNames, it gives me an error because I started my cell array with a "#". I need this # to be included in the header.
Is there a solution to my problem?
Thank you!

3 commentaires

Star Strider
Star Strider le 24 Sep 2019
Prior to R2019b, variable names in table objects have to be valid MATLAB variable names. Neither one in ‘header’ qualifies. You can certainly print those to a file as a separate line before you print your data (most likely using fprintf), then output your data to the file in a separate fprintf call.
However, if you upgrade to R2019b, you can likely do what you want. See the Release Notes, and specifically the writetable documentations section on: Write Tabular Data Containing Arbitrary Variable Names.
Note that this is also true for table objects in general. See: Specify Variable Names Using Any Characters in the R2019b table documentation.
Denise Selegato
Denise Selegato le 25 Sep 2019
It worked perfctly on MATLAB2019b, thank you for helping.
Star Strider
Star Strider le 25 Sep 2019
My pleasure.

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by