<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844</link>
    <title>MATLAB Central Newsreader - Vectorizing Assignment to array of structures?</title>
    <description>Feed for thread: Vectorizing Assignment to array of structures?</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Sun, 09 Sep 2007 20:49:35 -0400</pubDate>
      <title>Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#391351</link>
      <author>First Last</author>
      <description>Hello, &lt;br&gt;
&lt;br&gt;
I have a variable 'data' that is a 1x2 structure array with&lt;br&gt;
the fields in which:&lt;br&gt;
&lt;br&gt;
data.times are 5x1 vectors &lt;br&gt;
data.mean are numbers&lt;br&gt;
&lt;br&gt;
I can clearly access the data.mean and data.times values and&lt;br&gt;
manipulate them, but is there a way I can assign each one of&lt;br&gt;
the data.mean values in a vector, quickly, without a loop? &lt;br&gt;
&lt;br&gt;
For instance, let's say I want &lt;br&gt;
&lt;br&gt;
data(1).mean = 5;&lt;br&gt;
data(2).mean = 7;&lt;br&gt;
&lt;br&gt;
Is there a way to assign the vector [5 7] to data.mean?&lt;br&gt;
Obviously this example there is only a marginal&lt;br&gt;
computational penalty for doing this somewhat manually, but&lt;br&gt;
for larger arrays of structures, this could be a nightmare.&lt;br&gt;
I'm trying to vectorize this thing as much as possible.&lt;br&gt;
&lt;br&gt;
Thanks in advance.</description>
    </item>
    <item>
      <pubDate>Sun, 09 Sep 2007 21:33:54 -0400</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#391356</link>
      <author>david bateman</author>
      <description>First Last wrote:&lt;br&gt;
&amp;gt; Hello, &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have a variable 'data' that is a 1x2 structure array with&lt;br&gt;
&amp;gt; the fields in which:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data.times are 5x1 vectors &lt;br&gt;
&amp;gt; data.mean are numbers&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I can clearly access the data.mean and data.times values and&lt;br&gt;
&amp;gt; manipulate them, but is there a way I can assign each one of&lt;br&gt;
&amp;gt; the data.mean values in a vector, quickly, without a loop? &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; For instance, let's say I want &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; data(2).mean = 7;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Is there a way to assign the vector [5 7] to data.mean?&lt;br&gt;
&amp;gt; Obviously this example there is only a marginal&lt;br&gt;
&amp;gt; computational penalty for doing this somewhat manually, but&lt;br&gt;
&amp;gt; for larger arrays of structures, this could be a nightmare.&lt;br&gt;
&amp;gt; I'm trying to vectorize this thing as much as possible.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanks in advance.&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
Maybe I'm missing something, but what is wrong with&lt;br&gt;
&lt;br&gt;
data = struct('mean', {5,7})&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
D.</description>
    </item>
    <item>
      <pubDate>Sun, 09 Sep 2007 21:35:18 -0400</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#391357</link>
      <author>Doug Schwarz</author>
      <description>First Last wrote:&lt;br&gt;
&amp;gt; Hello, &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have a variable 'data' that is a 1x2 structure array with&lt;br&gt;
&amp;gt; the fields in which:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data.times are 5x1 vectors &lt;br&gt;
&amp;gt; data.mean are numbers&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I can clearly access the data.mean and data.times values and&lt;br&gt;
&amp;gt; manipulate them, but is there a way I can assign each one of&lt;br&gt;
&amp;gt; the data.mean values in a vector, quickly, without a loop? &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; For instance, let's say I want &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; data(2).mean = 7;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Is there a way to assign the vector [5 7] to data.mean?&lt;br&gt;
&lt;br&gt;
If you are creating data from scratch then use&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;data = struct('mean',num2cell([5 7]));&lt;br&gt;
&lt;br&gt;
If data already exists and is the right size then use&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;c = num2cell([5 7]);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[data.mean] = c{:};&lt;br&gt;
&lt;br&gt;
or if you are using a version of MATLAB before 7:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;c = num2cell([5 7]);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[data.mean] = deal(c{:});&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
-- &lt;br&gt;
Doug Schwarz&lt;br&gt;
dmschwarz&amp;ieee,org&lt;br&gt;
Make obvious changes to get real email address.</description>
    </item>
    <item>
      <pubDate>Sun, 09 Sep 2007 22:03:44 -0400</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#391361</link>
      <author>First Last</author>
      <description>Doug Schwarz &amp;lt;see@sig.for.address.edu&amp;gt; wrote in message &amp;lt;&lt;br&gt;
