Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: List manipulation question - 2013
Replies: 5   Last Post: Feb 1, 2013 1:15 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Lea Rebanks

Posts: 5
Registered: 12/26/11
Re: List manipulation question - 2013
Posted: Jan 31, 2013 8:45 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply


Hi Bob,

Many thanks for your excellent reply.
Your coding for lists 1,2,3 is exactly what I want.
And your statement - "Apparently you want list2 to consist of the members
of list1 that are
integer multiples of 24 rather than the integers in list1/24." is correct.

But I tried changing the input values from the example given
>From 24 + (15*n1) to 24 + (13*n1) .....15 to 13
>From 12 + (3*n2) to 12 + (7*n2) .....3 to 7

This immediately caused me error messages, some of which I was able to
correct by expanding the list range of the Take function.
But I was unable to calculate the last part for list3 :-

list1 = Table[24 + (13*n1), {n1, 2000}];
list2 = Take[Select[list1, IntegerQ[#/24] &], 40];
list3 = n2 /.
Solve[{12 + (7*n2) == #, Element[n2, Integers]}, n2][[1]] & /@
list2

Hopefully the result should look something like :-
{1272, 3456, 5640, 7824, 10008, 12192}
These values above being the first & then following repetitions thereafter
of equal points of repetitions of n1 & n2 in list2 & list3 respectively.

Please could you rewrite the enclosed code so that :-
(i) The above new values work & provide a similar result to that which I
have shown.
(ii) Also, if possible, allow in the rewrite the flexibility within the
function to accept much larger & challenging input values for list1 & 2.
This would include a domain allowance relative to the size of input values
as in this case its values are 13 & 7, but they could be integer values of
127 & 56 for list1 & list3 respectively.
(Note higher value first.) Actually I will probably want to use much much
higher values later.
Ideally I am only looking for about 6 elements in the final answer list
like - {1272, 3456, 5640, 7824, 10008, 12192}

Many thanks for your help & attention.
Really appreciated.
Best regards,
Lea...



On Thu, Jan 31, 2013 at 11:05 AM, Bob Hanlon <hanlonr357@gmail.com> wrote:

> list1 = Table[24 + (15*n1), {n1, 2000}];
>
> Take[Select[list1/24, IntegerQ], 9]
>
> {6, 11, 16, 21, 26, 31, 36, 41, 46}
>
> Take[Select[list1, IntegerQ[#/24] &], 9]
>
> {144, 264, 384, 504, 624, 744, 864, 984, 1104}
>
> Apparently you want list2 to consist of the members of list1 that are
> integer multiples of 24 rather than the integers in list1/24.
>
> list2 = Select[list1, IntegerQ[#/24] &];
>
> list3 = n2 /. Solve[
> {12 + (3*n2) == #, Element[n2, Integers]},
> n2][[1]] & /@ list2;
>
> Length[list2] == Length[list3]
>
> True
>
>
> Bob Hanlon
>
> Consequently, there is an integer n2 for every element of list2.
>
> On Wed, Jan 30, 2013 at 4:26 AM, Lea Rebanks <lrebanks@gmail.com> wrote:

> >
> > Dear All,
> >
> > I have the follow problem with the combination of a few lists.
> > I shall outline the problem or what I am trying to do.
> > I know that to solve this problem requires a number of processes, but I

> am
> > not sure how to setup the coding to achieve my desired result.
> > Please could someone show me the coding for this problem.
> >
> > The problem:-
> > 1 - I have a list1 created from 24+(15*n1) All n1 are integers
> > 1,2,3,4.....to a large number of integers.
> > 2 - I want to divide the list1 by 24 and create another list2 with only

> the
> > integer results in list2.
> > Table[24 + 15*i, {i, 100}]/24 ... so that integer results in

> list2
> > = { 144, 264, 384, 504, 624, 744, 864, 984, 1104 }
> > 3 - I have another list3 created from 12+(3*n2) All n2 are integers
> > 1,2,3,4.....to a large number of integers.
> > 4 - With list3 I want to find :-
> > (i) The integer number of n2 that either equates 12+(3*n2) = 144 or
> > the next FIRST available number in list2 that meets this equality.
> > then also (ii)The integer number(s) of n2 that equates 12+(3*n2) =

> 24+(15*n1) after the first equal value for say 6 repetitions.
> > then also (iii)The integer number(s) of n1 that equates 12+(3*n2) =
> > 24+(15*n1) after the first equal value for say 6 repetitions.
> >
> > The above example is quite simple, but I am hoping to setup the coding to
> > work with other integer values instead of 3 & 15 which will present more

> of
> > a challenge.
> >
> > Any help or advice greatly appreciated.
> > Best regards,
> > Lea...
> >
> >

>
>




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.