<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/243263</link>
    <title>MATLAB Central Newsreader - Function without loop</title>
    <description>Feed for thread: Function without loop</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>Wed, 28 Jan 2009 06:42:12 -0500</pubDate>
      <title>Function without loop</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/243263#624453</link>
      <author>fas</author>
      <description>I have written my objective function. However I have to run a loop. I&lt;br&gt;
am wondering if I can write it without a loop. Here X is a 3x1000&lt;br&gt;
matrix and Y is a scalar. In each loop it takes X(3,1) and create one&lt;br&gt;
equation.&lt;br&gt;
&lt;br&gt;
function f = objfun(x,X,Y)&lt;br&gt;
&lt;br&gt;
for i=1:1000&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f=(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
end&lt;br&gt;
f=norm(f);</description>
    </item>
    <item>
      <pubDate>Wed, 28 Jan 2009 09:22:01 -0500</pubDate>
      <title>Re: Function without loop</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/243263#624465</link>
      <author>Jos </author>
      <description>fas &amp;lt;faisalmufti@gmail.com&amp;gt; wrote in message &amp;lt;3e334842-e716-484b-bba8-8aca2de0b028@a12g2000pro.googlegroups.com&amp;gt;...&lt;br&gt;
&amp;gt; I have written my objective function. However I have to run a loop. I&lt;br&gt;
&amp;gt; am wondering if I can write it without a loop. Here X is a 3x1000&lt;br&gt;
&amp;gt; matrix and Y is a scalar. In each loop it takes X(3,1) and create one&lt;br&gt;
&amp;gt; equation.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; function f = objfun(x,X,Y)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; for i=1:1000&lt;br&gt;
&amp;gt;     f=(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; f=norm(f);&lt;br&gt;
&lt;br&gt;
All this doesn't make any sense. &lt;br&gt;
If Y is really a scalar the loop will error for i=2, when refering to Y(2) ?&lt;br&gt;
What do you mean &quot;In each loop it takes X(3,1) ...&quot; ?&lt;br&gt;
f is continuously overwritten, so &quot;f = X(:,1000) * X(:,1000)' * ...&quot; would do as well.&lt;br&gt;
What is x?&lt;br&gt;
&lt;br&gt;
So, please restate your problem and code.&lt;br&gt;
&lt;br&gt;
Jos</description>
    </item>
    <item>
      <pubDate>Wed, 28 Jan 2009 11:13:38 -0500</pubDate>
      <title>Re: Function without loop</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/243263#624487</link>
      <author>Nitin</author>
      <description>On Jan 28, 11:42 am, fas &amp;lt;faisalmu...@gmail.com&amp;gt; wrote:&lt;br&gt;
&amp;gt; I have written my objective function. However I have to run a loop. I&lt;br&gt;
&amp;gt; am wondering if I can write it without a loop. Here X is a 3x1000&lt;br&gt;
&amp;gt; matrix and Y is a scalar. In each loop it takes X(3,1) and create one&lt;br&gt;
&amp;gt; equation.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; function f = objfun(x,X,Y)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; for i=1:1000&lt;br&gt;
&amp;gt;     f=(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; f=norm(f);&lt;br&gt;
&lt;br&gt;
did you mean that Y is a &quot;vector&quot;? and, it takes &quot;x(3,1)&quot; in each&lt;br&gt;
loop?&lt;br&gt;
&lt;br&gt;
shouldn't your equation look like:&lt;br&gt;
f(i)=(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Nitin&lt;br&gt;
--&lt;br&gt;
nitin@idearesearch.in&lt;br&gt;
www.idearesearch.in</description>
    </item>
    <item>
      <pubDate>Thu, 29 Jan 2009 00:47:15 -0500</pubDate>
      <title>Re: Function without loop</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/243263#624650</link>
      <author>fas</author>
      <description>On Jan 28, 10:13=A0pm, Nitin &amp;lt;nitin.k.gu...@gmail.com&amp;gt; wrote:&lt;br&gt;
&amp;gt; On Jan 28, 11:42 am, fas &amp;lt;faisalmu...@gmail.com&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; I have written my objective function. However I have to run a loop. I&lt;br&gt;
&amp;gt; &amp;gt; am wondering if I can write it without a loop. Here X is a 3x1000&lt;br&gt;
&amp;gt; &amp;gt; matrix and Y is a scalar. In each loop it takes X(3,1) and create one&lt;br&gt;
&amp;gt; &amp;gt; equation.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; function f =3D objfun(x,X,Y)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; for i=3D1:1000&lt;br&gt;
&amp;gt; &amp;gt; =A0 =A0 f=3D(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
&amp;gt; &amp;gt; end&lt;br&gt;
&amp;gt; &amp;gt; f=3Dnorm(f);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; did you mean that Y is a &quot;vector&quot;? and, it takes &quot;x(3,1)&quot; in each&lt;br&gt;
&amp;gt; loop?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; shouldn't your equation look like:&lt;br&gt;
&amp;gt; f(i)=3D(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Nitin&lt;br&gt;
&amp;gt; --&lt;br&gt;
&amp;gt; ni...@idearesearch.inwww.idearesearch.in&lt;br&gt;
&lt;br&gt;
Sorry I made a mistake it should have been like that&lt;br&gt;
f(:,i)=3D(X(:,i)*X(:,i)')*[x(1),x(2),x(3)]'-Y(i)*X(:,i);&lt;br&gt;
&lt;br&gt;
and Y is a 1000x1 vector</description>
    </item>
    <item>
      <pubDate>Thu, 29 Jan 2009 05:12:01 -0500</pubDate>
      <title>Re: Function without loop</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/243263#624670</link>
      <author>Matt Fig</author>
      <description>Simply pre-allocating f before the loop cuts run time in half.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
)zf;5okdzdozpic\\`\zp^t\`hhojcjgz@z&quot;`jTkc&quot;]z^qz\`b\gj\j]Hji</description>
    </item>
  </channel>
</rss>

