עבודה עם מספרים מרוכבים

Arduino:
עבודה עם מספרים מרוכבים

איך לעשות:

#include <Complex.h>

void setup() {
  Serial.begin(9600); // התחלת תקשורת סריאלית
  
  Complex myComplex(2, 3); // יצירת מספר מרוכב 2 + 3i
  Complex anotherComplex(1, 1); // יצירת מספר מרוכב נוסף 1 + 1i
  
  // חיבור
  Complex result = myComplex + anotherComplex; 
  Serial.print("Addition: "); 
  result.print(); // מוציא 3 + 4i
  
  // כפל
  result = myComplex * anotherComplex; 
  Serial.print("Multiplication: ");
  result.print(); // מוציא -1 + 5i
}

void loop() {
  // לא בשימוש בדוגמה זו
}

תצוגת דוגמה:

Addition: 3 + 4i
Multiplication: -1 + 5i

צלילה עמוקה

מקורית, התייחסו למספרים מרוכבים בחשדנות, אך הם הפכו להיות מרכזיים במגוון שדות מדעיים. בהיסטוריה, הם התקבלו בזכות הספקת פתרונות למשוואות פולינומיות שאין להן פתרונות ממשיים.

ארדואינו לא כולל מספרים מרוכבים בספריית הסטנדרט שלו, אך אתה יכול להשתמש בספריות כמו Complex.h לטיפול בהם. באופן פנימי, ספריות אלו מגדירות מחלקת Complex, בדרך כלל באמצעות שימוש בשני משתנים מסוג double לאחסון החלקים הממשי והמדומה, ומעמיסות אופרטורים לתמיכה באריתמטיקה.

כחלופה, ליישומים שאינם דורשים באופן עקרוני אריתמטיקה של מספרים מרוכבים, שקלו להשתמש באסטרטגיות מתמטיות אחרות או בספריות אחרות. זכור, עם זאת, ששימוש במספרים מצומדים במקום במספרים מרוכבים עלול לפשט יתר על המידה חלק מהבעיות.

ראה גם