Конвертер Користувацьких Одиниць
Користувацькі Одиниці: Моделювання, Формули та Найкращі Практики
Визначте власні одиниці вимірювання, прив'язані до 'Базової Одиниці' або іншої користувацької одиниці. Моделюйте лінійні коефіцієнти або повні вирази та організовуйте узгоджені сімейства для вашого проєкту чи домену.
Фундаментальні Поняття
Моделювання на Основі Посилань
Ваше посилання — це інша користувацька одиниця або 'Базова Одиниця'.
Вираз для перетворення відображає вхідні значення у простір одиниці посилання (система навмисно не залежить від одиниць).
- Безпека РозмірностіВибираючи посилання, ви неявно пов'язуєте користувацьку одиницю з цим сімейством. Зберігайте сімейства узгодженими (наприклад, пов'язані одиниці, що посилаються на ту саму базу).
- КомпозиційністьЗмініть посилання пізніше, не перейменовуючи одиницю — потрібно лише налаштувати вираз.
- Можливість АудитуКожна одиниця має єдине, чітке визначення: посилання + вираз.
Коефіцієнт проти Виразу
Прості одиниці використовують постійний коефіцієнт (наприклад, 1 foo = 0.3048 × База).
Розширені одиниці можуть використовувати вирази з функціями (наприклад, 10 * log(x / 1e-3)).
- Постійні КоефіцієнтиНайкраще підходять для фіксованих лінійних залежностей (шкали довжини, співвідношення площ тощо).
- ВиразиВикористовуйте математичні функції для похідних або нелінійних шкал (співвідношення, логарифми, степені).
- КонстантиВбудовані константи, такі як PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
Найменування, Символи та Узгодженість
Вибирайте короткі, однозначні символи. Уникайте конфліктів з існуючими стандартами.
Документуйте намір у вашій організації — що вона вимірює та чому існує.
- ЯсністьНадавайте перевагу стислим символам (рекомендовано 1–4 символи; інтерфейс дозволяє до 6).
- СтабільністьРозглядайте символи як стабільні ідентифікатори в наборах даних та API.
- СтильВикористовуйте регістр, подібний до SI, де це доцільно (наприклад, 'foo', 'kFoo', 'mFoo').
- Користувацька одиниця = одиниця посилання + вираз для перетворення.
- Посилання закріплює розмірність; вираз визначає відображення значень.
- Надавайте перевагу постійним коефіцієнтам для лінійних шкал; використовуйте вирази для особливих випадків.
Мова Формул
Вирази підтримують числа, змінну x (вхідне значення), значення псевдоніма, константи (PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN), арифметичні оператори та поширені математичні функції. Вирази обчислюються до значення у вибраній одиниці посилання.
Оператори
| Оператор | Значення | Приклад |
|---|---|---|
| + | Додавання | x + 2 |
| - | Віднімання/Унарний Мінус | x - 5, -x |
| * | Множення | 2 * x |
| / | Ділення | x / 3 |
| ** | Піднесення до степеня (використовуйте **; ^ автоматично конвертується) | x ** 2 |
| () | Пріоритет | (x + 1) * 2 |
Функції
| Функція | Сигнатура | Приклад |
|---|---|---|
| sqrt | sqrt(x) | sqrt(x^2 + 1) |
| cbrt | cbrt(x) | cbrt(x) |
| pow | pow(a, b) | pow(0.3048, 2) |
| abs | abs(x) | abs(x) |
| min | min(a, b) | min(x, 100) |
| max | max(a, b) | max(x, 0) |
| round | round(x) | round(x * 1000) / 1000 |
| trunc | trunc(x) | trunc(x) |
| floor | floor(x) | floor(x) |
| ceil | ceil(x) | ceil(x) |
| sin | sin(x) | sin(PI/6) |
| cos | cos(x) | cos(PI/3) |
| tan | tan(x) | tan(PI/8) |
| asin | asin(x) | asin(0.5) |
| acos | acos(x) | acos(0.5) |
| atan | atan(x) | atan(1) |
| atan2 | atan2(y, x) | atan2(1, x) |
| sinh | sinh(x) | sinh(1) |
| cosh | cosh(x) | cosh(1) |
| tanh | tanh(x) | tanh(1) |
| ln | ln(x) | ln(x) |
| log | log(x) | log(100) |
| log2 | log2(x) | log2(8) |
| exp | exp(x) | exp(1) |
| degrees | degrees(x) | degrees(PI/2) |
| radians | radians(x) | radians(180) |
| percent | percent(value, total) | percent(25, 100) |
| factorial | factorial(n) | factorial(5) |
| gcd | gcd(a, b) | gcd(12, 8) |
| lcm | lcm(a, b) | lcm(12, 8) |
| clamp | clamp(value, min, max) | clamp(x, 0, 100) |
| sign | sign(x) | sign(-5) |
| nthRoot | nthRoot(value, n) | nthRoot(8, 3) |
Правила Виразів
- x — це вхідне значення; значення псевдоніма також доступне.
- Використовуйте явне множення (наприклад, 2 * PI, а не 2PI).
- Доступні константи: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Кути для тригонометричних функцій вказуються в радіанах (використовуйте допоміжні функції degrees() та radians() для перетворення).
- Посилання на інші користувацькі одиниці за назвою (snake_case) або символом; їхні поточні значення toBase вставляються як константи.
- Використовуйте ** для піднесення до степеня (система автоматично конвертує ^ в **).
- Розумна нормалізація вводу: ×, ÷, π, ², ³ автоматично конвертуються в *, /, PI, ^2, ^3.
- Доступні допоміжні функції: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot().
- Покращене виявлення помилок запобігає поширеним помилкам (логарифм від'ємних чисел, квадратний корінь з від'ємних чисел, ділення на нуль).
- Посилання на користувацькі одиниці: Використовуйте інші одиниці як змінні у виразах (наприклад, 'x * A', де A — інша користувацька одиниця).
- Пробіли ігноруються; використовуйте дужки для контролю пріоритету.
- Вирази повинні давати скінченний числовий результат для дійсних вхідних даних.
- Використовуйте явне множення (наприклад, 2 * PI).
- Кути для тригонометричних функцій вказуються в радіанах.
- log(x) — це логарифм за основою 10; ln(x) — натуральний логарифм (за основою e).
Розмірний Аналіз та Стратегії
Ця користувацька система не залежить від одиниць. Моделюйте сімейства, прив'язуючи пов'язані одиниці до однієї 'Базової Одиниці' (або спільного посилання). Зберігайте узгодженість значень у всьому сімействі, яке ви розробляєте.
Стратегії Моделювання
| Стратегія | Коли Використовувати | Примітки |
|---|---|---|
| Прямий Коефіцієнт | Лінійні залежності (наприклад, 1 foo = k × База). | Використовуйте постійне число (без x). Стабільно та точно. |
| Степеневе Масштабування | Похідні від базової шкали (k^2, k^3). | Використовуйте pow(k, n), де k — базова шкала. |
| Співвідношення або Нормалізація | Одиниці, визначені відносно еталонного рівня (наприклад, x / ref). | Корисно для індексних вимірювань; тримайте ref явним у виразі. |
| Логарифмічна Шкала | Перцептивні шкали або шкали співвідношення потужності (наприклад, у стилі дБ 10 * log(x/ref)). | Переконайтеся, що домен є додатним; документуйте еталонне значення. |
| Афінне Відображення | Рідкісні випадки зі зсувами (a * x + b). | Зсуви змінюють нульові точки — застосовуйте лише тоді, коли це концептуально виправдано. |
Редактор та Валідація
Створюйте одиниці з назвою, символом (до 6 символів), кольоровою міткою, посиланням (Базова Одиниця або інша користувацька одиниця) та коефіцієнтом/виразом. Редактор перевіряє формули в режимі реального часу з покращеним виявленням помилок та запобігає циклічним посиланням.
- Варіанти посилань включають 'Базову Одиницю' та існуючі користувацькі одиниці. Небезпечні варіанти, які могли б створити цикли, автоматично відфільтровуються.
- Змінні: використовуйте x (або value) для вхідного значення. Посилайтеся на інші користувацькі одиниці за назвою snake_case або за символом; їхні поточні значення toBase вставляються як константи.
- Підтримувані константи: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Основні функції: sqrt, cbrt, pow, abs, min, max, round, trunc, floor, ceil, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, ln, log, log2, exp.
- Допоміжні функції: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot() для покращеного користувацького досвіду.
- Оператори: +, -, *, /, ** для степеня. Розумна нормалізація вводу: ×, ÷, π, ², ³ автоматично конвертуються.
- Валідація в реальному часі з попереднім переглядом (наприклад, 10 x → результат), класифікація складності (проста/середня/складна) та контекстно-залежні пропозиції.
- Покращене виявлення помилок виявляє поширені помилки: логарифми недодатних чисел, квадратні корені з від'ємних чисел, ділення на нуль.
- Розширене виявлення циклів запобігає залежності одиниць від самих себе (прямо чи опосередковано) з чіткими повідомленнями про помилки.
- Інтерактивна панель допомоги з категоризованими прикладами, фрагментами формул, які можна натискати, та кнопками користувацьких одиниць для легкого вставлення.
Найкращі Практики
- Якщо можливо, надавайте перевагу постійному коефіцієнту; вирази використовуйте лише за необхідності.
- Вибирайте одиницю посилання, яка є стабільною, широко зрозумілою та малоймовірно, що зміниться.
- Уникайте циклічних ланцюжків посилань; тримайте графи ациклічними.
- Додавайте зразкові значення та перевіряйте їх за допомогою незалежних калькуляторів або відомих тотожностей.
- Зберігайте символи короткими, унікальними та задокументованими для вашої організації.
- Якщо використовуєте логарифми, записуйте еталонне значення, основу та передбачуваний домен для x.
- Протестуйте з 3–5 репрезентативними значеннями та перевірте двосторонні перетворення.
- Уникайте циклічних посилань; вибирайте стабільну одиницю посилання.
- Документуйте припущення (домени, зсуви, типові діапазони).
Стартові Шаблони та Приклади
Ці приклади ілюструють поширені шаблони моделювання в цій системі, що працює лише з користувацькими одиницями. Замініть константи та посилання відповідно до ваших потреб.
| Назва | Формула | Посилання | Примітки |
|---|---|---|---|
| Одиниця, Масштабована від Бази (foo) | 0.3048 | Базова Одиниця | Визначає 1 foo = 0.3048 × База (простий лінійний коефіцієнт). |
| Степеневе Масштабування (foo²) | pow(0.3048, 2) | Базова Одиниця | Похідна від базової шкали (k^2). |
| Об'ємне Масштабування (foo³) | pow(0.3048, 3) | Базова Одиниця | Похідна від базової шкали (k^3). |
| Індекс з Посилання | x / 42 | Базова Одиниця | Нормалізація за фіксованим рівнем (домен x > 0). |
| Співвідношення Потужності (стиль дБ) | 10 * log(x / 0.001) | Базова Одиниця | Логарифмічне вимірювання відносно 1 мВт (приклад). Переконайтеся, що x > 0. |
| Геометричний Коефіцієнт | 2 * PI * 0.5 | Базова Одиниця | Приклад констант та множення. |
| Посилання на Іншу Користувацьку Одиницю | A * 2 | Користувацька Одиниця A | Використовуйте символ/назву іншої одиниці як константу у виразах. |
| Складний Зв'язок між Одиницями | sqrt(x^2 + base_length^2) | Базова Одиниця | Піфагорійський зв'язок з використанням користувацької одиниці 'base_length' як константи. |
| Масштабована Одиниця зі Зсувом | x * scale_factor + offset_unit | Базова Одиниця | Лінійне перетворення з використанням двох інших користувацьких одиниць як констант. |
| Відсоток від Одиниці Посилання | percent(x, reference_value) | Базова Одиниця | Виразіть вхідне значення у відсотках від іншої користувацької одиниці за допомогою допоміжної функції. |
| Обмежений Діапазон Одиниць | clamp(x * multiplier, min_unit, max_unit) | Базова Одиниця | Обмежте значення між двома константами користувацьких одиниць за допомогою допоміжної функції clamp. |
| Співвідношення Одиниць з GCD | x / gcd(x, common_divisor) | Базова Одиниця | Математичний зв'язок з використанням допоміжної функції GCD з константою користувацької одиниці. |
| Ланцюг Кутових Перетворень | degrees(x * PI / reference_angle) | Користувацька Кутова Одиниця | Перетворення в градуси з використанням користувацької кутової одиниці та допоміжної функції degrees(). |
Управління та Співпраця
- Ведіть каталог затверджених користувацьких одиниць з власниками та датами перегляду.
- Використовуйте версіонування при еволюції визначень; уникайте руйнівних змін у символах.
- Записуйте походження констант та посилань (стандарти, література, внутрішні документи).
- Автоматизуйте тести валідації (перевірка діапазонів, зразкові перетворення, монотонність).
Часті Запитання
Чи варто мені використовувати постійний коефіцієнт чи вираз?
Надавайте перевагу постійному коефіцієнту, коли залежність є лінійною та фіксованою. Використовуйте вирази лише тоді, коли відображення залежить від x або вимагає функцій (степені, логарифми, тригонометричні).
Як мені вибрати одиницю посилання?
Вибирайте стабільну, широко зрозумілу одиницю, яка відображає розмірність, яку ви маєте намір (наприклад, метр для довжини, м² для площі). Посилання закріплює розмірне значення.
Кути вказуються в градусах чи радіанах?
В радіанах. Перетворюйте градуси, множачи на PI/180 перед використанням тригонометричних функцій.
Чи можу я ланцюжком пов'язувати користувацькі одиниці?
Так, але уникайте циклів. Тримайте граф ациклічним і документуйте ланцюжок для збереження ясності.
Повний Довідник Інструментів
Усі 71 інструменти, доступні на UNITS