&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; If data already exists and is the right size then use&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;    c = num2cell([5 7]);&lt;br&gt;
&amp;gt;    [data.mean] = c{:};&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; or if you are using a version of MATLAB before 7:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;    c = num2cell([5 7]);&lt;br&gt;
&amp;gt;    [data.mean] = deal(c{:});&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
Ah, thanks Doug (and ez). That did it. </description>
    </item>
    <item>
      <pubDate>Fri, 09 Nov 2007 20:05:45 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400600</link>
      <author>Lee Newman</author>
      <description>&amp;gt; If data already exists and is the right size then use&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;    c = num2cell([5 7]);&lt;br&gt;
&amp;gt;    [data.mean] = c{:};&lt;br&gt;
&lt;br&gt;
&amp;gt; Doug Schwarz&lt;br&gt;
&amp;gt; dmschwarz&amp;ieee,org&lt;br&gt;
&amp;gt; Make obvious changes to get real email address.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Is there a way to do this without the intermediate&lt;br&gt;
assignment to c? [data.mean]= (num2cell(stuff)){:}  would be&lt;br&gt;
great, but Matlab doesn't allow this...</description>
    </item>
    <item>
      <pubDate>Fri, 09 Nov 2007 20:06:21 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400601</link>
      <author>Lee Newman</author>
      <description>&amp;gt; If data already exists and is the right size then use&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;    c = num2cell([5 7]);&lt;br&gt;
&amp;gt;    [data.mean] = c{:};&lt;br&gt;
&lt;br&gt;
&amp;gt; Doug Schwarz&lt;br&gt;
&amp;gt; dmschwarz&amp;ieee,org&lt;br&gt;
&amp;gt; Make obvious changes to get real email address.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Is there a way to do this without the intermediate&lt;br&gt;
assignment to c? [data.mean]= (num2cell(stuff)){:}  would be&lt;br&gt;
great, but Matlab doesn't allow this...</description>
    </item>
    <item>
      <pubDate>Fri, 09 Nov 2007 20:35:26 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400602</link>
      <author>roberson@ibd.nrc-cnrc.gc.ca (Walter Roberson)</author>
      <description>In article &amp;lt;fh2ejt$nsv$1@fred.mathworks.com&amp;gt;,&lt;br&gt;
Lee Newman &amp;lt;newman.lee.nospam@comcast.net&amp;gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt; If data already exists and is the right size then use&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt;    c = num2cell([5 7]);&lt;br&gt;
&amp;gt;&amp;gt;    [data.mean] = c{:};&lt;br&gt;
&lt;br&gt;
&amp;gt;Is there a way to do this without the intermediate&lt;br&gt;
&amp;gt;assignment to c? [data.mean]= (num2cell(stuff)){:}  would be&lt;br&gt;
&amp;gt;great, but Matlab doesn't allow this...&lt;br&gt;
&lt;br&gt;
unfold = @(v) v{:};&lt;br&gt;
[data.mean] = unfold(num2cell([5 7]));&lt;br&gt;
-- &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Beware of bugs in the above code; I have only proved it correct,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;not tried it.&quot;                                    -- Donald Knuth</description>
    </item>
    <item>
      <pubDate>Fri, 09 Nov 2007 21:26:33 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400615</link>
      <author>Doug Schwarz</author>
      <description>In article &amp;lt;fh2eip$n96$1@fred.mathworks.com&amp;gt;,&lt;br&gt;
