Date: Dec 12, 2012 8:34 PM
Author: Alex
Subject: Re: cell array dimensions do not match

Thanks, but that didnt quite work either.  With those changes I got the error 
??? Error using ==> rmfield at 21
FIELDNAMES must be a string or a cell array of strings.

Error in ==> remover at 33
deltaT = rmfield(data, toremove)

I resolved it by modifying my code to remove the entires in the same for loop that combined the field numbers with the field name instead of trying to make a list.

if rmvr == 1
for g = listremove
field = [stem,int2str(g)] % combining field numbers that contain no data with the stem they are named.
data = rmfield(data, field) % removing the fields from data as their field names are made
end
end

deltaT = data;

save(File, 'deltaT')

clear all

Alex

bartekltg <bartekltg@gmail.com> wrote in message <kab4mr$e40$1@node1.news.atman.pl>...
> W dniu 2012-12-13 00:21, Alex pisze:
> > I am having a problem where I am trying to create a cell array of
>
> So try cell array:)
>

> > strings to use in rmfield. I am combining a stem(chart) with a number
> > (any number) to create the field I want to remove. For example, if I
> > need to remove DeltaT.chart1, deltaT.chart6, deltaT.chart7, then my cell
> > array would be:
> > chart1
> > chart6
> > chart7
> >
> > The problem I have is when I get to chart 10 or more. If I have a
> > number greater than 10 I would have the following:
> > chart1
> > chart6
> > chart7
> > chart10
> > and I get the error ??? Error using ==> vertcat
> > CAT arguments dimensions are not consistent.
> >
> > Error in ==> remover at 28
> > toremove = [toremove;field]

>
>
>

> >> A=['chart1';'chart6';'chart7'];
> >> whos A

>
> Name Size Bytes Class Attributes
>
> A 3x6 36 char
>
>
>

> > I think because I am trying to fit a 7 character wide (chart10) string
> > into a 6 character wide cell array.

>
> This isn't cell array!
>

> > Is there a way around this or something I can do instead? My code is
> > below if it helps.
> >
> >
> > for a = 17%1:22
> > listremove = []
> > toremove = []

>
> toremove = {}
>

> > rmvr = 0;
> > Fileone = 'NODIPSinBTBTB_Delta';
> > File = [Fileone,'Comp',int2str(a)]
> > load([Fileone,int2str(a),'.mat'])
> > data = deltaT;
> > stem = 'chart';
> > for L = 1:length(fieldnames(data))
> > field = [stem,int2str(L)];
> > if length(data.(field)) == 0
> > rmvr = 1
> > listremove = [listremove L];
> > end
> > end
> > if rmvr == 1
> > for g = 1:length(listremove)
> > field = [stem,int2str(listremove(g))]

> toremove = [toremove;field]
>
> toremove = { toremove;field }
>

> > end
> > deltaT = rmfield(data, toremove)
> > end
> > save(File, 'deltaT')
> > clear all
> >
> > end

>
> >> A={'chart1';'chart6';'chart7'; 'chart10'}
>
> A =
>
> 'chart1'
> 'chart6'
> 'chart7'
> 'chart10'
>

> >> whos A
> Name Size Bytes Class Attributes
>
> A 4x1 498 cell
>
>
> bartekltg
>
>