GNU Octave

البرمجيات قطة:
GNU Octave
تفاصيل البرنامج:
الإصدار: 4.4.0 محدث
تاريخ إيداع: 22 Jun 18
المطور: John W. Eaton
ترخيص: حرر
شعبية: 262

Rating: 2.7/5 (Total Votes: 3)

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


يمكن استخدامها لحل المشاكل الخطية وغير الخطية عدديا

يمكن استخدام البرنامج لحل المشاكل الخطية وغير الخطية عدديًا ، بالإضافة إلى إجراء العديد من التجارب الرقمية. وهو متوافق مع Matlab ، بيئة الحوسبة الرقمية متعددة النماذج ، ويمكن استخدامه كلغة دفعية.

بالإضافة إلى ذلك ، يوفر GNU Octave العديد من المرافق التي تسمح لك بحل مشاكل الجبر linera العددية المشتركة ، والتعامل مع كثيرات الحدود ، ودمج الوظائف العادية ، واكتشاف جذور المعادلات غير الخطية ، بالإضافة إلى دمج المعادلات التفاضلية والجبرية التفاضلية العادية. / P>

يمكنك استخدام الوحدات المحملة ديناميكيًا أو الدالات المعرفة بواسطة المستخدم لتوسيع GNU Octave. ويمكن كتابة هذه في لغة البرمجة الخاصة أوكتاف أو في C ، C ++ ، فورتران ، وما إلى ذلك.

الشروع في العمل مع جنو أوكتاف

تتوفر طريقتان لتثبيت GNU Octave على نظام التشغيل GNU / Linux. الأول هو الأسهل ويتضمن البحث في & quot؛ اوكتاف & rdquo؛ حزمة في تطبيق Software Center (على سبيل المثال ، Synaptic Package Manager) للتوزيع.

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

افتح تطبيق محاكي طرفي ، وشغّل & lsquo؛ cd & rsquo؛ الأمر متبوعًا بالمسار إلى موقع ملفات الأرشيف المستخرجة (على سبيل المثال cd /home/softoware/octave-3.8.2) ، شغّل & lsquo؛. / config & amp؛ & amp؛ جعل و[رسقوو]؛ الأمر لتكوين وتجميع البرنامج ، ثم قم بتشغيل & lsquo؛ sudo make install & rsquo؛ الأمر لتثبيته. استخدمه من واجهة سطر الأوامر عن طريق تشغيل & lsquo؛ octave & rsquo؛ الأوامر.

تحت غطاء المحرك

إلقاء نظرة تحت غطاء برنامج GNU Octave ، يمكننا ملاحظة أنه مكتوب بالكامل بلغة برمجة C ++. لقد قمنا بتثبيته في العديد من توزيعات جنو / لينكس ، بما في ذلك Arch Linux و Ubuntu باستخدام التعليمات المقدمة في القسم أعلاه. يتوافق البرنامج مع منصات الكمبيوتر 32 بت و 64 بت.

ما هو الجديد في هذا الإصدار:

واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

ما هو الجديد في الإصدار:

واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

ما هو الجديد في الإصدار 4.2.0:



واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

الجديد في الإصدار 4.0.3:


واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

الجديد في الإصدار 4.0.1:



واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

الجديد في الإصدار 4.0.0:


واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

الجديد في الإصدار 3.8.2:



واحدة من أكبر الميزات الجديدة لسلسلة الإصدارات Octave 3.8.x هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).

الجديد في الإصدار 3.8.0:


واحدة من أكبر الميزات الجديدة لـ Octave 3.8 هي واجهة مستخدم رسومية. هذا هو الشيء الوحيد الذي طلبه المستخدمون في أغلب الأحيان خلال السنوات القليلة الماضية ، وهو الآن جاهز تقريبًا. ولكن نظرًا لأنها غير مصقولة تمامًا كما نرغب ، فقد قررنا الانتظار حتى إصدار الإصدار 4.0.x قبل إنشاء واجهة المستخدم الرسومية الواجهة الافتراضية (حتى ذلك الحين ، يمكنك استخدام الخيار --force-gui لبدء تشغيل واجهة المستخدم الرسومية ).
بالنظر إلى طول الوقت وعدد عمليات إصلاح الأخطاء والتحسينات منذ الإصدار الرئيسي الأخير Octave ، قررنا أيضًا عدم تأخير إصدار جميع هذه التحسينات الجديدة بعد الآن فقط لإتقان واجهة المستخدم الرسومية. لذا يرجى الاستمتاع بإصدار 3.8 من Octave ومعاينة واجهة المستخدم الرسومية الجديدة. ونعتقد أنه يعمل بشكل جيد ، ولكننا نعلم أيضًا أن هناك بعض النقاط القاسية الواضحة والعديد من الأشياء التي يمكن تحسينها.

