Brugerdefineret Enhedsomregner

Brugerdefinerede Enheder: Modellering, Formler og Bedste Praksis

Definer dine egne måleenheder forankret til en 'Basis Enhed' eller en anden brugerdefineret enhed. Modeller lineære faktorer eller fulde udtryk, og organiser konsistente familier til dit projekt eller domæne.

Grundlæggende Koncepter

Hvad er en Brugerdefineret Enhed?
I denne omregner er en brugerdefineret enhed defineret af brugeren og forankret til en anden brugerdefineret enhed (eller til Basis Enheden). Du vælger et navn, et symbol, en reference og en faktor eller et udtryk, der transformerer værdier til den valgte reference.

Reference-Baseret Modellering

Din reference er en anden brugerdefineret enhed eller 'Basis Enhed'.

Konverteringsudtrykket kortlægger inputværdier til referenceenhedens rum (systemet er bevidst enheds-agnostisk).

  • Dimensionssikkerhed
    Ved at vælge en reference binder du implicit den brugerdefinerede enhed til den familie. Hold familier konsistente (f.eks. relaterede enheder, der refererer til den samme base).
  • Komponerbarhed
    Skift referencen senere uden at omdøbe enheden—kun udtrykket skal justeres.
  • Reviderbarhed
    Hver enhed har en enkelt, klar definition: reference + udtryk.

Faktor vs Udtryk

Simple enheder bruger en konstant faktor (f.eks. 1 foo = 0.3048 × Basis).

Avancerede enheder kan bruge udtryk med funktioner (f.eks. 10 * log(x / 1e-3)).

  • Konstante Faktorer
    Bedst til faste lineære forhold (længdeskalaer, arealforhold osv.).
  • Udtryk
    Brug matematiske funktioner til afledte eller ikke-lineære skalaer (forhold, logaritmer, potenser).
  • Konstanter
    Indbyggede konstanter som PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.

Navngivning, Symboler og Konsistens

Vælg korte, utvetydige symboler. Undgå kollisioner med eksisterende standarder.

Dokumenter hensigten i din organisation—hvad den måler, og hvorfor den eksisterer.

  • Klarhed
    Foretræk korte symboler (1–4 tegn anbefales; UI tillader op til 6).
  • Stabilitet
    Behandl symboler som stabile identifikatorer på tværs af datasæt og API'er.
  • Stil
    Brug SI-lignende store og små bogstaver, hvor det giver mening (f.eks. 'foo', 'kFoo', 'mFoo').
Nøglepunkter
  • En brugerdefineret enhed = referenceenhed + konverteringsudtryk.
  • Referencen forankrer dimensionen; udtrykket definerer værdikortlægningen.
  • Foretræk konstante faktorer for lineære skalaer; brug udtryk til særlige tilfælde.

Formelsprog

Udtryk understøtter tal, variablen x (inputværdi), aliasværdi, konstanter (PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN), aritmetiske operatorer og almindelige matematiske funktioner. Udtryk evalueres til en værdi i den valgte referenceenhed.

Operatorer

OperatorBetydningEksempel
+Additionx + 2
-Subtraktion/Unær Negationx - 5, -x
*Multiplikation2 * x
/Divisionx / 3
**Potens (brug **; ^ konverteres automatisk)x ** 2
()Præcedens(x + 1) * 2

Funktioner

FunktionSignaturEksempel
sqrtsqrt(x)sqrt(x^2 + 1)
cbrtcbrt(x)cbrt(x)
powpow(a, b)pow(0.3048, 2)
absabs(x)abs(x)
minmin(a, b)min(x, 100)
maxmax(a, b)max(x, 0)
roundround(x)round(x * 1000) / 1000
trunctrunc(x)trunc(x)
floorfloor(x)floor(x)
ceilceil(x)ceil(x)
sinsin(x)sin(PI/6)
coscos(x)cos(PI/3)
tantan(x)tan(PI/8)
asinasin(x)asin(0.5)
acosacos(x)acos(0.5)
atanatan(x)atan(1)
atan2atan2(y, x)atan2(1, x)
sinhsinh(x)sinh(1)
coshcosh(x)cosh(1)
tanhtanh(x)tanh(1)
lnln(x)ln(x)
loglog(x)log(100)
log2log2(x)log2(8)
expexp(x)exp(1)
degreesdegrees(x)degrees(PI/2)
radiansradians(x)radians(180)
percentpercent(value, total)percent(25, 100)
factorialfactorial(n)factorial(5)
gcdgcd(a, b)gcd(12, 8)
lcmlcm(a, b)lcm(12, 8)
clampclamp(value, min, max)clamp(x, 0, 100)
signsign(x)sign(-5)
nthRootnthRoot(value, n)nthRoot(8, 3)

