اذهب إلى المحتوى
  • 1

كتابة برنامج في MATLAB لبناء موجات باستخدام سلسلة فورييه

هلال طاهر

السؤال

MATLAB SEMESTER PROJECT (2023) March 3, 2023 Page 1 of 4 Constructing Waveforms from Fourier Series using MATLAB Construct plots of the first harmonic, the sum of the first two, the first five, the first ten, the first hundred, and the first thousand harmonics of the square waveform using the following equation: �(�) = � � � � � � ∞ �=� ��−� ���((��−�)��) where: � � = � �; � = � �������; � = �� � ; �≤�≤�� Write a MATLAB programming script in M-file to create 2D drawings in one figure window divided into 6 subplots (3 rows and 2 columns).

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الأسئلة الخاصة بالإختبارات لا يتم الإجابة عليها ولكن يمكن إرشادك لطريقة الحل.

في البداية السؤال غير واضح حيث هناك معادلة لم يتم إضافتها كما ترى في سؤالك.

على أي حال، يتطلب هذا السؤال منك كتابة برنامج في MATLAB لبناء موجات باستخدام سلسلة فورييه، وعرض هذه الموجات في شكل رسوم بيانية على نافذة واحدة تحتوي على 6 نوافذ صغيرة مرتبة في 3 صفوف و 2 أعمدة.

للقيام بذلك، يمكن استخدام الدالة "fourierSeriesSquare" المتوفرة في MATLAB لحساب معاملات سلسلة فورييه الخاصة بالموجة الكهربائية المربعة. ثم يمكن استخدام هذه المعاملات لبناء موجات الهارمونيك المختلفة المطلوبة وعرضها باستخدام الدالة "plot" في نوافذ صغيرة منفصلة.

يمكن البدء بكتابة الأكواد في M-file في MATLAB باستخدام الأوامر التالية:

% تعريف المتغيرات اللازمة
T = 1; % فترة الموجة
f = 1/T; % التردد الأساسي
n = [1, 2, 5, 10, 100, 1000]; % أعداد الهارمونيك المطلوبة

% حساب معاملات سلسلة فورييه باستخدام دالة fourierSeriesSquare
[a, b] = fourierSeriesSquare(T, n(end));

% بناء موجات الهارمونيك المختلفة باستخدام المعاملات
for i = 1:length(n)
    t = linspace(0, T, 1000);
    x = zeros(size(t));
    for j = 1:n(i)
        x = x + a(j)*cos(2*pi*j*f*t) + b(j)*sin(2*pi*j*f*t);
    end
    
    % عرض الموجة في نافذة منفصلة باستخدام subplot
    subplot(3, 2, i)
    plot(t, x)
    title(sprintf('%d Harmonics', n(i)))
end

% تعيين عنوان للنافذة الرئيسية
sgtitle('Square Wave Harmonics')

يمكن استخدام الكود المذكور أعلاه لإنشاء موجات الهارمونيك المختلفة للموجة الكهربائية المربعة وعرضها في نافذة واحدة تحتوي على 6 نوافذ صغيرة مرتبة في 3 صفوف و 2 أعمدة. ويمكن استخدام الأوامر التالية:

  1. إنشاء متغيرات تمثل قيم المعاملات في المعادلة المذكورة، بما في ذلك "n" و "T" و "A".
  2. إنشاء مصفوفة لتخزين قيم الترددات المختلفة للهارمونيات.
  3. استخدام الدالة "syms" لتعريف المتغير "t" على أنه متغير رمزي.
  4. استخدام الدالة "fourierSeries" لحساب سلسلة فورييه الخاصة بالموجة المربعة.
  5. استخدام الدالة "subs" لتعيين قيم المعاملات المختلفة في المعادلة.
  6. إنشاء دالة تسمى "plotFourierSeries" لرسم السلسلة الفورييه.
  7. استخدام الأمر "subplot" لإنشاء النوافذ الصغيرة.
  8. استخدام الأمر "title" لإضافة عناوين للنوافذ الصغيرة.
  9. استخدام الأمر "xlabel" و "ylabel" لإضافة تسميات المحاور إلى الرسوم البيانية.
  10. استخدام الأمر "grid" لإضافة شبكة على الرسوم البيانية.

وهناك بعض الأوامر الإضافية التي يمكن استخدامها لتخصيص المخططات بشكل أفضل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...