ما هو الجديد في الإصدار 3.4.0:

مطلوب الآن مكتبات BLAS و LAPACK لبناء Octave. تمت إزالة مجموعة فرعية من المكتبات المرجعية BLAS و LAPACK من مصادر Octave.
تم توسيع وظيفة "البحث" لتصبح أكثر فائدة للبحث الثنائي للأغراض العامة. باستخدام هذا التحسين ، تمت إعادة كتابة الدالة ismember للحصول على أداء أفضل بشكل ملحوظ.
ستعمل المصفوفات الحقيقية ، والمنطقية ، والمنطقية ، عند استخدامها في الفهرسة ، الآن على تخزين قيمة index_vector الداخلية (المؤشرات التي تستند إلى الصفر) عند استخدامها بنجاح كمؤشرات ، مما يلغي عقوبة التحويل للفهرسة اللاحقة حسب نفس المصفوفة. على وجه الخصوص ، هذا يعني أنه لم يعد هناك حاجة لتجنب الفهرسة المتكررة من خلال المصفوفات المنطقية باستخدام البحث عن أسباب الأداء.
يتم التعامل مع المصفوفات المنطقية الآن بشكل أكثر كفاءة عند استخدامها كمؤشرات. سوف يحافظ Octave على الفهرس كقناع منطقي ما لم تكن نسبة العناصر الحقيقية صغيرة بما يكفي ، باستخدام رمز متخصص. في السابق ، كانت جميع المصفوفات المنطقية يتم تحويلها أولاً إلى متجهات المؤشرات. هذه النتائج في التوفير في كل من الذاكرة والحوسبة الوقت.تم إعادة تشغيل الدالات `sub2ind 'و` ind2sub' كوظائف مترجمة للحصول على أداء أفضل. هذه الوظائف هي الآن أسرع ، ويمكن تقديم نتائج أكثر اقتصادا للنطاقات ، ويمكن إعادة استخدام آلية مؤشر مخبأ الموضحة في الفقرة السابقة.
تم تمديد مكافئات الوظيفة المدمجة إلى عوامل الارتباط (`زائد '،' أوقات '،` ذرات' ، 'و' ، و 'أو') لقبول الوسيطات المتعددة. هذا مفيد بشكل خاص لملخص قوائم (المضرب ، إلخ) للكائنات (من المحتمل أن تكون أنواع مميزة):
matrix_sum = plus (matrix_list {:})؛
تم تطبيق نوع كائن FTP يستند إلى libcurl. تتيح هذه الكائنات اتصالات ftp والتنزيلات والتحميل ليتم إدارتها. فمثلا،
fp = ftp ("ftp.octave.org) ؛ cd (fp،" gnu / octave ")؛ mget (fp،" octave-3.2.3.tar.bz2 ")؛ close (fp)؛
تم تخفيف السلوك الافتراضي لـ "التأكيد (الملاحظة ، المتوقع)" لتعيين فحص أقل صرامة لا يتطلب تطابق القيم الداخلية. هذا يتجنب اختبارات صالحة سابقا من كسر بسبب الطبقات الداخلية الجديدة التي أدخلت في الإصدارات اوكتاف المستقبلية.
على سبيل المثال ، كل هذه التأكيدات كانت صحيحة في Octave 3.0.x ولكنها خاطئة في 3.2.x بسبب تحسينات وتحسينات جديدة:تأكيد (2 * linspace (1 ، 5 ، 5) ، 2 * (1: 5)) يؤكد (الأصفار (0 ، 0) ، []) يؤكد (2 * منها (1 ، 5) ، (2) (منها ( 1،5)))
لقد تم تغيير سلوك وظائف المكتبة "ismatrix" و "issquare" و "issymmetric" لتحقيق تناسق أفضل. تُرجع الدالة `ismatrix 'الآن صوابًا لكل المصفوفات الرقمية والمنطقية والحروفية ثنائية الأبعاد أو N-D. في السابق ، تم إرجاع `ismatrix 'false إذا كان البُعد الأول أو الثاني صفرًا. وبالتالي ، كان 'ismatrix ([])' false ، في حين أن 'ismatrix (الأصفار (1،2،0)) كان صحيحًا.
تقوم الدالة `issquare 'الآن بإرجاع قيمة منطقية ، وهي تعادل التعبير
ismatrix (x) & amp؛ & amp؛ ndims (x) == 2 & amp؛ & amp؛ الصفوف (x) == الأعمدة (x)
لم يعد البعد عاد. ونتيجة لذلك ، أصبح 'issquare ([]) الآن صحيحًا. تقوم الدالة "غير المتماثلة" الآن بالتحقق من التماثل بدلاً من Hermitianness. لهذا الأخير ، تم إنشاء ishermitian. أيضا ، يتم إرجاع العددية المنطقية بدلاً من البعد ، لذا فإن "القيمة غير المتماثلة ([])" هي الآن صحيحة. مؤشرات الدالة تدرك الآن وظائف overloaded. إذا كانت هناك دالة فوق طاقتها ، يحددها المؤشر في وقت مرجعها الذي يعمل على استدعاء. لا تحتاج النسخة غير المحملة بشكل زائد إلى الوجود.وظائف التحميل الزائد للفئات المضمنة (مزدوجة ، int8 ، خلية ، إلخ) متوافقة الآن مع Matlab.
يمكن الآن مقارنة مقابض الدالة مع == و! = المشغلين ، فضلا عن وظيفة `isequal '.
تم تحسين أداء التسلسل (باستخدام []) والوظائف `cat 'و` horzcat' و` vertcat 'للصفائف متعددة الأبعاد.
تتصرف مشغلات تعيين العمليات + = و - = و * = و / = الآن بشكل أكثر كفاءة في حالات معينة. على سبيل المثال ، إذا كانت M عبارة عن مصفوفة و S عددي ، فإن العبارة
M + = S؛
يعمل على بيانات M في الموضع إذا لم يتم مشاركتها من قبل متغير آخر ، عادةً زيادة كل من الوقت وكفاءة الذاكرة. تتأثر فقط المجموعات المشتركة المختارة ، وهي: مصفوفة + مصفوفة مصفوفة - = مصفوفة مصفوفة. * = مصفوفة مصفوفة. / / مصفوفة
matrix + = matal matrix - = matal matrix * = scalar matrix / = scalar
مصفوفة منطقية | = مصفوفة منطقية مصفوفة منطقية & amp؛ = مصفوفة منطقية
حيث تنتمي المصفوفة والقواعد إلى نفس الفئة. يجب أن يكون الجانب الأيسر مرجعًا متغيرًا بسيطًا.
علاوة على ذلك ، عندما تحدث المشغلات الأحادية في التعبيرات ، سيحاول Octave أيضًا إجراء العملية في مكانها إذا كانت الحجة عبارة عن تعبير مؤقت.تم تغيير تأثير عوامل المقارنة (، =) المطبقة على الأعداد المركبة بحيث تكون متسقة مع الترتيب الصارم المحدد بواسطة وظائف "max" و "min" و "sort". وبشكل أكثر تحديدًا ، تتم مقارنة الأعداد المركبة بمقارنة معجمية للأزواج `[abs (z) ، arg (z)] '. في السابق ، تمت مقارنة الأجزاء الحقيقية فقط ؛ هذا يمكن أن يتحقق بشكل بسيط من خلال التفاف المعاملات في الحقيقي ().
لقد تغير التبسيط التلقائي لنتائج الحساب المعقدة. سوف يقوم Octave الآن بتبسيط أي رقم معقد بجزء صفر متخيل أو أي مصفوفة معقدة مع جميع العناصر التي تحتوي على صفر جزء تخيلي إلى قيمة حقيقية. في السابق ، تم ذلك فقط للأصفار الإيجابية. لاحظ أن سلوك الدالة المعقدة بدون تغيير ولا يزال ينتج قيمة معقدة حتى إذا كان الجزء التخيلي صفرًا.
كأثر جانبي لإعادة بيع الكود في liboctave ، أصبحت العمليات المنطقية الثنائية الآن أكثر سهولة في تحسين الترجمة ، وبالتالي فهي أسرع بشكل ملحوظ.
تسمح Octave الآن لأساليب `subsasgn 'المعرفة من قبل المستخدم من أجل تحسين النسخ الاحتياطية. لمزيد من المعلومات ، راجع الدليل.
أكثر كفاءة التعامل مع تقسيم المصفوفة. أوكتاف الآن قادرة على التعامل مع التعبيرات M 'V M.' V V / M(M عبارة عن مصفوفة و V متجه) بشكل أكثر كفاءة في حالات معينة. على وجه الخصوص ، إذا كان M مثلثيًا ، فسيتم التعامل مع جميع التعبيرات الثلاثة من خلال مكالمة واحدة إلى xTRTRS (من LAPACK) ، مع علامات مناسبة. في السابق ، كانت جميع التعبيرات الثلاثة تتطلب تبديلًا ماديًا لـ M.
معالجة أكثر كفاءة لبعض عمليات المصفوفة الحقيقية المعقدة. على سبيل المثال ، إذا كانت RM عبارة عن مصفوفة حقيقية و CM مصفوفة معقدة ، RM CM
يمكن الآن تقييمها إما
معقد (RM الحقيقي (CM) ، RM imag (CM))
أو كما
مجمع (RM) CM ،
اعتمادا على الأبعاد. النموذج الأول يتطلب المزيد من الوقت والنسخ ، ولكن نصف عدد FLOP ، الذي عادة ما يجلب أداء أفضل إذا كان لدى RM صفوف كافية. سابقا ، كان يستخدم النموذج الثاني دائما.
يتأثر شعبة مصفوفة بالمثل.
معالجة أكثر كفاءة لعوامل المصفوفة المثلثية الناتجة عن عمليات التصنيع. ستقوم وظائف الحوسبة QR و LU و Cholesky الآن بإرجاع عوامل المثلث المثلث تلقائياً مع مجموعة matrix_type داخلية مناسبة ، بحيث لا تحتاج إلى حساب عندما يتم استخدام المصفوفة للتقسيم.تتعامل الدالة "sum" المدمجة الآن مع المجموعة غير الأصلية (أي ، مجموع الدقة المزدوجة للمدخلات الفردية أو الأعداد الصحيحة) بشكل أكثر فاعلية ، مما يؤدي إلى تجنب التحويل المؤقت لمصفوفة الدخل بالكامل إلى مضاعفة. علاوة على ذلك ، يمكن أن يوافق "المجموع" الآن على وسيطة خيار إضافي ، باستخدام خوارزمية جمع تعويض بدلاً من مبلغ مباشر ، والذي يحسن بشكل ملحوظ الدقة إذا حدث الكثير من الإلغاء في المجموع.
تستخدم الدالة bsxfun المدمجة الآن رمزًا محسنًا لحالات معينة يتم فيها تمرير معاملات المشغل المضمنة. وبالتحديد ، تتعلق التحسينات بمشغلي `زائد '،' ناقص '،' أوقات '،' ldivide '،' rdivide '،' power '،' and '،' or '(for arrays logical)، the relational operator `e'، 'ne'، 'lt'،` le '، `gt'،` ge '، and the functions ` دقيقة و "ماكس". تنطبق التحسينات فقط عندما يكون كلا المعاملين من نفس الفئة المضمنة. ستقوم العمليات المختلطة الحقيقية / المعقدة والمفردة / المزدوجة أولاً بتحويل كلا المعاملين إلى نوع شائع.لقد جمعت الدالتان "strfind" و "strrep" الآن عمليات تنفيذ ، مما يسهل البحث والاستبدال بشكل أكثر كفاءة في السلاسل ، خاصة مع الأنماط الأطول. تم تعميم رمز "strcat" وأصبح الآن أكثر فاعلية عندما تكون سلاسل كثيرة متسلسلة. الدالتان "strcmpi" و "strncmpi" هي الآن وظائف مدمجة ، توفر أداءً أفضل.
يتم الآن اعتماد نمط Matlab تجاهل وسائط الدالة الإدخال والإخراج باستخدام tilde (~). قد يتم اكتشاف وسائط الإخراج غير المتجاورة من دالة باستخدام الدالة المضمنة `isargout '. لمزيد من التفاصيل ، راجع الدليل.
تمت إزالة نوع البيانات القائمة ، الذي تم إيقافه منذ إدخال الخلايا.
تم تحسين وظيفة accumarray وهي الآن أسرع بشكل ملحوظ في بعض الحالات الهامة.
تم تغيير سلوك وظائف isreal و isnumeric ليكون أكثر متوافق مع Matlab.
الرياضيات الصحيحة & أمبير ؛ تحذيرات تحويل (Octave: int-convert-nan، Octave: int-convert-non-int-val، Octave: int-convert-overflow، Octave: int-math-overflow) تمت إزالتها.
ريم و وزارة الدفاع هي الآن مدمجة في وظائف. كما أنها تتعامل مع أنواع الأعداد الصحيحة بكفاءة باستخدام الحساب الصحيح.تم إعادة كتابة الفهرسة المتفرقة والمهمة المفهرسة في الغالب. بما أن Octave تستخدم تخزين عمود مضغوط للمصفوفات المتفرقة ، فإن اهتمامًا كبيرًا يتم تخصيصه لعمليات معالجة أعمدة كاملة. هذه العمليات الآن أسرع بكثير ، وكذلك بعض الحالات الهامة الأخرى.
وعلاوة على ذلك ، أصبح من الممكن الآن تخصيص مصفوفة متفرقة ثم تعبئتها عن طريق التخصيصات بشرط أن تستوفي شروطاً معينة. لمزيد من المعلومات ، راجع وظيفة `spalloc '، التي لم تعد مجرد دمية. وبالتالي ، لم يعد nzmax و nnz متساويين دائمًا في Octave. قد ينتج Octave أيضًا مصفوفة مع nnz & lt؛ nzmax نتيجة لعمليات أخرى ، لذلك يجب عليك استخدام nnz باستمرار إلا إذا كنت تريد حقا استخدام nzmax (أي المساحة المخصصة للعناصر غير الصفر).
كما تتأثر سلسلة متفرقة ، وسلسلة المصفوفات المتناثر ، وخاصة المجموعات الكبيرة ، هي الآن أكثر فعالية بشكل كبير. ينطبق هذا على كل من المشغل [] ووظائف cat / vertcat / horzcat.من الممكن الآن استخدام برامج تشغيل lsgack xGESDD بشكل اختياري لحساب تحلل القيمة المفردة باستخدام svd () ، بدلاً من xGESVD الافتراضي ، وذلك باستخدام svd_driver المتغير pseudo-variable. يمكن أن تصل سرعة برنامج تشغيل xGESDD إلى 6 مرات أسرع عندما يتم طلب ناقلات فريدة ، ولكن يُقال أنها أقل قوة في المصفوفات سيئة التكييف.
متغيرات التهيئة الزائفة ، مثل page_screen_output أو confirm_recursive_rmdir (أو svd_driver المذكور أعلاه) ، تقبل الآن خيار "محلي" كوسيطة ثانية ، تطلب تغيير التراجع عندما ترجع الدالة الحالية: الوظيفة [status، msg] = rm_rf ( dir) confirm_recursive_rmdir (false، "local")؛ [status، msg] = rmdir (dir، "s")؛ ... endfunction عند العودة ، سيتم استعادة confirm_recursive_rmdir إلى القيمة التي كانت عليها عند الدخول إلى الوظيفة ، حتى إذا كانت هناك تغييرات لاحقة للمتغير في الدالة rm_rf أو أي من الوظائف التي تستدعيها.يقبل pkg الآن خيار -forge لتحميل وتثبيت الحزم من Octave Forge تلقائيًا. على سبيل المثال ، سوف يقوم pkg install -forge general تلقائيًا بتنزيل أحدث إصدار من الحزمة العامة ومحاولة تثبيته. يتم توفير لا التلقائي من التبعيات. بالإضافة إلى ذلك،
يمكن استخدام قائمة pkg -forge لإدراج جميع الحزم المتوفرة.
** تم إعادة كتابة تمثيل البيانات الداخلية للبنى بالكامل لجعل بعض التحسينات ممكنة. يمكن الآن مشاركة بيانات الحقل بين البنيات بمفاتيح متساوية ولكن بأبعاد أو قيم مختلفة ، مما يجعل العمليات التي تحافظ على الحقول أسرع. يتم الآن استخدام التخزين المقتصدة للبنى القياسية (مثل معظم الأنواع الأخرى) ، مما يجعل استخدامها أكثر كفاءة في الذاكرة. اكتسبت عمليات معينة على غرار مجموعة على الهياكل (تسلسل ، cellfun موحد ، num2cell) تسريع كبير. بالإضافة إلى ذلك ، توفر فئة octave_scalar_map الآن واجهة أسهل للعمل مع الهياكل العددية داخل دالة DLD C ++.
** يتوفر تنسيقان جديدان لعرض الأرقام:
شكل قصير المهندس eng
كل من أرقام العرض في تدوين هندسي ، بمعنى ، mantissa + exponent حيث يكون الأس هو مضاعف 3.** الوظائف التالية جديدة في Octave 3.4:
accumdim erfcx nfields pqpnonneg uigetdir bitpack fileread nth_element quadcc uigetfile bitunpack fminbnd onCleanup راندي uiputfile blkmm fskipl pbaspect repelems uimenu CBRT ifelse pie3 إعادة whitebg حليقة ishermitian باورسيت rsf2csf ختم isindex ppder حفظ باسم daspect luupdate ppint strread الاختلاف دمج ppjumps textread
** لم يعد استخدام وظيفة الصورة لعرض الصور مع البرامج الخارجية مثل العرض ، و xv ، و xloadimage مدعومًا. تمت إزالة وظيفة image_viewer أيضًا.
** تم تغيير سلوك تعيينات البنية إلى قيم غير هيكلية. في السابق ، كان من الممكن استبدال قيمة تعسفية: a = 1؛ a.x = 2 ؛
هذا لم يعد ممكنا إلا إذا كان مصفوفة فارغة أو صفيف الخلية.
** تم تمديد وظيفة dlmread للسماح بتحديد قيمة مخصصة للحقول الفارغة.
** تم تعديل الدالتين dlmread و dlmwrite لقبول معرفات الملفات (كما تم إرجاعها بواسطة fopen) بالإضافة إلى أسماء الملفات.** يمكن أن يقوم Octave الآن بتحسين مقدار حمل المترجم لمفرد الدالة المجهولة ، إذا كانت الوظيفة تقوم ببساطة باستدعاء وظيفة أو مقبض آخر مع بعض معلماته المرتبطة بقيم معينة. مثال: f = @ (x) sum (x، 1)؛
عندما يتم استدعاء f ، يتم إعادة توجيه المكالمة إلىsum مع الثابت 1 الملحقة ، ولا يحدث استدعاء الدالة المجهولة في مكدس الاستدعاءات.
وظائف موقوفة.
تم إيقاف الوظائف التالية في Octave 3.2 وستتم إزالتها من Octave 3.6 (أو أي إصدار هو الإصدار الرئيسي الثاني بعد 3.2):
create_set spcholinv splu dmult spcumprod spmax iscommand spcumsum spmin israwcommand spdet spprod lchol spdiag spqr loadimage spfind spsum mark_as_command sphumsq mark_as_rawcommand spinv spvcat spatan2 spkron str2mat spchol splchol unmark_command spchol2inv split unmark_rawcommand
تم إيقاف الوظائف التالية في Octave 3.4 وستتم إزالتها من Octave 3.8 (أو أي إصدار هو الإصدار الرئيسي الثاني بعد 3.4):
إرسال الموضوع إلى Digg إرسال الموضوع إلى delkom إرسال الموضوع إلى
للتوافق مع Matlab ، mu2lin (x) الآن يعادل mu2lin (x ، 0).يتم الآن توزيع مكتبة ARPACK مع Octave بحيث لم يعد بحاجة إلى توفرها كاعتمادية خارجية عند إنشاء Octave.

ما هو الجديد في الإصدار 3.2.3:



اوكتاف 3.2.3 هو الافراج عن الشوائب

الجديد في الإصدار 3.0.4:



اوكتاف 3.0.4 هو الافراج عن الشوائب. تم الإبلاغ عن معظم الأخطاء منذ تم إصلاح الإصدار 3.0.3. يرجى ملاحظة أن Octave 3.0 يختلف اختلافًا كبيرًا عن Octave 2.1.x ، لا سيما فيما يتعلق بالرسومات ومسار المسار والمتغيرات المضمنة.

برامج مماثلة

Racket
Racket

27 Sep 15

GNU Cobol
GNU Cobol

17 Feb 15

Enchanting
Enchanting

14 Apr 15

purepy
purepy

14 Apr 15

البرامج الأخرى من المطور John W. Eaton

Octave
Octave

2 Jun 15

تعليقات ل GNU Octave

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!