[Scilab-users] Loop query
Lester Anderson
arctica1963 at gmail.com
Mon Aug 16 14:12:07 CEST 2021
This is the simplest option, based on primes(35):
[p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11]=seq([1:$]);
Extract values based on the indices in the seq list.
On Mon, 16 Aug 2021 at 10:49, Lester Anderson <arctica1963 at gmail.com> wrote:
> Hi Samuel,
>
> Further to your method, is there a way to vectorise the list output based
> on the indices?
>
> One can access the elements as seq(1), seq(5) etc. I did look at
> list2vec(seq), but as documented this creates a single column vector.
>
> Thanks
>
> Lester
>
> On Sun, 15 Aug 2021 at 14:55, Samuel Gougeon <sgougeon at free.fr> wrote:
>
>> Le 15/08/2021 à 11:28, Lester Anderson a écrit :
>>
>> Hello Samuel,
>>
>> The size of ns (number of steps) and seq (sequence of values) are
>> variable depending on the integer input, and this seems to be one issue.
>>
>> For this reason, seq must be a list, leading to
>>
>> function [ns, seq] = collatz(p)
>> seq = p
>> while %T
>> if pmodulo(p, 2)
>> p = p*3+1
>> else
>> p = p/2
>> end
>> seq = [seq p]
>> if p==1
>> ns = length(seq)
>> break
>> end
>> endendfunction
>> prime = primes(20);[ns, seq] = ([], list());
>> for i = 1:length(prime)
>> [ns(i), seq(i)] = collatz(prime(i));end
>> --> ns'
>> ans =
>>
>> 2. 8. 6. 17. 15. 10. 13. 21.
>>
>> --> seq
>> seq =
>>
>> (1) = [2,1]
>> (2) = [3,10,5,16,8,4,2,1]
>> (3) = [5,16,8,4,2,1]
>> (4) = [7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
>> (5) = [11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
>> (6) = [13,40,20,10,5,16,8,4,2,1]
>> (7) = [17,52,26,13,40,20,10,5,16,8,4,2,1]
>> (8) = [19,58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
>>
>>
>> Samuel
>>
>>
>> _______________________________________________
>> users mailing list
>> users at lists.scilab.org
>> http://lists.scilab.org/mailman/listinfo/users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20210816/a4439ea4/attachment.htm>
More information about the users
mailing list