English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية MATLAB-GNU Octave

GNU Octave هو لغة برمجة متقدمة مثل MATLAB، وهو متوافق مع MATLAB بشكل كبير. يتم استخدامه أيضًا في الحوسبة العددية.

ميزات مشتركة بين Octave و MATLAB -

  • الصفوف هي نوع بيانات أساسي

  • يدعم الأعداد المركبة بشكل مدمج

  • يحتوي على وظائف رياضية مدمجة ومكتبات

  • يدعم الدوال المحددة من قبل المستخدم

GNU Octave هو برنامج يمكن إعادة إصداره مجانًا. يمكنك إعادة توزيع وتعديلها بناءً على شروط رخصة GNU العامة (GPL) التي发布ها مؤسسة البرمجيات الحرة.

MATLAB vs Octave

يمكن تشغيل معظم برامج MATLAB في Octave، ولكن قد لا يمكن تشغيل بعض برامج Octave في MATLAB لأن Octave يسمح باستخدام سيناريوهات لغوية لا تدعمها MATLAB.

على سبيل المثال، يدعم MATLAB فقط الأقواس الواحدة، ولكن يدعم Octave الأقواس الواحدة والأقواس المزدوجة لتعريف النصوص. إذا كنت تبحث عن دليل Octave، فلا بد من قراءة هذا الدليل من البداية، حيث يتضمن MATLAB و Octave.

مثال موافق

جميع الأمثلة التي يتم تقديمها في هذا الدليل تتوافق مع MATLAB و Octave. لنحاول فيما يلي مثالاً ينتج نفس النتيجة في MATLAB و Octave دون أي تغيير في النص النصي-

هذا المثال هو دالة g = xe- (x 2 + y 2إنشاء رسم 3D لسطح. أنشئ ملف سكريبت وأدخل الكود التالي -

[x, y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

عند تشغيل ملف، يظهر MATLAB الخريطة الثلاثية الأبعاد التالية -

مثال غير متوافق

على الرغم من أن جميع الوظائف الأساسية لـ MATLAB يمكن استخدامها في Octave، إلا أن بعض الوظائف (مثل حساب التفاضل والتكامل) لا تتطابق تمامًا في كلا اللغتين.يحاول هذا الدليل تقديم نماذج مختلفة، حيث يختلف النص النحوي

خذ مثالاً على ذلك، حيث يستخدم MATLAB و Octave وظائف مختلفة للحصول على مساحة المنحنى: f(x)= x 2 cos(x)يعبر عن -4≤x≤9.هذه هي نسخة MATLAB للكود-

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('منطقة: '), disp(double(a));

عند تشغيل الملف، يرسم MATLAB الرسم البياني-

إظهار النتيجة التالية

a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
منطقة: 
   0.3326

لكن لعرض نفس المنحنى في Octave، ستحتاج إلى استخدام ما يليsymbolicالبند-

pkg load symbolic
الرموز
x = sym("x");
f = inline("x^2*cos(x)");
ezplot(f, [-4,9])
print -deps graph.eps
[a, ierror, nfneval] = quad(f, -4, 9);
display('منطقة: '), disp(double(a));