&amp;nbsp;&quot;Lee Newman&quot; &amp;lt;newman.lee.nospam@comcast.net&amp;gt; wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; &amp;gt; If data already exists and is the right size then use&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;    c = num2cell([5 7]);&lt;br&gt;
&amp;gt; &amp;gt;    [data.mean] = c{:};&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Doug Schwarz&lt;br&gt;
&amp;gt; &amp;gt; dmschwarz&amp;ieee,org&lt;br&gt;
&amp;gt; &amp;gt; Make obvious changes to get real email address.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Is there a way to do this without the intermediate&lt;br&gt;
&amp;gt; assignment to c? [data.mean]= (num2cell(stuff)){:}  would be&lt;br&gt;
&amp;gt; great, but Matlab doesn't allow this...&lt;br&gt;
&lt;br&gt;
Well, if data doesn't already exist you can do&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;data = struct('mean',num2cell([5 7]));&lt;br&gt;
&lt;br&gt;
Walter's method is fine if you can reuse unfold, but if you only have to &lt;br&gt;
do it once I don't see an advantage.&lt;br&gt;
&lt;br&gt;
-- &lt;br&gt;
Doug Schwarz&lt;br&gt;
dmschwarz&amp;ieee,org&lt;br&gt;
Make obvious changes to get real email address.</description>
    </item>
    <item>
      <pubDate>Sat, 10 Nov 2007 15:18:30 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400673</link>
      <author>per isakson</author>
      <description>David Bateman &amp;lt;dbateman@free.fr&amp;gt; wrote in message &amp;lt;46e466c2&lt;br&gt;
$0$7346$426a74cc@news.free.fr&amp;gt;...&lt;br&gt;
&amp;gt; First Last wrote:&lt;br&gt;
&amp;gt; &amp;gt; Hello, &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I have a variable 'data' that is a 1x2 structure array &lt;br&gt;
with&lt;br&gt;
&amp;gt; &amp;gt; the fields in which:&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; data.times are 5x1 vectors &lt;br&gt;
&amp;gt; &amp;gt; data.mean are numbers&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I can clearly access the data.mean and data.times &lt;br&gt;
values and&lt;br&gt;
&amp;gt; &amp;gt; manipulate them, but is there a way I can assign each &lt;br&gt;
one of&lt;br&gt;
&amp;gt; &amp;gt; the data.mean values in a vector, quickly, without a &lt;br&gt;
loop? &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; For instance, let's say I want &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; &amp;gt; data(2).mean = 7;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Is there a way to assign the vector [5 7] to data.mean?&lt;br&gt;
&amp;gt; &amp;gt; Obviously this example there is only a marginal&lt;br&gt;
&amp;gt; &amp;gt; computational penalty for doing this somewhat manually, &lt;br&gt;
but&lt;br&gt;
&amp;gt; &amp;gt; for larger arrays of structures, this could be a &lt;br&gt;
nightmare.&lt;br&gt;
&amp;gt; &amp;gt; I'm trying to vectorize this thing as much as possible.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Thanks in advance.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Maybe I'm missing something, but what is wrong with&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data = struct('mean', {5,7})&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; D.&lt;br&gt;
&lt;br&gt;
Nothing is wrong as far as I can tell - with R2007a&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; data = struct('mean', {5,7})&lt;br&gt;
data = &lt;br&gt;
1x2 struct array with fields:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mean&lt;br&gt;
&amp;gt;&amp;gt; data&lt;br&gt;
data = &lt;br&gt;
1x2 struct array with fields:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mean&lt;br&gt;
&amp;gt;&amp;gt; data.mean&lt;br&gt;
ans =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;br&gt;
ans =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;br&gt;
&lt;br&gt;
/ per</description>
    </item>
    <item>
      <pubDate>Sat, 10 Nov 2007 15:34:37 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400674</link>
      <author>Doug Schwarz</author>
      <description>In article &amp;lt;fh4i46$5i8$1@fred.mathworks.com&amp;gt;,&lt;br&gt;
