Персонализиран Конвертор на Мерни Единици
Персонализирани Единици: Моделиране, Формули и Най-добри Практики
Дефинирайте свои собствени мерни единици, обвързани с 'Базова Единица' или друга персонализирана единица. Моделирайте линейни фактори или цели изрази и организирайте последователни семейства за вашия проект или домейн.
Основни Понятия
Моделиране, Базирано на Референция
Вашата референция е друга персонализирана единица или 'Базова Единица'.
Изразът за преобразуване картографира входните стойности в пространството на референтната единица (системата е умишлено агностична към единиците).
- Безопасност на РазмеритеИзбирайки референция, вие имплицитно обвързвате персонализирана единица с това семейство. Поддържайте семействата последователни (напр. свързани единици, които се отнасят към една и съща база).
- КомпонуемостПроменете референцията по-късно, без да преименувате единицата — само изразът се нуждае от корекция.
- ПроверимостВсяка единица има една, ясна дефиниция: референция + израз.
Фактор срещу Израз
Простите единици използват постоянен фактор (напр. 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 изрично в израза. |
| Логаритмична Скала | Скали за възприятие или съотношение на мощност (напр. в стил dB 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). |
| Съотношение на мощност (в стил dB) | 10 * log(x / 0.001) | Базова Единица | Логаритмична мярка спрямо 1 mW (пример). Уверете се, че 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. |
| Съотношение на Единици с НОД | x / gcd(x, common_divisor) | Базова Единица | Математическа зависимост, използваща помощната функция GCD с константа на персонализирана единица. |
| Верига за Ъглово Преобразуване | degrees(x * PI / reference_angle) | Персонализирана Ъглова Единица | Преобразувайте в градуси, използвайки персонализирана ъглова единица и помощната функция degrees(). |
Управление и Сътрудничество
- Поддържайте каталог на одобрените персонализирани единици със собственици и дати за преглед.
- Използвайте версии, когато дефинициите се развиват; избягвайте промени, които нарушават съвместимостта на символите.
- Записвайте произхода на константите и референциите (стандарти, литература, вътрешни документи).
- Автоматизирайте тестовете за валидация (проверки на диапазон, примерни преобразувания, монотонност).
ЧЗВ
Трябва ли да използвам постоянен фактор или израз?
Предпочитайте постоянен фактор, когато зависимостта е линейна и фиксирана. Използвайте изрази само когато картографирането зависи от x или изисква функции (степени, логаритми, тригонометрични).
Как да избера референтна единица?
Изберете стабилна, широко разбираема единица, която улавя измерението, което възнамерявате (напр. метър за дължина, м² за площ). Референцията закрепва дименсионалния смисъл.
Ъглите в градуси ли са или в радиани?
В радиани. Преобразувайте градусите, като ги умножите по PI/180, преди да използвате тригонометрични функции.
Мога ли да свързвам персонализирани единици във верига?
Да, но избягвайте цикли. Поддържайте графа ацикличен и документирайте веригата, за да запазите яснотата.
Пълен Справочник с Инструменти
Всички 71 инструмента, налични в UNITS