Udtryksregler

  • x er inputværdien; aliasværdi er også tilgængelig.
  • Brug eksplicit multiplikation (f.eks. 2 * PI, ikke 2PI).
  • Tilgængelige konstanter: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
  • Vinkler for trigonometriske funktioner er i radianer (brug hjælpefunktionerne degrees() og radians() til konvertering).
  • Referer til andre brugerdefinerede enheder ved navn (snake_case) eller symbol; deres nuværende toBase-værdier injiceres som konstanter.
  • Brug ** til potenser (motoren konverterer automatisk ^ til **).
  • Smart input-normalisering: ×, ÷, π, ², ³ konverteres automatisk til *, /, PI, ^2, ^3.
  • Hjælpefunktioner tilgængelige: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot().
  • Forbedret fejlfinding forhindrer almindelige fejl (logaritme af negative tal, kvadratrod af negative tal, division med nul).
  • Referencer til brugerdefinerede enheder: Brug andre enheder som variabler i udtryk (f.eks. 'x * A', hvor A er en anden brugerdefineret enhed).
  • Mellemrum ignoreres; brug parenteser til at styre præcedens.
  • Udtryk skal producere et endeligt numerisk resultat for gyldige input.
Essentielle Formler
  • Brug eksplicit multiplikation (f.eks. 2 * PI).
  • Vinkler for trigonometriske funktioner er i radianer.
  • log(x) er grundtal 10; ln(x) er den naturlige logaritme (grundtal e).

Dimensionsanalyse & Strategier

Dette brugerdefinerede system er enheds-agnostisk. Modeller familier ved at forankre relaterede enheder til den samme 'Basis Enhed' (eller en fælles reference). Hold betydningen konsistent på tværs af den familie, du designer.

Modelleringsstrategier

StrategiHvornår skal den brugesNoter
Direkte FaktorLineære forhold (f.eks. 1 foo = k × Basis).Brug et konstant tal (ingen x). Stabil og præcis.
PotensskaleringAfledt af en basisskala (k^2, k^3).Brug pow(k, n), hvor k er basisskalaen.
Forhold eller NormaliseringEnheder defineret i forhold til et referenceniveau (f.eks. x / ref).Nyttigt for indekslignende målinger; hold ref eksplicit i udtrykket.
Logaritmisk SkalaPerceptuelle eller effektforholdsskalaer (f.eks. dB-stil 10 * log(x/ref)).Sørg for, at domænet er positivt; dokumenter referenceværdien.
Affin KortlægningSjældne tilfælde med forskydninger (a * x + b).Forskydninger ændrer nulpunkter—anvend kun, når det er konceptuelt berettiget.

Editor & Validering

Opret enheder med et navn, et symbol (op til 6 tegn), et farvemærke, en reference (Basis Enhed eller en anden brugerdefineret enhed) og en faktor/udtryk. Editoren validerer formler i realtid med forbedret fejlfinding og forhindrer cirkulære referencer.

  • Referenceindstillinger inkluderer 'Basis Enhed' og eksisterende brugerdefinerede enheder. Usikre indstillinger, der ville skabe cykler, filtreres automatisk fra.
  • Variabler: brug x (eller value) for inputværdien. Referer til andre brugerdefinerede enheder med snake_case navn eller symbol; deres nuværende toBase-værdier injiceres som konstanter.
  • Understøttede konstanter: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
  • Kernefunktioner: sqrt, cbrt, pow, abs, min, max, round, trunc, floor, ceil, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, ln, log, log2, exp.
  • Hjælpefunktioner: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot() for forbedret brugeroplevelse.
  • Operatorer: +, -, *, /, ** for potens. Smart input-normalisering: ×, ÷, π, ², ³ konverteres automatisk.
  • Realtidsvalidering med forhåndsvisning (f.eks. 10 x → resultat), kompleksitetsklassificering (simpel/moderat/kompleks) og kontekstbevidste forslag.
  • Forbedret fejlfinding fanger almindelige fejl: logaritmer af ikke-positive tal, kvadratrødder af negative tal, division med nul.
  • Avanceret cyklusdetektering forhindrer enheder i at afhænge af sig selv (direkte eller indirekte) med klare fejlmeddelelser.
  • Interaktivt hjælpepanel med kategoriserede eksempler, klikbare formeluddrag og brugerdefinerede enhedsknapper for nem indsættelse.