&amp;nbsp;&quot;per isakson&quot; &amp;lt;poi.nospam@bimDOTkthDOT.se&amp;gt; wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; David Bateman &amp;lt;dbateman@free.fr&amp;gt; wrote in message &amp;lt;46e466c2&lt;br&gt;
&amp;gt; $0$7346$426a74cc@news.free.fr&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; First Last wrote:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Hello, &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I have a variable 'data' that is a 1x2 structure array &lt;br&gt;
&amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; the fields in which:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; data.times are 5x1 vectors &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; data.mean are numbers&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I can clearly access the data.mean and data.times &lt;br&gt;
&amp;gt; values and&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; manipulate them, but is there a way I can assign each &lt;br&gt;
&amp;gt; one of&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; the data.mean values in a vector, quickly, without a &lt;br&gt;
&amp;gt; loop? &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; For instance, let's say I want &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; data(2).mean = 7;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Is there a way to assign the vector [5 7] to data.mean?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Obviously this example there is only a marginal&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; computational penalty for doing this somewhat manually, &lt;br&gt;
&amp;gt; but&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; for larger arrays of structures, this could be a &lt;br&gt;
&amp;gt; nightmare.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I'm trying to vectorize this thing as much as possible.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Thanks in advance.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Maybe I'm missing something, but what is wrong with&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; data = struct('mean', {5,7})&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; D.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Nothing is wrong as far as I can tell - with R2007a&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; data = struct('mean', {5,7})&lt;br&gt;
&amp;gt; data = &lt;br&gt;
&amp;gt; 1x2 struct array with fields:&lt;br&gt;
&amp;gt;     mean&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; data&lt;br&gt;
&amp;gt; data = &lt;br&gt;
&amp;gt; 1x2 struct array with fields:&lt;br&gt;
&amp;gt;     mean&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; data.mean&lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt;      5&lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt;      7&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; / per&lt;br&gt;
&lt;br&gt;
The OP wanted to fill an existing field (mean) in a structure array with &lt;br&gt;
numbers from a vector.  The statement above will create a new structure, &lt;br&gt;
data, with only one field.  We don't know what the larger problem is and &lt;br&gt;
whether there might be a better way to go about it.&lt;br&gt;
&lt;br&gt;
-- &lt;br&gt;
Doug Schwarz&lt;br&gt;
dmschwarz&amp;ieee,org&lt;br&gt;
Make obvious changes to get real email address.</description>
    </item>
    <item>
      <pubDate>Sat, 10 Nov 2007 15:57:24 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#400677</link>
      <author>per isakson</author>
      <description>Doug Schwarz &amp;lt;see@sig.for.address.edu&amp;gt; wrote in message &lt;br&gt;
