ממיר יחידות מותאם אישית
יחידות מותאמות אישית: מודלים, נוסחאות ושיטות עבודה מומלצות
הגדירו יחידות מידה משלכם המעוגנות ל'יחידת בסיס' או ליחידה מותאמת אישית אחרת. צרו מודלים של גורמים ליניאריים או ביטויים מלאים, וארגנו משפחות עקביות עבור הפרויקט או התחום שלכם.
מושגי יסוד
מודלים מבוססי ייחוס
הייחוס שלכם הוא יחידה מותאמת אישית אחרת או 'יחידת בסיס'.
ביטוי ההמרה ממפה ערכי קלט למרחב של יחידת הייחוס (המערכת בכוונה אגנוסטית ליחידות).
- בטיחות ממדיתעל ידי בחירת ייחוס, אתם קושרים באופן מרומז את היחידה המותאמת אישית למשפחה זו. שמרו על עקביות במשפחות (למשל, יחידות קשורות המתייחסות לאותו בסיס).
- יכולת הרכבהשנו את הייחוס מאוחר יותר מבלי לשנות את שם היחידה—רק הביטוי דורש התאמה.
- יכולת ביקורתלכל יחידה יש הגדרה אחת, ברורה: ייחוס + ביטוי.
גורם לעומת ביטוי
יחידות פשוטות משתמשות בגורם קבוע (למשל, 1 פו = 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 פו = 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 פו = 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. |
| יחס יחידות עם GCD | x / gcd(x, common_divisor) | יחידת בסיס | יחס מתמטי המשתמש בעזר GCD עם קבוע יחידה מותאם אישית. |
| שרשרת המרת זוויות | degrees(x * PI / reference_angle) | יחידת זווית מותאמת אישית | המירו למעלות באמצעות יחידת זווית מותאמת אישית ופונקציית העזר degrees(). |
ממשל ושיתוף פעולה
- שמרו על קטלוג של יחידות מותאמות אישית מאושרות עם בעלים ותאריכי סקירה.
- השתמשו בניהול גרסאות כאשר הגדרות מתפתחות; הימנעו משינויים שוברים בסמלים.
- רשמו את המקור של קבועים והפניות (תקנים, ספרות, מסמכים פנימיים).
- אוטומציה של בדיקות אימות (בדיקות טווח, המרות לדוגמה, מונוטוניות).
שאלות נפוצות
האם עלי להשתמש בגורם קבוע או בביטוי?
העדיפו גורם קבוע כל אימת שהיחס הוא ליניארי וקבוע. השתמשו בביטויים רק כאשר המיפוי תלוי ב-x או דורש פונקציות (חזקות, לוגריתמים, טריגונומטריה).
כיצד אני בוחר יחידת ייחוס?
בחרו יחידה יציבה ומובנת היטב שתופסת את הממד שאתם מתכוונים אליו (למשל, מטר לאורך, מ"ר לשטח). הייחוס מעגן את המשמעות הממדית.
האם הזוויות הן במעלות או ברדיאנים?
ברדיאנים. המירו מעלות על ידי הכפלה ב-PI/180 לפני שימוש בפונקציות טריגונומטריות.
האם אני יכול לשרשר יחידות מותאמות אישית?
כן, אך הימנעו מלולאות. שמרו על הגרף א-ציקלי ותעדו את השרשרת כדי לשמור על בהירות.
מדריך כלים מלא
כל 71 הכלים הזמינים ב-UNITS