creating an array from an object

Hi,
I have an object which comes from a database and is in the following format
cats 100 200 300 100 dogs 50 100 110 80 mice 80 30 40 200
I am using cell2mat to create matrices from the object for coloumns 2 - 5 - however you cannot mix strings and numbers and infact you cant even get a matrix of coloumn 1 ie the strings cats, dogs, mice. I need to create a separate matrix - or I believe it will be called an array in this instance that returns underneath each other all the strings from coloumn 1.
Many thanks

 Akzeptierte Antwort

matthew arnott
matthew arnott am 18 Apr. 2013

0 Stimmen

Not sure if its the correct thing to do but in my example the "num2cell" function has worked even though I am dealing with strings and not numbers. So I used
s = num2cell(Objectname(1)) s2 = s{1,1} s3 = s2{1}

Weitere Antworten (2)

Azzi Abdelmalek
Azzi Abdelmalek am 17 Apr. 2013

0 Stimmen

s={'cats' 100 200 300 100 'dogs' 50 100 110 80 'mice' 80 30 40 200}
out=s(cellfun(@isstr,s))

1 Kommentar

matthew arnott
matthew arnott am 17 Apr. 2013
Many thanks for the help however I am starting from an OBJECT not a list so the cellfun function returns an empty matrix - not being a guru, unforunatley I cannot explain it any better. The object is the return of a query into a database so its a database object if you like. the cell2mat function is able to return matrices of the numeric numbers but not an array or matrix of the words.

Melden Sie sich an, um zu kommentieren.

matthew arnott
matthew arnott am 17 Apr. 2013

0 Stimmen

Appreciate the help. However my starting point is an object not a list - so the cellfun function returns an empty matrix

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by