Bedste Praksis

  • Foretræk en konstant faktor, hvis det er muligt; udtryk kun, når det er nødvendigt.
  • Vælg en referenceenhed, der er stabil, bredt forstået og usandsynlig at ændre sig.
  • Undgå cirkulære kæder af referencer; hold grafer acykliske.
  • Tilføj eksempelværdier og krydstjek med uafhængige regnemaskiner eller kendte identiteter.
  • Hold symboler korte, unikke og dokumenterede for din organisation.
  • Hvis du bruger logaritmer, skal du registrere referenceværdien, grundtallet og det tilsigtede domæne for x.
Kvalitetstjekliste
  • Test med 3–5 repræsentative værdier og verificer rundturs-konverteringer.
  • Undgå cirkulære referencer; vælg en stabil referenceenhed.
  • Dokumenter antagelser (domæner, forskydninger, typiske intervaller).

Startskabeloner & Eksempler

Disse eksempler illustrerer almindelige modelleringsmønstre i dette brugerdefinerede system. Erstat konstanter og referencer med dine behov.

NavnFormelReferenceNoter
Basis-skaleret Enhed (foo)0.3048Basis EnhedDefinerer 1 foo = 0.3048 × Basis (simpel lineær faktor).
Potens-skaleret (foo²)pow(0.3048, 2)Basis EnhedAfledt af en basisskala (k^2).
Volumen-skaleret (foo³)pow(0.3048, 3)Basis EnhedAfledt af en basisskala (k^3).
Indeks fra Referencex / 42Basis EnhedNormaliser med et fast niveau (domæne x > 0).
Effektforhold (dB-stil)10 * log(x / 0.001)Basis EnhedLogaritmisk mål i forhold til 1 mW (eksempel). Sørg for x > 0.
Geometrisk Faktor2 * PI * 0.5Basis EnhedEksempel på konstanter og multiplikation.
Referer til Anden Brugerdefineret EnhedA * 2Brugerdefineret Enhed ABrug en anden enheds symbol/navn som en konstant i udtryk.
Kompleks Enhedsrelationsqrt(x^2 + base_length^2)Basis EnhedPythagoræisk relation, der bruger den brugerdefinerede enhed 'base_length' som en konstant.
Skaleret Enhed med Forskydningx * scale_factor + offset_unitBasis EnhedLineær transformation ved hjælp af to andre brugerdefinerede enheder som konstanter.
Procentdel af Referenceenhedpercent(x, reference_value)Basis EnhedUdtryk input som en procentdel af en anden brugerdefineret enhed ved hjælp af hjælpefunktionen.
Afgrænset Enhedsintervalclamp(x * multiplier, min_unit, max_unit)Basis EnhedBegræns værdier mellem to brugerdefinerede enhedskonstanter ved hjælp af clamp-hjælperen.
Enhedsforhold med GCDx / gcd(x, common_divisor)Basis EnhedMatematisk relation ved hjælp af GCD-hjælperen med en brugerdefineret enhedskonstant.
Vinkelkonverteringskædedegrees(x * PI / reference_angle)Brugerdefineret VinkelenhedKonverter til grader ved hjælp af en brugerdefineret vinkelenhed og degrees() hjælpefunktionen.

Styring & Samarbejde

  • Vedligehold et katalog over godkendte brugerdefinerede enheder med ejere og revisionsdatoer.
  • Brug versionering, når definitioner udvikler sig; undgå at bryde ændringer i symboler.
  • Registrer herkomst for konstanter og referencer (standarder, litteratur, interne dokumenter).
  • Automatiser valideringstests (intervalkontrol, eksempelkonverteringer, monotoni).

Ofte Stillede Spørgsmål

Skal jeg bruge en konstant faktor eller et udtryk?

Foretræk en konstant faktor, når forholdet er lineært og fast. Brug kun udtryk, når kortlægningen afhænger af x eller kræver funktioner (potenser, logaritmer, trigonometri).

Hvordan vælger jeg en referenceenhed?

Vælg en stabil, bredt forstået enhed, der fanger den dimension, du har til hensigt (f.eks. meter for længde, m² for areal). Referencen forankrer den dimensionelle betydning.

Er vinkler i grader eller radianer?

Radianer. Konverter grader ved at gange med PI/180, før du bruger trigonometriske funktioner.

Kan jeg kæde brugerdefinerede enheder sammen?

Ja, men undgå cykler. Hold grafen acyklisk og dokumenter kæden for at bevare klarheden.

Komplet Værktøjskatalog

Alle 71 værktøjer tilgængelige på UNITS

Filtrer efter:
Kategorier:

Ekstra