4
$\begingroup$

I have an interval $[0; 100]$ and would like to map it to this new interval: $[100;350]$.

I thought about multiplying it by $3.5$, but that would give the interval $[0;350]$. And adding to each of these elements $100$ would give: $[100;450]$. Hence my question: is it possible to do what I want?

Note that I can settle for the interval $[0;350]$ : in my program, it will be enough if I exclude the numbers present in the interval $[0;99]$.

$\endgroup$
1
  • 9
    $\begingroup$ how about multiplying by 2.5 instead? $\endgroup$ Oct 13, 2018 at 8:41

5 Answers 5

19
$\begingroup$

The ratio of the lengths of the intervals is $2.5 :1,$ the position of the left extremity is shifted by $100.$ So take the mapping $$f(x)=2.5x+100.$$

$\endgroup$
14
$\begingroup$

To map from $[a,b]$ to $[c, d]$,

Consider the straight line that connects $(a,c)$ to $(b,d)$.

We have the slope $m = \frac{d-c}{b-a},$ we are able to recover $m$.

$$y=mx+C$$

To recover $C$, just substitute one of the value say $(a,c)$ and solve for $C$. For our example, we have $a=0$ and $c=100$.

Hence your transformation can be of the form of $y=mx+100$. Can you compute the $m$ to find what you want?

$\endgroup$
11
$\begingroup$

Since $100\cdot t^0=100$ for any positive $t$, we find $t$ such that $100\cdot t^{100}=350\implies t=3.5^{0.01}$. $$\boxed{y=100\cdot3.5^{0.01x}}$$ In general an exponential mapping from $[a,b]$ to $[c,d]$ is $y=c\left(\frac dc\right)^{\frac{x-a}{b-a}}$.

$\endgroup$
5
  • 2
    $\begingroup$ Way too complicated; a simple affine transformation works. $\endgroup$
    – saulspatz
    Oct 13, 2018 at 15:21
  • 4
    $\begingroup$ @saulspatz I know, since the linear transformation has already been said three times. I just wanted to give the next best approach. $\endgroup$ Oct 13, 2018 at 15:22
  • 1
    $\begingroup$ But why the downvote? $\endgroup$ Oct 13, 2018 at 15:27
  • 2
    $\begingroup$ I don't think the answer contributes anything positive to the discussion. $\endgroup$
    – saulspatz
    Oct 13, 2018 at 15:29
  • 8
    $\begingroup$ @saulspatz My answer is an answer to the question: 'Is it possible to transform an interval into another?' What the OP specifically wanted has already been discussed many times, and I do not see any harm in adding an alternative method to perform such a transformation. $\endgroup$ Oct 13, 2018 at 15:31
7
$\begingroup$

You can consider $x\mapsto ax + b\colon [0,100]\to [100,350]$ such that $0\mapsto 100$ and $100\mapsto 350$.

Thus, $$a \cdot 0 + b = 100,\\ a\cdot 100 + b = 350,$$ and solving it gives $a = \frac 52$, $b = 100$.

In general, the same technique works for intervals $[x_1,x_2]$ and $[y_1,y_2]$:

$$ax_1 + b = y_1\\ ax_2 + b = y_2.$$

Solving it gives $a = \frac{y_2 - y_1}{x_2 -x_1}$ and $b = y_1 - ax_1$. All in all, it's a line $$y - y_1 = \frac{y_2-y_1}{x_2-x_1}(x-x_1).$$ Looks familiar?

$\endgroup$
7
$\begingroup$

Another method that’s a bit more general and will come in handy if you want to map arbitrary curves is to parameterize your paths. That is, find a one-to-one mapping from your first path to $[0,1]$, $(0,1]$, or so on as appropriate. Then find a one-to-one mapping from $[0,1]$ to your second path. (The interval $[0,1]$ isn’t special, just convenient.) Finally, compose them.

Let’s say you want to map $x^2$ over the interval $[0,4]$ to $\sin x$ over the interval $[0,2\pi]$. A one-to-one mapping from the parabola to the line segment, $t: [0,4] \to [0,1]$, is $t = \sqrt{x}/2$, and a mapping from $t \in [0,1]$ to a sine wave over $[0,2\pi]$ is $\sin {2\pi t}$. Substituting, we get $\sin {\left( \pi \sqrt{x}\right)}$.

Edit: Just saw a great illustration of the mapping between the normal and log-normal distributions.

Normal and log-normal distributions

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .