[CentralOH] State The Problem Simply

jep200404 at columbus.rr.com jep200404 at columbus.rr.com
Sun Dec 8 23:06:01 CET 2013


State your problem simply.

On Sun, 8 Dec 2013 16:10:09 -0500, Louis Bogdan <looiebwv at gmail.com> wrote:

> I see that there are some questions about my explanation of what I'm trying
> to do.  Would it clarify things if my explanation read as follows:
> num(-1) denotes right-hand most digit of num in index position notation
> num(-2) denotes the 3rd position digit of num in index position notation.

I understand your notation. 
All the talk about picking out digits and doing things depending 
on which digit has which value is an awkward way of stating your 
problem.

> I don't know how to say it in computer language, ... 

So say it in engunearing English. 

The following is an example of how to simply state a problem. 

    I have stepper motors with a given resolution. 

    For a given absolute position and stepper motor resolution, 
    I want to calculate the number of absolute 
    steps that is closest to the given absolute position. 

    How would I do that in Python? 

The above is just an example of how to state a problem simply. 
The problem stated above is different that your problem. 

State your problem so simply. 

I could have made the statement complicated by mentioning a 
particular resolution and what to do based on which digit has 
which value. That would just obscure the problem. 

































































A solution to the above problem might be something like: 

def foo(d, steps_per_unit):
    '''Returns number of stepper motor steps
    closest to given distance d,
    for stepper motor step resolution steps_per_unit.

    Unit in steps_per_unit must be same as unit of d.'''

    return int(round(d * steps_per_unit))

MOTOR_STEP_RATE = 2000  #  Unit is 1 step/inch.

foo(1.23456, MOTOR_STEP_RATE)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

A solution to the another problem might be something like: 

def goo(d, steps_per_unit):
    '''Returns closest distance to d that a 
    steps_per_unit stepper motor can achieve. 

    Unit in steps_per_unit must be same as unit of d.'''
    return round(d * steps_per_unit) / steps_per_unit

MOTOR_STEP_RATE = 2000  #  Unit is 1 step/inch.

goo(1.23456, MOTOR_STEP_RATE)



More information about the CentralOH mailing list