Actually the variable val does contain your data, but this is just how MATLAB displays data when it is still inside a cell array. Do not get confused between what MATLAB displays and the data itself: these are two completely different things: this is true for any computer data and any computer program!
Let me demonstrate by creating a simple cell array:
>> A = {[12,34],'bob',{[9;8;7],'mouse'}};
>> A
A =
[1x2 double] 'bob' {1x2 cell}
But this does not mean that all of my data has "disappeared", or that it has been turned into [1x2 double]. It is simply MATLAB giving a summary of what kind of data is inside the cell array, but not showing the data itself. If you want to see your original data, then you need to extract it from the cell array:
>> A{1}
ans =
12 34
>> A{2}
ans =
bob
>> A{3}
ans =
[3x1 double] 'mouse'
Note how the last example uses nested cell arrays:
>> A{3}{1}
ans =
9
8
7