&amp;lt;see-904A4E.10343610112007@71-129-133-66.dollamir.com&amp;gt;...&lt;br&gt;
&amp;gt; In article &amp;lt;fh4i46$5i8$1@fred.mathworks.com&amp;gt;,&lt;br&gt;
&amp;gt;  &quot;per isakson&quot; &amp;lt;poi.nospam@bimDOTkthDOT.se&amp;gt; wrote:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; David Bateman &amp;lt;dbateman@free.fr&amp;gt; wrote in message &lt;br&gt;
&amp;lt;46e466c2&lt;br&gt;
&amp;gt; &amp;gt; $0$7346$426a74cc@news.free.fr&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; First Last wrote:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hello, &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I have a variable 'data' that is a 1x2 structure &lt;br&gt;
array &lt;br&gt;
&amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; the fields in which:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; data.times are 5x1 vectors &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; data.mean are numbers&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I can clearly access the data.mean and data.times &lt;br&gt;
&amp;gt; &amp;gt; values and&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; manipulate them, but is there a way I can assign &lt;br&gt;
each &lt;br&gt;
&amp;gt; &amp;gt; one of&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; the data.mean values in a vector, quickly, without &lt;br&gt;
a &lt;br&gt;
&amp;gt; &amp;gt; loop? &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; For instance, let's say I want &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; data(2).mean = 7;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Is there a way to assign the vector [5 7] to &lt;br&gt;
data.mean?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Obviously this example there is only a marginal&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; computational penalty for doing this somewhat &lt;br&gt;
manually, &lt;br&gt;
&amp;gt; &amp;gt; but&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; for larger arrays of structures, this could be a &lt;br&gt;
&amp;gt; &amp;gt; nightmare.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I'm trying to vectorize this thing as much as &lt;br&gt;
possible.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks in advance.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Maybe I'm missing something, but what is wrong with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; data = struct('mean', {5,7})&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Nothing is wrong as far as I can tell - with R2007a&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; data = struct('mean', {5,7})&lt;br&gt;
&amp;gt; &amp;gt; data = &lt;br&gt;
&amp;gt; &amp;gt; 1x2 struct array with fields:&lt;br&gt;
&amp;gt; &amp;gt;     mean&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; data&lt;br&gt;
&amp;gt; &amp;gt; data = &lt;br&gt;
&amp;gt; &amp;gt; 1x2 struct array with fields:&lt;br&gt;
&amp;gt; &amp;gt;     mean&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; data.mean&lt;br&gt;
&amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt;      5&lt;br&gt;
&amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt;      7&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; / per&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The OP wanted to fill an existing field (mean) in a &lt;br&gt;
structure array with &lt;br&gt;
&amp;gt; numbers from a vector.  The statement above will create a &lt;br&gt;
new structure, &lt;br&gt;
&amp;gt; data, with only one field.  We don't know what the larger &lt;br&gt;
problem is and &lt;br&gt;
&amp;gt; whether there might be a better way to go about it.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; -- &lt;br&gt;
&amp;gt; Doug Schwarz&lt;br&gt;
&amp;gt; dmschwarz&amp;ieee,org&lt;br&gt;
&amp;gt; Make obvious changes to get real email address.&lt;br&gt;
&lt;br&gt;
Right - I missed the real question. / per </description>
    </item>
    <item>
      <pubDate>Sat, 26 Dec 2009 13:35:04 -0500</pubDate>
      <title>Re: Vectorizing Assignment to array of structures?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/155844#704493</link>
      <author>chendur kumaran</author>
      <description>Here in  the previous example &lt;br&gt;
&amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; data(2).mean = 7;&lt;br&gt;
mean is a scalar number.&lt;br&gt;
&amp;nbsp;c = num2cell([5 7]);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[data.mean] = c{:}; will work&lt;br&gt;
&lt;br&gt;
&amp;nbsp;But If mean is a array of dimension( 5,1) and I have matrix ADD of dimension(5,2)  to be added to data(1).mean and data(2).mean how should &lt;br&gt;
I Vectoroize the code&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&quot;First Last&quot; &amp;lt;nospam@nospamplease.com&amp;gt; wrote in message &amp;lt;fc1m8v$b6r$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hello, &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have a variable 'data' that is a 1x2 structure array with&lt;br&gt;
&amp;gt; the fields in which:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data.times are 5x1 vectors &lt;br&gt;
&amp;gt; data.mean are numbers&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I can clearly access the data.mean and data.times values and&lt;br&gt;
&amp;gt; manipulate them, but is there a way I can assign each one of&lt;br&gt;
&amp;gt; the data.mean values in a vector, quickly, without a loop? &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; For instance, let's say I want &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; data(1).mean = 5;&lt;br&gt;
&amp;gt; data(2).mean = 7;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Is there a way to assign the vector [5 7] to data.mean?&lt;br&gt;
&amp;gt; Obviously this example there is only a marginal&lt;br&gt;
&amp;gt; computational penalty for doing this somewhat manually, but&lt;br&gt;
&amp;gt; for larger arrays of structures, this could be a nightmare.&lt;br&gt;
&amp;gt; I'm trying to vectorize this thing as much as possible.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanks in advance.&lt;br&gt;
&amp;gt; </description>
    </item>
  </channel>
</rss>

