interp-tools


Nameinterp-tools JSON
Version 2.0.1 PyPI version JSON
download
home_pagehttps://github.com/antonianton228/interp-tools
SummaryInterpolation Tool for 1d 2d and 3d functions
upload_time2025-01-24 17:26:59
maintainerNone
docs_urlNone
authorMof1us
requires_python>=3.7
licenseNone
keywords interpolation 1d interpolation 2d interpolation 3d interpolation functions tools
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            use ```pip install interp-tools```

Python module for interpolating functions from one, two or three variables.

Examples of using the module:

Examle 1 for 1D interpolation
python: 
```import interp_tools
import numpy as np

function_dots = np.array([0, 1, 2, 3, 4, 5])

interpolator = interp_tools.Interp(
    function_dots, 1, np.array([1])
)

for i in range(8):
    print(f"x = {i / 5}, interp val = {interpolator.get_value(i / 5)}, real func val = {i / 5}")
```
```
# x = 0.0, interp val = 0.0, real func val = 0.0
# x = 0.2, interp val = 0.19999999999999998, real func val = 0.2
# x = 0.4, interp val = 0.39999999999999997, real func val = 0.4
# x = 0.6, interp val = 0.5999999999999999, real func val = 0.6
# x = 0.8, interp val = 0.7999999999999999, real func val = 0.8
# x = 1.0, interp val = 1.0, real func val = 1.0
# x = 1.2, interp val = 1.2, real func val = 1.2
# x = 1.4, interp val = 1.4, real func val = 1.4
```

Examle 2 for 1D interpolation
python:
```
import interp_tools
import numpy as np

function_dots = np.zeros(100)
for x in range(100):
    function_dots[x] = (x / 10) ** 2

interpolator = interp_tools.Interp(
    function_dots, 1, np.array([0.1])
)

for i in range(5):
    print(f"x = {i / 5}, interp val = {interpolator.get_value(i / 5)}, real func val = {((i / 5) ** 2) }")
```
```
# x = 0.0, interp val = 0.0, real func val = 0.0
# x = 0.2, interp val = 0.04000000000000001, real func val = 0.04000000000000001
# x = 0.4, interp val = 0.16000000000000003, real func val = 0.16000000000000003
# x = 0.6, interp val = 0.35999999999999993, real func val = 0.36
# x = 0.8, interp val = 0.6400000000000001, real func val = 0.6400000000000001
```


Example for 2D interpolation
python:
```
import interp_tools
import numpy as np

function_dots = np.zeros([100, 100])
for x in range(100):
    for y in range(100):
        function_dots[x, y] = x * y / 100

interpolator = interp_tools.Interp(
    function_dots, 2, np.array([0.1, 0.1])
)

for x in range(1, 4):
    for y in range(1, 4):
        print(f"x = {x / 5}, y = {y / 5}, interp val = {interpolator.get_value(x / 5, y / 5)}, real func val = {((x / 5) * (y / 5)) }")
```

```
#x = 0.2, y = 0.2, interp val = 0.04, real func val = 0.04000000000000001
# x = 0.2, y = 0.4, interp val = 0.08, real func val = 0.08000000000000002
# x = 0.2, y = 0.6, interp val = 0.11999999999999998, real func val = 0.12
# x = 0.4, y = 0.2, interp val = 0.08, real func val = 0.08000000000000002
# x = 0.4, y = 0.4, interp val = 0.16, real func val = 0.16000000000000003
# x = 0.4, y = 0.6, interp val = 0.23999999999999996, real func val = 0.24
# x = 0.6, y = 0.2, interp val = 0.11999999999999998, real func val = 0.12
# x = 0.6, y = 0.4, interp val = 0.23999999999999996, real func val = 0.24
# x = 0.6, y = 0.6, interp val = 0.34999999999999987, real func val = 0.36
```

Example of 3D interpolation
python:
import interp_tools
import numpy as np
```
function_dots = np.zeros([100, 100, 100])
for x in range(100):
    for y in range(100):
        for z in range(100):
            function_dots[x, y, z] = (x * y / 100 + z / 10)

interpolator = interp_tools.Interp(
    function_dots, 3, np.array([0.1, 0.1, 0.1])
)

for x in range(1, 4):
    for y in range(1, 4):
        for z in range(1, 4):
            print(f"x = {x / 5}, y = {y / 5}, z = {z / 5}, interp val = {interpolator.get_value(x / 5, y / 5, z / 5)}, real func val = {((x / 5) * (y / 5) + z / 5) }")
```


