summaryrefslogtreecommitdiff
path: root/help/en_US/scilab_en_US_help/lsqnonneg.html
blob: 40139a0b39322bb166143cd164000d6ffd2af134 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>lsqnonneg</title>
    <style type="text/css" media="all">
      @import url("scilab_code.css");
      @import url("xml_code.css");
      @import url("c_code.css");
      @import url("style.css");
    </style>
  </head>
  <body>
    <div class="manualnavbar">
    <table width="100%"><tr>
      <td width="30%">
    	<span class="previous"><a href="lsqlin.html">&lt;&lt; lsqlin</a></span>

      </td>
      <td width="40%" class="center">
      	<span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">Symphony Toolbox</a></span>

      </td>
      <td width="30%" class="next">
      	<span class="next"><a href="qpipopt.html">qpipopt &gt;&gt;</a></span>

      </td>
    </tr></table>
      <hr />
    </div>



    <span class="path"><a href="index.html">Symphony Toolbox</a> &gt;&gt; <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">Symphony Toolbox</a> &gt; lsqnonneg</span>

    <br /><br />
    <div class="refnamediv"><h1 class="refname">lsqnonneg</h1>
    <p class="refpurpose">Solves nonnegative least-squares curve fitting problems.</p></div>


<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
   <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqnonneg</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">)</span>
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqnonneg</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">param</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">resnorm</span><span class="default">,</span><span class="default">residual</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">] = </span><span class="functionid">lsqnonneg</span><span class="default">( ... )</span></pre></div></div>

<div class="refsection"><h3 class="title">Parameters</h3>
   <dl><dt><span class="term">C :</span>
      <dd><p class="para">a matrix of doubles, represents the multiplier of the solution x in the expression C*x - d. C is M-by-N, where M is the number of equations, and N is the number of elements of x.</p></dd></dt>
   <dt><span class="term">d :</span>
      <dd><p class="para">a vector of doubles, represents the additive constant term in the expression C*x - d. d is M-by-1, where M is the number of equations.</p></dd></dt>
   <dt><span class="term">xopt :</span>
      <dd><p class="para">a vector of doubles, the computed solution of the optimization problem.</p></dd></dt>
   <dt><span class="term">resnorm :</span>
      <dd><p class="para">a double, objective value returned as the scalar value norm(C*x-d)^2.</p></dd></dt>
   <dt><span class="term">residual :</span>
      <dd><p class="para">a vector of doubles, solution residuals returned as the vector C*x-d.</p></dd></dt>
   <dt><span class="term">exitflag :</span>
      <dd><p class="para">Integer identifying the reason the algorithm terminated.</p></dd></dt>
   <dt><span class="term">output :</span>
      <dd><p class="para">Structure containing information about the optimization. Right now it contains number of iteration.</p></dd></dt>
   <dt><span class="term">lambda :</span>
      <dd><p class="para">Structure containing the Lagrange multipliers at the solution x (separated by constraint type).It contains lower, upper and linear equality, inequality constraints.</p></dd></dt></dl></div>

<div class="refsection"><h3 class="title">Description</h3>
   <p class="para">Solves nonnegative least-squares curve fitting problems specified by :</p>
   <p class="para"><span><img src='./_LaTeX_lsqnonneg.xml_1.png' style='position:relative;top:19px;width:197px;height:46px'/></span></p>
   <p class="para">We are calling IPOpt for solving the nonnegative least-squares curve fitting problems, IPOpt is a library written in C++.</p>
   <p class="para"></p></div>

<div class="refsection"><h3 class="title">Examples</h3>
   <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// A basic lsqnonneg problem</span>
<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span>
<span class="scilabnumber">0.0372</span>    <span class="scilabnumber">0.2869</span>
<span class="scilabnumber">0.6861</span>    <span class="scilabnumber">0.7071</span>
<span class="scilabnumber">0.6233</span>    <span class="scilabnumber">0.6245</span>
<span class="scilabnumber">0.6344</span>    <span class="scilabnumber">0.6170</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span>
<span class="scilabnumber">0.8587</span>
<span class="scilabnumber">0.1781</span>
<span class="scilabnumber">0.0747</span>
<span class="scilabnumber">0.8405</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonneg</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>

<div class="refsection"><h3 class="title">Authors</h3>
   <ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
    <br />

    <div class="manualnavbar">
    <table width="100%">
    <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
<tr>
      <td width="30%">
    	<span class="previous"><a href="lsqlin.html">&lt;&lt; lsqlin</a></span>

      </td>
      <td width="40%" class="center">
      	<span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">Symphony Toolbox</a></span>

      </td>
      <td width="30%" class="next">
      	<span class="next"><a href="qpipopt.html">qpipopt &gt;&gt;</a></span>

      </td>
    </tr></table>
      <hr />
    </div>
  </body>
</html>