Hi Steve,<br><br>Thanks for your help.<br>It's working now with:<br>.................<br>.................<br>for(i=1;i<=nyrs;i++)<br>  {<br>  if (i<=44)<br>  {<br>  F(i)=mfexp(log_fy(i))*mfexp(log_sel1);  <br>  }<br>
  else<br>  F(i)=mfexp(log_fy(i))*mfexp(log_sel2);  <br>  }<br>................<br>................<br><br>Thanks again.<br><br>Best,<br>Luis<br><div class="gmail_quote"><br>On Tue, Jan 4, 2011 at 1:37 PM, Steve Martell <span dir="ltr"><<a href="mailto:s.martell@fisheries.ubc.ca">s.martell@fisheries.ubc.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Based on the error message, it looks like your are trying to use the .sub command on a vector.  Is log_fy a vector?  Also, it looks like F is a matrix based on the error message, so F(1,44) is pointing to row 1 column 44.<br>

<br>
S.<br>
<div><div></div><div class="h5">On 2011-01-04, at 4:09 AM, Luis Ridao wrote:<br>
<br>
> ADMB-users,<br>
><br>
> I get an error when calculating F for two different selection periods:<br>
> The selection periods are from 1961 to 2004 (1:44) and from 2005 to 2009 (45:49)<br>
> ........<br>
>   F(1,44)=outer_prod(mfexp(log_fy.sub(1,44)),mfexp(log_sel1));      // LINE 156<br>
>   F(45,49)=outer_prod(mfexp(log_fy.sub(45,49)),mfexp(log_sel2));  // LINE 157<br>
> ........<br>
><br>
> The compiling fails:<br>
><br>
> sai6109_rm_pt_sr_2sel.cpp: In member function ‘void model_parameters::get_mortality_and_survivial_rates()’:<br>
> sai6109_rm_pt_sr_2sel.cpp:156: error: no match for ‘operator=’ in ‘((model_parameters*)this)->model_parameters::F.named_dvar_matrix::<anonymous>.dvar_matrix::operator()(1, 44) = outer_prod(const dvar_vector&, const dvar_vector&)(((const dvar_vector&)((const dvar_vector*)(& mfexp(const dvar_vector&)()))))’<br>

> /media/Data/ADMB/include/fvar.hpp:1695: note: candidates are: prevariable& prevariable::operator=(const prevariable&)<br>
> /media/Data/ADMB/include/fvar.hpp:1696: note:                 prevariable& prevariable::operator=(double)<br>
> sai6109_rm_pt_sr_2sel.cpp:157: error: no match for ‘operator=’ in ‘((model_parameters*)this)->model_parameters::F.named_dvar_matrix::<anonymous>.dvar_matrix::operator()(45, 49) = outer_prod(const dvar_vector&, const dvar_vector&)(((const dvar_vector&)((const dvar_vector*)(& mfexp(const dvar_vector&)()))))’<br>

> /media/Data/ADMB/include/fvar.hpp:1695: note: candidates are: prevariable& prevariable::operator=(const prevariable&)<br>
> /media/Data/ADMB/include/fvar.hpp:1696: note:                 prevariable& prevariable::operator=(double)<br>
><br>
> Thanks in advance<br>
</div></div>> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@admb-project.org">Users@admb-project.org</a><br>
> <a href="http://lists.admb-project.org/mailman/listinfo/users" target="_blank">http://lists.admb-project.org/mailman/listinfo/users</a><br>
<br>
</blockquote></div><br>