Convertor de Unități Personalizate
Unități Personalizate: Modelare, Formule și Cele Mai Bune Practici
Definiți propriile unități de măsură ancorate la o „Unitate de Bază” sau la o altă unitate personalizată. Modelați factori lineari sau expresii complete și organizați familii coerente pentru proiectul sau domeniul dvs.
Concepte Fundamentale
Modelare Bazată pe Referință
Referința dvs. este o altă unitate personalizată sau „Unitate de Bază”.
Expresia de conversie mapează valorile de intrare în spațiul unității de referință (sistemul este intenționat agnostic față de unități).
- Siguranța DimensiuniiPrin selectarea unei referințe, legați implicit unitatea personalizată de acea familie. Păstrați familiile coerente (de ex., unități înrudite care fac referire la aceeași bază).
- CompozabilitateSchimbați referința mai târziu fără a redenumi unitatea — doar expresia necesită ajustare.
- AuditabilitateFiecare unitate are o definiție unică și clară: referință + expresie.
Factor vs Expresie
Unitățile simple folosesc un factor constant (de ex., 1 foo = 0.3048 × Bază).
Unitățile avansate pot folosi expresii cu funcții (de ex., 10 * log(x / 1e-3)).
- Factori ConstanțiCei mai buni pentru relații liniare fixe (scări de lungime, rapoarte de arie etc.).
- ExpresiiUtilizați funcții matematice pentru scări derivate sau neliniare (rapoarte, logaritmi, puteri).
- ConstanteConstante încorporate precum PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
Denumire, Simboluri și Coerență
Alegeți simboluri scurte, neambigue. Evitați coliziunile cu standardele existente.
Documentați intenția în organizația dvs. — ce măsoară și de ce există.
- ClaritatePreferă simboluri concise (recomandat 1–4 caractere; interfața de utilizare permite până la 6).
- StabilitateTratați simbolurile ca identificatori stabili în seturile de date și API-uri.
- StilUtilizați majuscule și minuscule similare cu SI acolo unde este logic (de ex., „foo”, „kFoo”, „mFoo”).
- O unitate personalizată = unitate de referință + expresie de conversie.
- Referința ancorează dimensiunea; expresia definește maparea valorii.
- Preferă factorii constanți pentru scările liniare; utilizează expresii pentru cazuri speciale.
Limbajul Formulelor
Expresiile acceptă numere, variabila x (valoare de intrare), valoare alias, constante (PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN), operatori aritmetici și funcții matematice comune. Expresiile se evaluează la o valoare în unitatea de referință aleasă.
Operatori
| Operator | Semnificație | Exemplu |
|---|---|---|
| + | Adunare | x + 2 |
| - | Scădere/Negație Unară | x - 5, -x |
| * | Înmulțire | 2 * x |
| / | Împărțire | x / 3 |
| ** | Putere (utilizați **; ^ este auto-convertit) | x ** 2 |
| () | Precedență | (x + 1) * 2 |
Funcții
| Funcție | Semnătură | Exemplu |
|---|---|---|
| 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) |
Reguli pentru Expresii
- x este valoarea de intrare; valoarea alias este de asemenea disponibilă.
- Utilizați înmulțirea explicită (de ex., 2 * PI, nu 2PI).
- Constante disponibile: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Unghiurile pentru funcțiile trigonometrice sunt în radiani (utilizați funcțiile ajutătoare degrees() și radians() pentru conversie).
- Referiți-vă la alte unități personalizate după nume (snake_case) sau simbol; valorile lor curente toBase sunt injectate ca și constante.
- Utilizați ** pentru puteri (motorul convertește automat ^ în **).
- Normalizare inteligentă a intrării: ×, ÷, π, ², ³ sunt convertite automat în *, /, PI, ^2, ^3.
- Funcții ajutătoare disponibile: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot().
- Detecția îmbunătățită a erorilor previne greșelile comune (logaritmul numerelor negative, rădăcina pătrată a numerelor negative, împărțirea la zero).
- Referențierea unităților personalizate: Utilizați alte unități ca variabile în expresii (de ex., 'x * A' unde A este o altă unitate personalizată).
- Spațiile albe sunt ignorate; utilizați paranteze pentru a controla precedența.
- Expresiile trebuie să producă un rezultat numeric finit pentru intrări valide.
- Utilizați înmulțirea explicită (de ex., 2 * PI).
- Unghiurile pentru funcțiile trigonometrice sunt în radiani.
- log(x) este baza 10; ln(x) este logaritmul natural (baza e).
Analiză Dimensională & Strategii
Acest sistem personalizat este agnostic față de unități. Modelați familii prin ancorarea unităților înrudite la aceeași „Unitate de Bază” (sau o referință comună). Păstrați semnificația coerentă în întreaga familie pe care o proiectați.
Strategii de Modelare
| Strategie | Când se Utilizează | Note |
|---|---|---|
| Factor Direct | Relații liniare (de ex., 1 foo = k × Bază). | Utilizați un număr constant (fără x). Stabil și precis. |
| Scalare la Putere | Derivat dintr-o scară de bază (k^2, k^3). | Utilizați pow(k, n) unde k este scara de bază. |
| Raport sau Normalizare | Unități definite în raport cu un nivel de referință (de ex., x / ref). | Util pentru măsuri de tip index; păstrați ref explicit în expresie. |
| Scară Logaritmică | Scări de percepție sau de raport de putere (de ex., stil dB 10 * log(x/ref)). | Asigurați-vă că domeniul este pozitiv; documentați valoarea de referință. |
| Mapare Afină | Cazuri rare cu decalaje (a * x + b). | Decalajele schimbă punctele de zero — aplicați numai atunci când este justificat conceptual. |
Editor & Validare
Creați unități cu un nume, simbol (până la 6 caractere), etichetă de culoare, o referință (Unitate de Bază sau o altă unitate personalizată) și un factor/expresie. Editorul validează formulele în timp real cu detecție îmbunătățită a erorilor și previne referințele circulare.
- Opțiunile de referință includ „Unitate de Bază” și unități personalizate existente. Opțiunile nesigure care ar crea cicluri sunt filtrate automat.
- Variabile: utilizați x (sau value) pentru valoarea de intrare. Referiți-vă la alte unități personalizate după numele snake_case sau după simbol; valorile lor curente toBase sunt injectate ca și constante.
- Constante suportate: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Funcții de bază: sqrt, cbrt, pow, abs, min, max, round, trunc, floor, ceil, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, ln, log, log2, exp.
- Funcții ajutătoare: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot() pentru o experiență de utilizare îmbunătățită.
- Operatori: +, -, *, /, ** pentru putere. Normalizare inteligentă a intrării: ×, ÷, π, ², ³ sunt convertite automat.
- Validare în timp real cu previzualizare (de ex., 10 x → rezultat), clasificare a complexității (simplu/moderat/complex) și sugestii conștiente de context.
- Detecția îmbunătățită a erorilor prinde greșelile comune: logaritmi ai numerelor non-pozitive, rădăcini pătrate ale numerelor negative, împărțirea la zero.
- Detecția avansată a ciclurilor previne unitățile să depindă de ele însele (direct sau indirect) cu mesaje de eroare clare.
- Panou de ajutor interactiv cu exemple clasificate, fragmente de formulă pe care se poate face clic și butoane pentru unități personalizate pentru inserare ușoară.
Cele Mai Bune Practici
- Preferă un factor constant dacă este posibil; expresii doar atunci când este necesar.
- Alegeți o unitate de referință care este stabilă, înțeleasă pe scară largă și puțin probabil să se schimbe.
- Evitați lanțurile circulare de referințe; păstrați graficele aciclice.
- Adăugați valori de eșantion și verificați încrucișat cu calculatoare independente sau identități cunoscute.
- Păstrați simbolurile scurte, unice și documentate pentru organizația dvs.
- Dacă utilizați logaritmi, înregistrați valoarea de referință, baza și domeniul intenționat al lui x.
- Testați cu 3–5 valori reprezentative și verificați conversiile dus-întors.
- Evitați referințele circulare; alegeți o unitate de referință stabilă.
- Documentați presupunerile (domenii, decalaje, intervale tipice).
Șabloane de Pornire & Exemple
Aceste exemple ilustrează modele comune de modelare în acest sistem exclusiv personalizat. Înlocuiți constantele și referințele cu nevoile dvs.
| Nume | Formulă | Referință | Note |
|---|---|---|---|
| Unitate Scalată pe Bază (foo) | 0.3048 | Unitate de Bază | Definește 1 foo = 0.3048 × Bază (factor liniar simplu). |
| Scalat la Putere (foo²) | pow(0.3048, 2) | Unitate de Bază | Derivat dintr-o scară de bază (k^2). |
| Scalat Volumetric (foo³) | pow(0.3048, 3) | Unitate de Bază | Derivat dintr-o scară de bază (k^3). |
| Index din Referință | x / 42 | Unitate de Bază | Normalizare printr-un nivel fix (domeniu x > 0). |
| Raport de Putere (stil dB) | 10 * log(x / 0.001) | Unitate de Bază | Măsură logaritmică relativă la 1 mW (exemplu). Asigurați x > 0. |
| Factor Geometric | 2 * PI * 0.5 | Unitate de Bază | Exemplu de constante și înmulțire. |
| Referențierea Altei Unități Personalizate | A * 2 | Unitate Personalizată A | Utilizați simbolul/numele altei unități ca o constantă în expresii. |
| Relație Complexă între Unități | sqrt(x^2 + base_length^2) | Unitate de Bază | Relație pitagoreică folosind unitatea personalizată 'base_length' ca o constantă. |
| Unitate Scalată cu Decalaj | x * scale_factor + offset_unit | Unitate de Bază | Transformare liniară folosind alte două unități personalizate ca și constante. |
| Procentaj din Unitatea de Referință | percent(x, reference_value) | Unitate de Bază | Exprimați intrarea ca procentaj al altei unități personalizate folosind funcția ajutătoare. |
| Interval de Unități Limitat | clamp(x * multiplier, min_unit, max_unit) | Unitate de Bază | Constrângeți valorile între două constante de unități personalizate folosind ajutorul clamp. |
| Raport de Unități cu GCD | x / gcd(x, common_divisor) | Unitate de Bază | Relație matematică folosind ajutorul GCD cu constanta unității personalizate. |
| Lanț de Conversie Angulară | degrees(x * PI / reference_angle) | Unitate Angulară Personalizată | Convertiți în grade folosind unitatea de unghi personalizată și funcția ajutătoare degrees(). |
Guvernanță & Colaborare
- Mențineți un catalog de unități personalizate aprobate cu proprietari și date de revizuire.
- Utilizați versionarea atunci când definițiile evoluează; evitați modificările disruptive ale simbolurilor.
- Înregistrați proveniența pentru constante și referințe (standarde, literatură, documente interne).
- Automatizați testele de validare (verificări de interval, conversii eșantion, monotonie).
Întrebări Frecvente
Ar trebui să folosesc un factor constant sau o expresie?
Preferă un factor constant ori de câte ori relația este liniară și fixă. Utilizați expresii numai atunci când maparea depinde de x sau necesită funcții (puteri, logaritmi, trigonometrice).
Cum aleg o unitate de referință?
Alegeți o unitate stabilă, înțeleasă pe scară largă, care surprinde dimensiunea pe care o intenționați (de ex., metru pentru lungime, m² pentru arie). Referința ancorează semnificația dimensională.
Unghiurile sunt în grade sau radiani?
Radiani. Convertiți gradele prin înmulțire cu PI/180 înainte de a utiliza funcțiile trigonometrice.
Pot înlănțui unități personalizate?
Da, dar evitați ciclurile. Păstrați graful aciclic și documentați lanțul pentru a păstra claritatea.
Director Complet de Unelte
Toate cele 71 unelte disponibile pe UNITS