```
#x = 0.2, y = 0.2, z = 0.2, interp val = 0.24000000000000002, real func val = 0.24000000000000002
# x = 0.2, y = 0.2, z = 0.4, interp val = 0.44, real func val = 0.44000000000000006
# x = 0.2, y = 0.2, z = 0.6, interp val = 0.6399999999999999, real func val = 0.64
# x = 0.2, y = 0.4, z = 0.2, interp val = 0.28, real func val = 0.28
# x = 0.2, y = 0.4, z = 0.4, interp val = 0.48000000000000004, real func val = 0.48000000000000004
# x = 0.2, y = 0.4, z = 0.6, interp val = 0.6799999999999998, real func val = 0.6799999999999999
# x = 0.2, y = 0.6, z = 0.2, interp val = 0.32, real func val = 0.32
# x = 0.2, y = 0.6, z = 0.4, interp val = 0.52, real func val = 0.52
# x = 0.2, y = 0.6, z = 0.6, interp val = 0.7199999999999999, real func val = 0.72
# x = 0.4, y = 0.2, z = 0.2, interp val = 0.28, real func val = 0.28
# x = 0.4, y = 0.2, z = 0.4, interp val = 0.48000000000000004, real func val = 0.48000000000000004
# x = 0.4, y = 0.2, z = 0.6, interp val = 0.6799999999999998, real func val = 0.6799999999999999
# x = 0.4, y = 0.4, z = 0.2, interp val = 0.36, real func val = 0.36000000000000004
# x = 0.4, y = 0.4, z = 0.4, interp val = 0.56, real func val = 0.56
# x = 0.4, y = 0.4, z = 0.6, interp val = 0.7599999999999999, real func val = 0.76
# x = 0.4, y = 0.6, z = 0.2, interp val = 0.43999999999999995, real func val = 0.44
# x = 0.4, y = 0.6, z = 0.4, interp val = 0.64, real func val = 0.64
# x = 0.4, y = 0.6, z = 0.6, interp val = 0.84, real func val = 0.84
# x = 0.6, y = 0.2, z = 0.2, interp val = 0.32, real func val = 0.32
# x = 0.6, y = 0.2, z = 0.4, interp val = 0.52, real func val = 0.52
# x = 0.6, y = 0.2, z = 0.6, interp val = 0.7199999999999999, real func val = 0.72
# x = 0.6, y = 0.4, z = 0.2, interp val = 0.43999999999999995, real func val = 0.44
# x = 0.6, y = 0.4, z = 0.4, interp val = 0.64, real func val = 0.64
# x = 0.6, y = 0.4, z = 0.6, interp val = 0.84, real func val = 0.84
# x = 0.6, y = 0.6, z = 0.2, interp val = 0.5499999999999999, real func val = 0.56
# x = 0.6, y = 0.6, z = 0.4, interp val = 0.7499999999999998, real func val = 0.76
# x = 0.6, y = 0.6, z = 0.6, interp val = 0.95, real func val = 0.96
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/antonianton228/interp-tools",
    "name": "interp-tools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "interpolation, 1d interpolation, 2d interpolation, 3d interpolation, functions, tools",
    "author": "Mof1us",
    "author_email": "antoon.s.ivanov@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7f/3e/1ef012626a9ceb9e91ac049f084b8e8c05d632e77df836978b7d7e4a4442/interp_tools-2.0.1.tar.gz",
    "platform": null,
    "description": "use ```pip install interp-tools```\r\n\r\nPython module for interpolating functions from one, two or three variables.\r\n\r\nExamples of using the module:\r\n\r\nExamle 1 for 1D interpolation\r\npython: \r\n```import interp_tools\r\nimport numpy as np\r\n\r\nfunction_dots = np.array([0, 1, 2, 3, 4, 5])\r\n\r\ninterpolator = interp_tools.Interp(\r\n    function_dots, 1, np.array([1])\r\n)\r\n\r\nfor i in range(8):\r\n    print(f\"x = {i / 5}, interp val = {interpolator.get_value(i / 5)}, real func val = {i / 5}\")\r\n```\r\n```\r\n# x = 0.0, interp val = 0.0, real func val = 0.0\r\n# x = 0.2, interp val = 0.19999999999999998, real func val = 0.2\r\n# x = 0.4, interp val = 0.39999999999999997, real func val = 0.4\r\n# x = 0.6, interp val = 0.5999999999999999, real func val = 0.6\r\n# x = 0.8, interp val = 0.7999999999999999, real func val = 0.8\r\n# x = 1.0, interp val = 1.0, real func val = 1.0\r\n# x = 1.2, interp val = 1.2, real func val = 1.2\r\n# x = 1.4, interp val = 1.4, real func val = 1.4\r\n```\r\n\r\nExamle 2 for 1D interpolation\r\npython:\r\n```\r\nimport interp_tools\r\nimport numpy as np\r\n\r\nfunction_dots = np.zeros(100)\r\nfor x in range(100):\r\n    function_dots[x] = (x / 10) ** 2\r\n\r\ninterpolator = interp_tools.Interp(\r\n    function_dots, 1, np.array([0.1])\r\n)\r\n\r\nfor i in range(5):\r\n    print(f\"x = {i / 5}, interp val = {interpolator.get_value(i / 5)}, real func val = {((i / 5) ** 2) }\")\r\n```\r\n```\r\n# x = 0.0, interp val = 0.0, real func val = 0.0\r\n# x = 0.2, interp val = 0.04000000000000001, real func val = 0.04000000000000001\r\n# x = 0.4, interp val = 0.16000000000000003, real func val = 0.16000000000000003\r\n# x = 0.6, interp val = 0.35999999999999993, real func val = 0.36\r\n# x = 0.8, interp val = 0.6400000000000001, real func val = 0.6400000000000001\r\n```\r\n\r\n\r\nExample for 2D interpolation\r\npython:\r\n```\r\nimport interp_tools\r\nimport numpy as np\r\n\r\nfunction_dots = np.zeros([100, 100])\r\nfor x in range(100):\r\n    for y in range(100):\r\n        function_dots[x, y] = x * y / 100\r\n\r\ninterpolator = interp_tools.Interp(\r\n    function_dots, 2, np.array([0.1, 0.1])\r\n)\r\n\r\nfor x in range(1, 4):\r\n    for y in range(1, 4):\r\n        print(f\"x = {x / 5}, y = {y / 5}, interp val = {interpolator.get_value(x / 5, y / 5)}, real func val = {((x / 5) * (y / 5)) }\")\r\n```\r\n\r\n```\r\n#x = 0.2, y = 0.2, interp val = 0.04, real func val = 0.04000000000000001\r\n# x = 0.2, y = 0.4, interp val = 0.08, real func val = 0.08000000000000002\r\n# x = 0.2, y = 0.6, interp val = 0.11999999999999998, real func val = 0.12\r\n# x = 0.4, y = 0.2, interp val = 0.08, real func val = 0.08000000000000002\r\n# x = 0.4, y = 0.4, interp val = 0.16, real func val = 0.16000000000000003\r\n# x = 0.4, y = 0.6, interp val = 0.23999999999999996, real func val = 0.24\r\n# x = 0.6, y = 0.2, interp val = 0.11999999999999998, real func val = 0.12\r\n# x = 0.6, y = 0.4, interp val = 0.23999999999999996, real func val = 0.24\r\n# x = 0.6, y = 0.6, interp val = 0.34999999999999987, real func val = 0.36\r\n```\r\n\r\nExample of 3D interpolation\r\npython:\r\nimport interp_tools\r\nimport numpy as np\r\n```\r\nfunction_dots = np.zeros([100, 100, 100])\r\nfor x in range(100):\r\n    for y in range(100):\r\n        for z in range(100):\r\n            function_dots[x, y, z] = (x * y / 100 + z / 10)\r\n\r\ninterpolator = interp_tools.Interp(\r\n    function_dots, 3, np.array([0.1, 0.1, 0.1])\r\n)\r\n\r\nfor x in range(1, 4):\r\n    for y in range(1, 4):\r\n        for z in range(1, 4):\r\n            print(f\"x = {x / 5}, y = {y / 5}, z = {z / 5}, interp val = {interpolator.get_value(x / 5, y / 5, z / 5)}, real func val = {((x / 5) * (y / 5) + z / 5) }\")\r\n```\r\n\r\n\r\n```\r\n#x = 0.2, y = 0.2, z = 0.2, interp val = 0.24000000000000002, real func val = 0.24000000000000002\r\n# x = 0.2, y = 0.2, z = 0.4, interp val = 0.44, real func val = 0.44000000000000006\r\n# x = 0.2, y = 0.2, z = 0.6, interp val = 0.6399999999999999, real func val = 0.64\r\n# x = 0.2, y = 0.4, z = 0.2, interp val = 0.28, real func val = 0.28\r\n# x = 0.2, y = 0.4, z = 0.4, interp val = 0.48000000000000004, real func val = 0.48000000000000004\r\n# x = 0.2, y = 0.4, z = 0.6, interp val = 0.6799999999999998, real func val = 0.6799999999999999\r\n# x = 0.2, y = 0.6, z = 0.2, interp val = 0.32, real func val = 0.32\r\n# x = 0.2, y = 0.6, z = 0.4, interp val = 0.52, real func val = 0.52\r\n# x = 0.2, y = 0.6, z = 0.6, interp val = 0.7199999999999999, real func val = 0.72\r\n# x = 0.4, y = 0.2, z = 0.2, interp val = 0.28, real func val = 0.28\r\n# x = 0.4, y = 0.2, z = 0.4, interp val = 0.48000000000000004, real func val = 0.48000000000000004\r\n# x = 0.4, y = 0.2, z = 0.6, interp val = 0.6799999999999998, real func val = 0.6799999999999999\r\n# x = 0.4, y = 0.4, z = 0.2, interp val = 0.36, real func val = 0.36000000000000004\r\n# x = 0.4, y = 0.4, z = 0.4, interp val = 0.56, real func val = 0.56\r\n# x = 0.4, y = 0.4, z = 0.6, interp val = 0.7599999999999999, real func val = 0.76\r\n# x = 0.4, y = 0.6, z = 0.2, interp val = 0.43999999999999995, real func val = 0.44\r\n# x = 0.4, y = 0.6, z = 0.4, interp val = 0.64, real func val = 0.64\r\n# x = 0.4, y = 0.6, z = 0.6, interp val = 0.84, real func val = 0.84\r\n# x = 0.6, y = 0.2, z = 0.2, interp val = 0.32, real func val = 0.32\r\n# x = 0.6, y = 0.2, z = 0.4, interp val = 0.52, real func val = 0.52\r\n# x = 0.6, y = 0.2, z = 0.6, interp val = 0.7199999999999999, real func val = 0.72\r\n# x = 0.6, y = 0.4, z = 0.2, interp val = 0.43999999999999995, real func val = 0.44\r\n# x = 0.6, y = 0.4, z = 0.4, interp val = 0.64, real func val = 0.64\r\n# x = 0.6, y = 0.4, z = 0.6, interp val = 0.84, real func val = 0.84\r\n# x = 0.6, y = 0.6, z = 0.2, interp val = 0.5499999999999999, real func val = 0.56\r\n# x = 0.6, y = 0.6, z = 0.4, interp val = 0.7499999999999998, real func val = 0.76\r\n# x = 0.6, y = 0.6, z = 0.6, interp val = 0.95, real func val = 0.96\r\n```\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Interpolation Tool for 1d 2d and 3d functions",
    "version": "2.0.1",
    "project_urls": {
        "Homepage": "https://github.com/antonianton228/interp-tools"
    },
    "split_keywords": [
        "interpolation",
        " 1d interpolation",
        " 2d interpolation",
        " 3d interpolation",
        " functions",
        " tools"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aee0242c16209cae88806215f20d48e88b412cb4a66375989bae6b564084eeef",
                "md5": "67453b37f6ab4a58800cc2f25fe72504",
                "sha256": "02974b405321f6f86015548056d0d8bd9c21ef87ebaf2740284ffe092d44fb4b"
            },
            "downloads": -1,
            "filename": "interp_tools-2.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "67453b37f6ab4a58800cc2f25fe72504",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 4769,
            "upload_time": "2025-01-24T17:26:58",
            "upload_time_iso_8601": "2025-01-24T17:26:58.623949Z",
            "url": "https://files.pythonhosted.org/packages/ae/e0/242c16209cae88806215f20d48e88b412cb4a66375989bae6b564084eeef/interp_tools-2.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f3e1ef012626a9ceb9e91ac049f084b8e8c05d632e77df836978b7d7e4a4442",
                "md5": "4f195a1ec55b7e4b0e3151b0312961ae",
                "sha256": "e8086363f5392abd27549ea02325386e2b55a4743fa79e7454d22aed9346e35d"
            },
            "downloads": -1,
            "filename": "interp_tools-2.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "4f195a1ec55b7e4b0e3151b0312961ae",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 4536,
            "upload_time": "2025-01-24T17:26:59",
            "upload_time_iso_8601": "2025-01-24T17:26:59.692070Z",
            "url": "https://files.pythonhosted.org/packages/7f/3e/1ef012626a9ceb9e91ac049f084b8e8c05d632e77df836978b7d7e4a4442/interp_tools-2.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-24 17:26:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "antonianton228",
    "github_project": "interp-tools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "interp-tools"
}
        
Elapsed time: 0.77753s