<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p dir="ltr">Hi Samuel,</p>
<p dir="ltr">Thanks for shedding light about these less well documented yet advanced features of the Scilab language.</p>
<p dir="ltr">Best regards</p>
<p dir="ltr"><u>Rafael</u><br>
</p>
<p dir="ltr">Sent by <a href="http://taps.io/outlookmobile">Outlook</a> for Android</p>
<p dir="ltr">From: Samuel Gougeon<br>
Sent: Tuesday 14 July 13:22<br>
Subject: Re: [Scilab-users] How to assign column data to mlist?<br>
To: International users mailing list for Scilab.</p>
<p dir="ltr">Le 13/07/2015 23:53, Rafael Guera a écrit : </p>
<p dir="ltr"><font color="#000000">Samuel,</font></p>
<p dir="ltr"><font color="#000000"> </font></p>
<p dir="ltr"><font color="#000000">Thanks for the detailed explanation.</font></p>
<p dir="ltr"><font color="#000000"> </font></p>
<p dir="ltr"><font color="#000000">Not sure of what M(i) should mean in a situation where the matrices have different sizes:</font></p>
<p dir="ltr"><font color="#000000"> </font></p>
<p dir="ltr"><font color="#000000">data1</font><font color="#5c5c5c">=</font><font color="#000000">
</font><font color="#32b9b9">ones</font><font color="#4a55db">(</font>10,4<font color="#4a55db">)</font>;</p>
<p dir="ltr"><font color="#000000">data2</font><font color="#5c5c5c">=</font><font color="#000000">
</font><font color="#32b9b9">zeros</font><font color="#4a55db">(</font>5,3<font color="#4a55db">)</font>;<font color="#000000">
</font></p>
<p dir="ltr"><font color="#000000">M</font><font color="#000000"> </font><font color="#5c5c5c">=</font><font color="#000000">
</font><font color="#32b9b9">mlist</font><font color="#4a55db">([</font>'V',<font color="#000000">
</font>'field1',<font color="#000000"> </font>'field2'<font color="#4a55db">])</font>;</p>
<p dir="ltr"><font color="#000000">M</font><font color="#5c5c5c">.</font><font color="#aaaaaa">field1</font><font color="#000000">
</font><font color="#5c5c5c">=</font><font color="#000000"> </font>data1;</p>
<p dir="ltr"><font color="#000000">M</font><font color="#5c5c5c">.</font><font color="#aaaaaa">field2</font><font color="#000000">
</font><font color="#5c5c5c">=</font><font color="#000000"> </font>data2;</p>
<p dir="ltr"><font color="#32b9b9"> </font></p>
<p dir="ltr"><font color="#000000">or when the mlist fields are N-dimensional with different dimensions and/or sizes.</font></p>
<p dir="ltr"><font color="#32b9b9"> </font></p>
<p dir="ltr"><font color="#000000">PS:</font></p>
<p dir="ltr"><font color="#000000">why not defining  M(i) = M.field#i ?</font></p>
<p dir="ltr">Do you mean the ith field?<br>
Why not. But mlists are designed to be array-oriented, as cells and structures are:<br>
>From help mlist:<br>
" mlist object is very similar to tlist object. The only difference concerns the extraction and<br>
 insertion syntax: if M is an mlist, for any index i which is not a field name, M(i) is no more the<br>
 i-th field of the list."</p>
<p dir="ltr"><font color="#000000">If you wish (i) selecting a field, how will you select a component of the M array?</font></p>
<p dir="ltr"><font color="#000000">I mean, using i to select a field puts two way for the same purpose (selecting a field, either by its name, or by its index), and removes a way to select a component from the array.</font></p>
<p dir="ltr">What you wish looks like a simple tlist, with index just shifted by one to ignore the identification vector:
<br>
-->t = tlist(["test" "r" "b" "p"], %pi, %f, %z) <br>
 t  = <br>
       t(1) <br>
!test  r  b  p  ! <br>
       t(2) <br>
    3.1415927  <br>
       t(3) <br>
  F  <br>
       t(4) <br>
    z   </p>
<p dir="ltr">-->t(3) <br>
 ans  = <br>
  F  </p>
<p dir="ltr">-->t.b <br>
 ans  = <br>
  F  </p>
<p dir="ltr">Samuel </p>
<br>
<br>
<br>
<div class="gmail_quote">On Tue, Jul 14, 2015 at 3:22 AM -0700, "Samuel Gougeon" <span dir="ltr">
<<a href="mailto:sgougeon@free.fr" target="_blank">sgougeon@free.fr</a>></span> wrote:<br>
<br>
</div>
<div style="background-color:#FFFFFF">
<div class="x_moz-cite-prefix">Le 13/07/2015 23:53, Rafael Guera a écrit :<br>
</div>
<blockquote type="cite"><style>
<!--
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black}
span.x_MsoHyperlink
        {color:#0563C1;
        text-decoration:underline}
span.x_MsoHyperlinkFollowed
        {color:#954F72;
        text-decoration:underline}
p.x_MsoPlainText, li.x_MsoPlainText, div.x_MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black}
span.x_PlainTextChar
        {font-family:"Calibri",sans-serif}
span.x_EmailStyle19
        {font-family:"Calibri",sans-serif;
        color:black;
        font-weight:normal;
        font-style:normal;
        text-decoration:none;
        text-decoration:none}
span.x_SpellE
        {}
.x_MsoChpDefault
        {font-size:10.0pt}
