Adding new fields to a dataset array?

Hi,
After I constructed a dataset array from a text file, I want to add a new column (variable) in the array called 'ID' and give a constant value to it in every row. Is there a way to specify a new field in the dataset array? For structure array I believe you can use "setfield" or "deal" to do it but it doesn't seems to work in dataset array. Here is what I've tried:
1. tmp.ID = {'100'}; This will create a new column called ID and give the value '100' only to the first row.
2. tmp.ID(:) = {'100'}; This will create a new column called ID with an empty cell for each row (no value given).
3. Now run both commands: tmp.ID = {'100'}; tmp.ID(:) = {'100'}; This time the ID value is given to every row.
Number 3 is the behavior I want although it doesn't seem to be the correct way to do it.
I'm new to the database array, any comments will be appreciated.

Answers (2)

Try this:
tmp.ID = 100*ones(size(tmp,1),1);

1 Comment

Laura:
Thanks for your reply. I actually wants a string instead of a number, although along the same logic of yours the following code works:
tmp.ID = repmat('String',size(tmp,1),1);

Sign in to comment.

tmp.ID(1:5) = {'100'}; % If 5 is the size you want.

Tags

Asked:

on 22 Jun 2011

Community Treasure Hunt

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

Start Hunting!