# xkfuzzy
A simple Python library for fuzzy membership calculations.
## Installation
```bash
pip install -e .
```
## Usage
The library provides a single function `calculate_membership` that can compute fuzzy membership values using different membership functions.
### Basic Usage
```python
import xkfuzzy
# Triangular membership function
membership_value = xkfuzzy.calculate_membership(
value=5,
membership_type="triangular",
a=0, b=5, c=10
)
print(membership_value) # Output: 1.0
```
### Supported Membership Functions
#### 1. Triangular Membership
```python
# Parameters: a, b, c (where a < b < c)
membership = xkfuzzy.calculate_membership(
value=3,
membership_type="triangular",
a=0, b=5, c=10
)
```
#### 2. Trapezoidal Membership
```python
# Parameters: a, b, c, d (where a < b < c < d)
membership = xkfuzzy.calculate_membership(
value=3,
membership_type="trapezoidal",
a=0, b=2, c=8, d=10
)
```
#### 3. Gaussian Membership
```python
# Parameters: center, sigma
membership = xkfuzzy.calculate_membership(
value=2,
membership_type="gaussian",
center=0, sigma=1
)
```
#### 4. Bell-shaped Membership
```python
# Parameters: a (width), b (slope), c (center)
membership = xkfuzzy.calculate_membership(
value=1,
membership_type="bell",
a=1, b=2, c=0
)
```
### Working with Arrays
The function also supports numpy arrays:
```python
import numpy as np
import xkfuzzy
values = np.array([0, 2, 5, 8, 10])
memberships = xkfuzzy.calculate_membership(
value=values,
membership_type="triangular",
a=0, b=5, c=10
)
print(memberships) # Output: [0.0, 0.4, 1.0, 0.4, 0.0]
```
## Function Signature
```python
calculate_membership(value, membership_type="triangular", **params)
```
**Parameters:**
- `value`: Input value(s) for which to calculate membership (float or array-like)
- `membership_type`: Type of membership function ("triangular", "trapezoidal", "gaussian", "bell")
- `**params`: Parameters specific to the membership function type
**Returns:**
- Membership value(s) between 0 and 1
## Requirements
- Python 3.7+
- NumPy 1.19.0+
## License
MIT License
Raw data
{
"_id": null,
"home_page": "https://github.com/xkfuzzy/xkfuzzy",
"name": "xkfuzzy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "fuzzy, membership, logic, mathematics, ai",
"author": "xkfuzzy",
"author_email": "muhfajarags <muhfajarags@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/e3/df/d71e3d5ebb511c4c4b7b49585f43915eefb405a2781bbd10f7137316a36c/xkfuzzy-0.1.0.tar.gz",
"platform": null,
"description": "# xkfuzzy\r\n\r\nA simple Python library for fuzzy membership calculations.\r\n\r\n## Installation\r\n\r\n```bash\r\npip install -e .\r\n```\r\n\r\n## Usage\r\n\r\nThe library provides a single function `calculate_membership` that can compute fuzzy membership values using different membership functions.\r\n\r\n### Basic Usage\r\n\r\n```python\r\nimport xkfuzzy\r\n\r\n# Triangular membership function\r\nmembership_value = xkfuzzy.calculate_membership(\r\n value=5, \r\n membership_type=\"triangular\", \r\n a=0, b=5, c=10\r\n)\r\nprint(membership_value) # Output: 1.0\r\n```\r\n\r\n### Supported Membership Functions\r\n\r\n#### 1. Triangular Membership\r\n```python\r\n# Parameters: a, b, c (where a < b < c)\r\nmembership = xkfuzzy.calculate_membership(\r\n value=3, \r\n membership_type=\"triangular\", \r\n a=0, b=5, c=10\r\n)\r\n```\r\n\r\n#### 2. Trapezoidal Membership\r\n```python\r\n# Parameters: a, b, c, d (where a < b < c < d)\r\nmembership = xkfuzzy.calculate_membership(\r\n value=3, \r\n membership_type=\"trapezoidal\", \r\n a=0, b=2, c=8, d=10\r\n)\r\n```\r\n\r\n#### 3. Gaussian Membership\r\n```python\r\n# Parameters: center, sigma\r\nmembership = xkfuzzy.calculate_membership(\r\n value=2, \r\n membership_type=\"gaussian\", \r\n center=0, sigma=1\r\n)\r\n```\r\n\r\n#### 4. Bell-shaped Membership\r\n```python\r\n# Parameters: a (width), b (slope), c (center)\r\nmembership = xkfuzzy.calculate_membership(\r\n value=1, \r\n membership_type=\"bell\", \r\n a=1, b=2, c=0\r\n)\r\n```\r\n\r\n### Working with Arrays\r\n\r\nThe function also supports numpy arrays:\r\n\r\n```python\r\nimport numpy as np\r\nimport xkfuzzy\r\n\r\nvalues = np.array([0, 2, 5, 8, 10])\r\nmemberships = xkfuzzy.calculate_membership(\r\n value=values, \r\n membership_type=\"triangular\", \r\n a=0, b=5, c=10\r\n)\r\nprint(memberships) # Output: [0.0, 0.4, 1.0, 0.4, 0.0]\r\n```\r\n\r\n## Function Signature\r\n\r\n```python\r\ncalculate_membership(value, membership_type=\"triangular\", **params)\r\n```\r\n\r\n**Parameters:**\r\n- `value`: Input value(s) for which to calculate membership (float or array-like)\r\n- `membership_type`: Type of membership function (\"triangular\", \"trapezoidal\", \"gaussian\", \"bell\")\r\n- `**params`: Parameters specific to the membership function type\r\n\r\n**Returns:**\r\n- Membership value(s) between 0 and 1\r\n\r\n## Requirements\r\n\r\n- Python 3.7+\r\n- NumPy 1.19.0+\r\n\r\n## License\r\n\r\nMIT License\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python library for fuzzy membership calculations",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/xkfuzzy/xkfuzzy",
"Issues": "https://github.com/xkfuzzy/xkfuzzy/issues",
"Repository": "https://github.com/xkfuzzy/xkfuzzy"
},
"split_keywords": [
"fuzzy",
" membership",
" logic",
" mathematics",
" ai"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ab2880a7eaa4b1de0b13190c808322e1e5b39835db083f7956f20fa84cbf1fb4",
"md5": "27cb1e64edec63ade7bad81a5a9ca84e",
"sha256": "380bf708030cd580835c22b7c8de05443ece4f9798291abf4d3fe9e4373baf5b"
},
"downloads": -1,
"filename": "xkfuzzy-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "27cb1e64edec63ade7bad81a5a9ca84e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4436,
"upload_time": "2025-10-20T02:44:02",
"upload_time_iso_8601": "2025-10-20T02:44:02.940274Z",
"url": "https://files.pythonhosted.org/packages/ab/28/80a7eaa4b1de0b13190c808322e1e5b39835db083f7956f20fa84cbf1fb4/xkfuzzy-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e3dfd71e3d5ebb511c4c4b7b49585f43915eefb405a2781bbd10f7137316a36c",
"md5": "f719e3c08f5f9aed966e2ce955ffcc89",
"sha256": "e673fe6233d60e7044782be728a91270011bb8856c70bf2dda81387766640900"
},
"downloads": -1,
"filename": "xkfuzzy-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "f719e3c08f5f9aed966e2ce955ffcc89",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 5018,
"upload_time": "2025-10-20T02:44:04",
"upload_time_iso_8601": "2025-10-20T02:44:04.142725Z",
"url": "https://files.pythonhosted.org/packages/e3/df/d71e3d5ebb511c4c4b7b49585f43915eefb405a2781bbd10f7137316a36c/xkfuzzy-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-20 02:44:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "xkfuzzy",
"github_project": "xkfuzzy",
"github_not_found": true,
"lcname": "xkfuzzy"
}