div.x_WordSection1
        {}
-->
</style>
<div class="x_WordSection1">
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">Samuel,</span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black"> </span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">Thanks for the detailed explanation.</span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black"> </span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">Not sure of what M(<span class="x_SpellE">i</span>) should mean in a situation where the matrices have different sizes:</span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black"> </span></font></p>
<p class="x_MsoNormal" style=""><font size="2" face="Monospaced" color="black"><span style="">data1</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">=</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="#32b9b9"><span style="">ones</span></font><font size="2" face="Monospaced" color="#4a55db"><span style="">(</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">10</span></font><font size="2" face="Monospaced"><span style="">,</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">4</span></font><font size="2" face="Monospaced" color="#4a55db"><span style="">)</span></font><font size="2" face="Monospaced"><span style="">;</span></font><font size="2" face="Monospaced" color="black"><span style=""></span></font></p>
<p class="x_MsoNormal" style=""><font size="2" face="Monospaced" color="black"><span style="">data2</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">=</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="#32b9b9"><span style="">zeros</span></font><font size="2" face="Monospaced" color="#4a55db"><span style="">(</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">5</span></font><font size="2" face="Monospaced"><span style="">,</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">3</span></font><font size="2" face="Monospaced" color="#4a55db"><span style="">)</span></font><font size="2" face="Monospaced"><span style="">;</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font></p>
<p class="x_MsoNormal" style=""><font size="2" face="Monospaced" color="black"><span style="">M</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">=</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><span class="x_SpellE"><font size="2" face="Monospaced" color="#32b9b9"><span style="">mlist</span></font></span><font size="2" face="Monospaced" color="#4a55db"><span style="">([</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">'V'</span></font><font size="2" face="Monospaced"><span style="">,</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">'field1'</span></font><font size="2" face="Monospaced"><span style="">,</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="rosybrown"><span style="">'field2'</span></font><font size="2" face="Monospaced" color="#4a55db"><span style="">])</span></font><font size="2" face="Monospaced"><span style="">;</span></font><font size="2" face="Monospaced" color="black"><span style=""></span></font></p>
<p class="x_MsoNormal" style=""><font size="2" face="Monospaced" color="black"><span style="">M</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">.</span></font><font size="2" face="Monospaced" color="#aaaaaa"><span style="">field1</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">=</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced"><span style="">data1;</span></font><font size="2" face="Monospaced" color="black"><span style=""></span></font></p>
<p class="x_MsoNormal" style=""><font size="2" face="Monospaced" color="black"><span style="">M</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">.</span></font><font size="2" face="Monospaced" color="#aaaaaa"><span style="">field2</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced" color="#5c5c5c"><span style="">=</span></font><font size="2" face="Monospaced" color="black"><span style="">
</span></font><font size="2" face="Monospaced"><span style="">data2;</span></font><font size="2" face="Monospaced" color="black"><span style=""></span></font></p>
<p class="x_MsoNormal"><font size="2" face="Monospaced" color="#32b9b9"><span style=""> </span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">or when the
<span class="x_SpellE">mlist</span> fields are N-dimensional with different dimensions and/or sizes.</span></font><font size="2" face="Monospaced" color="#32b9b9"><span style=""></span></font></p>
<p class="x_MsoNormal"><font size="2" face="Monospaced" color="#32b9b9"><span style=""> </span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">PS:</span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">why not defining
<span style=""> </span>M(<span class="x_SpellE">i</span>) = <span class="x_SpellE">
M.field#i</span> ?</span></font></p>
</div>
</blockquote>
<font size="2"><font face="Calibri">Do you mean the ith field?<br>
Why not. But mlists are designed to be array-oriented, as cells and structures are:<br>
>From help mlist:<br>
" mlist object is very similar to tlist object. The only difference concerns the extraction and<br>
 insertion syntax: if M is an mlist, for any index i which is not a field name, M(i) is no more the<br>
 i-th field of the list."<br>
</font></font>
<div class="x_WordSection1">
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">If you wish (i) selecting a field, how will you select a component of the M array?</span></font></p>
<p class="x_MsoNormal"><font size="2" face="Calibri" color="black"><span style="font-size:11.0pt; color:black">I mean, using i to select a field puts two way for the same purpose (selecting a field, either by its name, or by its index), and removes a way to
 select a component from the array.</span></font><br>
</p>
</div>
<br>
What you wish looks like a simple tlist, with index just shifted by one to ignore the identification vector:<br>
<tt>-->t = tlist(["test" "r" "b" "p"], %pi, %f, %z)</tt><tt><br>
</tt><tt> t  =</tt><tt><br>
</tt><tt>       t(1)</tt><tt><br>
</tt><tt>!test  r  b  p  !</tt><tt><br>
</tt><tt>       t(2)</tt><tt><br>
</tt><tt>    3.1415927  </tt><tt><br>
</tt><tt>       t(3)</tt><tt><br>
</tt><tt>  F  </tt><tt><br>
</tt><tt>       t(4)</tt><tt><br>
</tt><tt>    z   </tt><tt><br>
</tt><tt><br>
</tt><tt>-->t(3)</tt><tt><br>
</tt><tt> ans  =</tt><tt><br>
</tt><tt>  F  <br>
<br>
</tt><tt></tt><tt>-->t.b</tt><tt><br>
</tt><tt> ans  =</tt><tt><br>
</tt><tt>  F  </tt><tt><br>
</tt><br>
Samuel<br>
<br>
</div>
</body>
</html>