GNU Octave

نرم افزار تصویر:
GNU Octave
جزئیات نرم افزار:
نسخه: 4.4.0 به روز شده
ها تاریخ: 22 Jun 18
توسعه دهنده: John W. Eaton
پروانه: رایگان
محبوبیت: 327

Rating: 2.7/5 (Total Votes: 3)

GNU Octave یک منبع باز و پروژه نرم افزاری فرمان خطی آزادانه است که هدف آن ارائه یک زبان سطح بالا قدرتمند، آسان برای استفاده و توسعه پذیر است که می تواند برای محاسبات عددی استفاده شود.


می توان برای حل عددی مشکلات خطی و غیر خطی استفاده کرد

از این نرم افزار می توان برای حل عددی هر دو مسئله خطی و غیر خطی و نیز انجام آزمایش های مختلف عددی استفاده کرد. این سازگار با MATLAB است، یک محیط محاسباتی عددی چند پارادایم است و می تواند به عنوان زبان گسسته گرا مورد استفاده قرار گیرد.

علاوه بر این، GNU Octave خدمات مختلفی را ارائه می دهد که به شما امکان می دهد تا مشکلات جبر عددی عددی را حل کنید، چند جمله ای را دستکاری کنید، توابع عادی را ادغام کنید، ریشه های معادلات غیر خطی را کشف کرده و معادلات دیفرانسیل-جبری و دیفرانسیل را به کار ببرید. / p>

شما می توانید از ماژول های بارگذاری شده پویا یا توابع تعریف شده توسط کاربر برای گسترش GNU Octave استفاده کنید. این ها را می توان در زبان برنامه نویسی Octave & rsquo؛ و یا در C، C ++، Fortran و غیره نوشته شده است.

شروع به کار با GNU Octave

دو روش برای نصب GNU Octave در یک سیستم عامل گنو / لینوکس وجود دارد. اولین مورد ساده ترین و شامل جستجو در & octave & rdquo؛ بسته نرم افزاری نرم افزار مرکز (به عنوان مثال Package Manager Synaptic) توزیع شما.

روش دوم به شما کمک می کند که آخرین نسخه محصول را نصب کنید، اما این شامل اجرای دستورات در یک شبیه ساز ترمینال می شود. اگر شما با آن دست و پنجه نرم کنید، آخرین بسته منبع را از Softoware یا از صفحه اصلی رسمی پروژه دانلود کنید (لینک را در انتهای مقاله ببینید)، آن را در رایانه خود ذخیره کنید و آن را باز کنید.

یک برنامه شبیه ساز ترمینال را باز کنید، & lsquo؛ سی دی را اجرا کنید & rsquo؛ فرمان به دنبال مسیر به محل فایل های بایگانی استخراج شده (به عنوان مثال cd /home/softoware/octave-3.8.2)، اجرای & lsquo؛ ./ پیکربندی & amp؛ & amp؛ ایجاد & rsquo؛ دستور را برای پیکربندی و کامپایل برنامه، و سپس اجرای & lsquo؛ sudo make install & rsquo؛ دستور نصب آن با استفاده از & lsquo؛ اکتاو & rsquo؛ از رابط خط فرمان استفاده کنید. دستور

زیر کاپوت

نگاهی به زیر کاپوت برنامه گاو اکتاو، می توانیم متوجه شویم که به طور کامل در زبان برنامه نویسی C ++ نوشته شده است. ما آن را در چندین توزیع گنو / لینوکس، از جمله Arch Linux و Ubuntu با استفاده از دستورالعمل ارائه شده در بخش فوق، نصب کردیم. این نرم افزار با سیستم عامل های 32 بیتی و 64 بیتی سازگار است.

چه جدید در این نسخه است:

یکی از بزرگترین ویژگی های جدید برای سری آزادی Octave 3.8.x یک رابط کاربری گرافیکی است این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

چه جدید در این نسخه است:

یکی از بزرگترین ویژگی های جدید برای نسخه آزمایشی Octave 3.8.x یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

چه جدید در نسخه 4.2.0 است:



یکی از بزرگترین ویژگی های جدید برای نسخه آزمایشی Octave 3.8.x یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

چه جدید در نسخه 4.0.3 است:


یکی از بزرگترین ویژگی های جدید برای نسخه آزمایشی Octave 3.8.x یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

چه جدید در نسخه 4.0.1 است:



یکی از بزرگترین ویژگی های جدید برای نسخه آزمایشی Octave 3.8.x یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

در نسخه 4.0.0 جدید است:


یکی از بزرگترین ویژگی های جدید برای نسخه آزمایشی Octave 3.8.x یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

چه جدید در نسخه 3.8.2 جدید است:



یکی از بزرگترین ویژگی های جدید برای نسخه آزمایشی Octave 3.8.x یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )

چه جدید در نسخه 3.8.0 است:


یکی از بزرگترین ویژگی های جدید برای Octave 3.8 یک رابط کاربری گرافیکی است. این یک چیز است که کاربران اغلب درخواست کرده اند در چند سال گذشته و اکنون تقریبا آماده است. اما به دلیل آنکه کاملا تمیز نیست، ما تصمیم گرفتیم تا نسخه آزمایشی 4.0.x قبل از ساخت GUI رابط پیش فرض (تا آن زمان، شما می توانید از گزینه --force-gui برای شروع GUI استفاده کنید )
با توجه به طول زمان و تعداد رفع اشکالات و بهبود از آخرین اکتاو عمده انتشار، ما همچنین تصمیم گرفت تا انتشار همه این پیشرفت های جدید را طولانی تر فقط به منظور بهبود GUI. بنابراین لطفا از نسخه 3.8 Octave و پیش نمایش GUI جدید لذت ببرید. ما اعتقاد داریم که این کار به اندازه کافی خوب است، اما ما همچنین می دانیم که برخی از نقاط آشکار و بسیاری از چیزهایی که می تواند بهبود یافته است وجود دارد.

چه جدید در نسخه 3.4.0 جدید است:

کتابخانه های BLAS و LAPACK اکنون برای ساخت اکتا نیاز دارند. زیر مجموعه کتابخانه های BLAS و LAPACK مرجع از منابع اکتا حذف شده است.
تابع `lookup 'برای جستجوی دوتایی عمومی هدف مفیدتر بود. با استفاده از این بهبود، تابع عضو برای عملکرد قابل ملاحظه بهتر بازنویسی شد.
ماتریس واقعی، عدد صحیح و منطقی زمانی که در نمایه سازی استفاده می شود، در حال حاضر شاخص index_vector داخلی (شاخص های مبتنی بر صفر) را هنگامی که به طور موفقیت آمیزی به عنوان شاخص ها استفاده می شود، ذخیره می کند و مجازات تبدیل را برای نمایه سازی بعدی توسط همان ماتریس حذف می کند. به طور خاص این به این معنی است که دیگر نیازی به اجتناب از تکرار نشان دادن توسط آرایه های منطقی با استفاده از پیدا کردن به دلایل عملکرد دیگر نیست.
ماتریسهای منطقی در حال حاضر به صورت مؤثرتر مورد استفاده قرار میگیرند. اکتاو شاخص را به عنوان یک ماسک منطقی حفظ خواهد کرد، مگر اینکه نسبت عناصر واقعی به اندازه کافی کوچک باشد، با استفاده از یک کد تخصصی. پیش از این، تمام ماتریسهای منطقی همیشه ابتدا به بردارهای شاخص تبدیل شدند. این باعث صرفه جویی در هر دو زمان حافظه و محاسبات می شود.توابع 'sub2ind' و 'ind2sub' به عنوان تابع کامپایل شده برای عملکرد بهتر دوباره اجرا شدند. این توابع در حال حاضر سریعتر هستند، می توانند نتایج مقرون به صرفه تر را برای محدوده ارائه دهند، و می توانند مکانیزم ذخیره سازی فهرست شده در پاراگراف قبلی را دوباره استفاده کنند.
عملگرهای ساخته شده در عملکردهای وابسته (`plus '،` times'، 'mtimes'، 'و' و 'یا') برای پذیرش چندین استدلال گسترش یافته است. این به خصوص برای جمع کردن (ضرب و غیره) لیستی از اشیاء (از انواع متمایز) مفید است:
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)؛
رفتار پیش فرض 'assert (مشاهده شده، مورد انتظار') آرام شده است تا از تست های سخت تر استفاده کند که نیازی به ارزیابی درونی مقادیر برای مطابقت ندارد. این از آزمایشات قبلا معتبر از شکستن با توجه به کلاس های داخلی جدید ارائه شده در نسخه های اکتاوی آینده اجتناب می کند.
به عنوان مثال، تمام این اظهارات در Octave 3.0.x درست بود اما در 3.2.x با توجه به بهینه سازی ها و پیشرفت های جدید دروغین است.ادعا می کند (2 * linspace (1، 5، 5)، 2 * (1: 5)) ادعا (صفر (0، 0)، []) ادعا (2 * آنهایی (1، 5)، (2) 1،5)))
رفتار توابع کتابخانه `ismatrix '،` square' و 'issymmetric' برای سازگاری بهتر تغییر کرده است. تابع 'ismatrix' در حال حاضر برای تمام ماتریس های 2، D و یا N-D عددی، منطقی و شخصیت درست می شود. پیش از این، `ismatrix 'بازگشتی نادرست بود اگر اولین یا دوم بعد صفر باشد. از این رو، `ismatrix ([]) 'اشتباه بود، در حالی که' ismatrix (صفر (1،2،0)) 'درست بود.
تابع `square 'اکنون یک اسکالر منطقی را باز می کند و معادل آن است
ismatrix (x) & amp؛ & amp؛ ndims (x) == 2 & amp؛ & amp؛ ردیف (x) == ستون (x)
ابعاد دیگر بازگشته است. به عنوان یک نتیجه، `sqquare ([]) در حال حاضر درست است. تابع "تقریب آماری" هم اکنون به جای تقسیم بندی تقارن را بررسی می کند. برای دوم، Ishermithian ایجاد شد. همچنین، اسکالر منطقی به جای ابعاد برگشت می شود، بنابراین 'issymmetric ([])' در حال حاضر درست است. دسته های عملکردی در حال حاضر از توابع بیش از حد آگاه هستند. اگر یک تابع بیش از حد باشد، دسته در زمان ارجاع خود که عملکرد تماس را تعیین می کند تعیین می کند. نسخه بدون بارگذاری لازم نیست که وجود داشته باشد.توابع اضافه بار برای کلاس های ساخته شده (دو، int8، سلول، و غیره) در حال حاضر با Matlab سازگار است.
اکنون دسته عملکرد را می توان با عملگرهای == و! =، و نیز تابع `نابرابر 'مقایسه کرد.
عملکرد پیوندی (با استفاده از []) و توابع `cat '،` horzcat' و 'vertcat' برای آرایه های چند بعدی بهبود یافته است.
اپراتورهای تخصیص عملیات + =، - =، * = و / = در حالات رفتار در موارد خاص کارآمدتر هستند. به عنوان مثال، اگر M یک ماتریس است و S یک اسکالر است، آن عبارت
M + = S؛
در صورت مواجه شدن با داده های M در مکان دیگری با متغیر دیگری به اشتراک گذاشته خواهد شد، و معمولا افزایش کارایی زمان و حافظه را افزایش می دهد. تنها ترکیبات انتخاب شده مشترک، تحت تاثیر قرار می گیرند، یعنی: matrix + = matrix matrix - = matrix matrix * matrix matrix matrix matrix
ماتریس + = ماتریس اسکالر - = ماتریس اسکالر * = ماتریس اسکالر / = اسکالر
ماتریس منطقی | = ماتریس منطقی ماتریس منطقی & amp؛ = ماتریس منطقی
جایی که ماتریس و اسکالر متعلق به یک کلاس است. سمت چپ باید مرجع متغیر ساده باشد.
علاوه بر این، هنگامی که اپراتورهای غیرمعمول در عبارات رخ می دهند، اکتاو همچنین سعی خواهد کرد عملیات را در محل انجام دهد، اگر این استدلال یک بیان موقت است.اثر اپراتورهای مقایسه (، =) به عناصر پیچیده اعمال شده تغییر کرده است که با دستور دقیق تعریف شده توسط توابع 'max'، 'min' و 'sort' سازگار است. به طور خاص، اعداد پیچیده با مقایسه لغوی از جفت '[abs (z)، arg (z)]' مقایسه می شوند. پیش از این، فقط قطعات واقعی مقایسه شدند؛ این می تواند به صورت سهبعدی توسط بسته شدن اپرات ها در واقع () حاصل شود.
ساده سازی ساده نتایج محاسبات پیچیده تغییر کرده است. اکتاو اکنون هر عدد پیچیده را با یک بخش صفر خیالی یا هر ماتریس پیچیده با تمام عناصر دارای بخش صفر خیالی به یک مقدار واقعی ساده می کند. پیش از این، این فقط برای صفرهای مثبت انجام شد. توجه داشته باشید که رفتار تابع پیچیده بدون تغییر است و هنوز مقدار پیچیده ای را تولید می کند، حتی اگر بخش خیالی صفر باشد.
به عنوان یک اثر جانبی از refactoring کد در liboctave، عملیات منطقی دودویی در حال حاضر به راحتی قابل مقابله با بهینه سازی کامپایلر است و بنابراین به طور قابل توجهی سریع تر.
اکنون Octave اجازه می دهد روش های تعریف شده توسط کاربر تعریف شده برای بهینه سازی نسخه های کپی شده از کار بیفتد. برای اطلاعات بیشتر، به کتابچه راهنمای مراجعه کنید.
مدیریت ماتریس کارآمد تر. اکتاو اکنون قادر است عبارات M 'V M. را اداره کند. V V / M(M یک ماتریس و V یک بردار) در موارد خاص موثرتر است. به طور خاص، اگر M مثلث باشد، هر سه عبارت با یک تماس واحد به xTRTRS (از LAPACK)، با پرچم های مناسب مورد استفاده قرار می گیرد. قبلا، تمام این سه اصطلاح نیاز به انتقال فیزیکی از م داشتند.
مدیریت کارآمد تر از عملیات ماتریس حقیقی مختلط خاص. به عنوان مثال، اگر RM یک ماتریس واقعی و CM یک ماتریس پیچیده است، CM CM
اکنون می توانید به صورت زیر ارزیابی شود
پیچیده (RM واقعی (CM)، RM نگاه (CM))
یا به عنوان
پیچیده (RM) CM
بسته به ابعاد فرم اول نیاز به زمان بندی بیشتر و کپی کردن دارد، اما شمارش FLOP را نصف می کند، که معمولا اگر RM دارای ردیف های کافی باشد، عملکرد بهتر را به ارمغان می آورد. قبلا، فرم دوم همیشه مورد استفاده قرار گرفت.
بخش ماتریکس به طور مشابه تحت تاثیر قرار می گیرد.
راندمان کارآمدتری از عوامل ماتریس مثلثی از فاکتورها باز می گردد. توابع برای محاسبه فاکتورهای QR، LU و Cholesky اکنون به طور خودکار عوامل ماتریس مثلثی را با مجموعه ای از ماتریس داخلی داخلی به نمایش می گذارند، بنابراین زمانی که ماتریس برای تقسیم استفاده می شود، نیازی به محاسبه نیست.تابع ساخته شده در 'sum' در حال حاضر مجموع جمعیت غیر بومی (به عنوان مثال، مجموع دقت دوگانه ورودیهای یک یا یک عدد صحیح) را به طور موثر تر انجام می دهد، اجتناب از تبدیل موقت کل آرایه ورودی به دو برابر شدن. علاوه بر این، 'sum' هم اکنون می تواند یک استدلال گزینه اضافی را با استفاده از یک الگوریتم جمع جبران شده به جای یک عدد ساده، که به طور قابل توجهی دقت را افزایش می دهد، اگر مقدار زیادی لغو در جمع جمع شود.
تابع ساخته شده در `bsxfun 'در حال حاضر از کد بهینه شده برای موارد خاصی استفاده می کند که در آن دستگیره های اپراتور داخلی وارد شده اند. یعنی بهینه سازی ها مربوط به اپراتورها' plus '،` minus'، `times '،` ldivide'، `rdivide '، `قدرت'،` و '، `یا' (برای آرایه های منطقی)، اپراتورهای ارتباطی eq '،` ne'، `lt '،` le'، `gt '،` ge' و توابع ` دقیقه 'و' حداکثر '. بهینه سازی ها فقط زمانی اعمال می شود که هر دو اپندر از همان کلاس ساخته شده اند. اولین عملیات ترکیبی واقعی / پیچیده و یکنواخت / دو برای اولین بار هر دو اپندر را به یک نوع رایج تبدیل می کند.توابع `strfind 'و' strrep 'در حال حاضر پیاده سازی ها را کامپایل کرده اند، به طوری که به راحتی قابل جستجو و جایگزینی در رشته ها هستند، به ویژه با الگوهای طولانی تر. کد "strcat" بردار شده است و در حال حاضر بسیار کارآمدتر است، زمانی که بسیاری از رشتهها پیوند دارند. توابع `strcmpi 'و` strncmpi' در حال حاضر در توابع ساخته شده است، ارائه عملکرد بهتر.
در حال حاضر با پشتیبانی از متلب با استفاده از تیلد (~)، پارامترهای عملکرد ورودی و خروجی را نادیده می گیریم. استدلال خروجی نادیده گرفته شده ممکن است از یک تابع با استفاده از تابع ساخته شده در 'isargout' شناسایی شود. برای اطلاعات بیشتر، به دفترچه راهنما مراجعه کنید.
نوع داده لیست، که از زمان معرفی سلول ها نادیده گرفته شده، حذف شده است.
عملکرد تجمعی بهینه شده است و در حال حاضر به طور قابل توجهی سریعتر در موارد خاص مهم است.
رفتارهای واقعی و عددی عادی به Matlab سازگارتر شده است.
ریاضی عدد صحیح & amp؛ هشدارهای تبدیل (Octave: int-convert-nan، Octave: int-convert-non-int-val، Octave: int-convert-overflow، Octave: int-math-overflow) حذف شده است.
rem و mod در حال حاضر ساخته شده است در توابع. آنها همچنین با استفاده از ریاضی عدد صحیح به طور صحیح کار می کنند.اغلب بازنویسی فهرست بندی و نمایه سازی شده است. از آنجا که Octave از ذخیره سازی ستون فشرده برای ماتریس های نزولی استفاده می کند، توجه زیادی به عملیات دستکاری ستون ها اختصاص داده شده است. چنین عملیاتی در حال حاضر به میزان قابل توجهی سریعتر است و همچنین برخی موارد مهم دیگر.
علاوه بر این، اکنون می توان یک ماتریس نزولی را پیش تخصیص داد و سپس آن را با تکالیف پر کرد، مگر اینکه شرایط خاصی را برآورده کند. برای کسب اطلاعات بیشتر، به عملکرد `spalloc 'مشورت دهید، که دیگر نه تنها ساختگی است. در نتیجه، nzmax و nnz دیگر در اکتا همیشه برابر نیستند. اکتاو همچنین می تواند یک ماتریس با nnz & lt؛ nzmax به عنوان یک نتیجه از عملیات دیگر، بنابراین شما باید به طور مداوم از nnz استفاده کنید، مگر اینکه واقعا میخواهید از nzmax استفاده کنید (یعنی فضای اختصاص یافته به عناصر غیر صفر).
همپوشانی انحصاری نیز تحت تأثیر قرار گرفته است، و ترکیب ماتریس های نزولی، به ویژه مجموعه های بزرگ، در حال حاضر به طور قابل توجهی کارآمد تر است. این مورد مربوط به هر دو اپراتور [] و گربه / vertcat / horzcat است.در حال حاضر ممکن است به صورت اختیاری درایور xGESDD LAPACK برای محاسبه تجزیه مقدار منحصر به فرد با استفاده از svd ()، به جای پیش فرض xGESVD، با استفاده از svd_driver pseudo-variable پیکربندی کنید. راننده xGESDD می تواند تا 6 برابر سریعتر باشد، در صورتیکه یک بردار اختصاصی درخواست می شود، اما گزارش شده است که تا حدودی کمتر در ماتریس بسیار مضر است.
شبه متغیرهای پیکربندی مانند page_screen_output یا confirm_recursive_rmdir (یا svd_driver ذکر شده در بالا) اکنون گزینه "local" را به عنوان argument دوم قبول می کنند، درخواست تغییر زمانی که تابع فعلی بازگردانده شود، بازگردانده شود: function [status، msg] = rm_rf ( dir) confirm_recursive_rmdir (اشتباه، "محلی")؛ [وضعیت، پیام] = rmdir (dir، "s")؛ ... endfunction پس از بازگشت، confirm_recursive_rmdir به مقداری که در ورود به تابع وجود دارد، بازگردانده می شود، حتی اگر تغییرات بعدی در متغیر در تابع rm_rf یا هر یک از توابع مورد نظر وجود داشته باشد.pkg در حال حاضر گزینه فرمان برای دانلود و نصب بسته ها را از Octave Forge به صورت خودکار می پذیرد. به عنوان مثال، pkg install -forge general به طور خودکار آخرین نسخه بسته عمومی را دانلود و تلاش می کند آن را نصب کند. هیچ تصحیح خودکار وابستگی ها ارائه نشده است. به علاوه،
فهرست pkg -forge را می توان برای لیست تمام بسته های موجود استفاده کرد.
** نمایش داده های داخلی از ساختارها به طور کامل بازنویسی شده است تا امکان بهینه سازی خاص فراهم شود. داده های زمینه اکنون می توانند بین ساختارها با کلید های برابر، اما ابعاد یا مقادیر مختلف، و عملیات هایی که زمینه های سریع تر را حفظ می کنند، به اشتراک گذاشته شود. ذخیره سازی ذخیره شده در حال حاضر برای ساختارهای اسکالر (درست مثل اکثر اسکالرهای دیگر) استفاده می شود، و استفاده از آنها برای صرفه جویی در مصرف حافظه بیشتر است. بعضی از عملیات آرایه مانند structs (concatenation، cellfun uniform، num2cell) سرعت قابل توجهی به دست آورده اند. علاوه بر این، کلاس octave_scalar_map در حال حاضر یک رابط ساده تر برای کار با ساختارهای اسکالر در یک تابع C ++ DLD فراهم می کند.
** برای نمایش شماره ها دو فرمت جدید در دسترس هستند:
فرمت کوتاه قالب eng long eng
هر دو عدد در نماد مهندسی، به عنوان مثال، نماد mantissa + که در آن نماد یک عدد 3 است.** توابع زیر در Octave 3.4 جدید هستند:
انباشتگی erfcx nfields pqpnonneg uigetdir bitpack filerad nth_element quadcc uigetfile bitunpack fminbnd onCleanup randi uiputfile blkmm fskipl pbaspect تکرار می کند uimenu cbrt ifelse pie3 تنظیم مجدد whitebg curl ishermitian poweret rsf2csf ریزش isindex ppder saveas daspect lupudate ppint strread divergence merge ppjcop textread
** با استفاده از تابع تصویر برای مشاهده تصاویر با برنامه های خارجی مانند صفحه نمایش، xv و xloadimage دیگر پشتیبانی نمی شود. عملکرد image_viewer نیز حذف شده است.
** رفتار تخصیص ساختار به مقادیر غیر ساختاری تغییر کرده است. پیش از این، می توان یک مقدار دلخواه را بازنویسی کرد: a = 1؛ a.x = 2؛
این دیگر امکان پذیر نیست مگر اینکه یک ماتریس خالی یا آرایه سلولی باشد.
** تابع dlmread گسترش یافته است تا امکان تعیین مقدار دلخواه برای فیلدهای خالی را فراهم کند.
** توابع dlmread و dlmwrite برای پذیرفتن شناسه های فایل (همانطور که توسط fopen بازگردانده شده اند) به علاوه نام فایل ها اصلاح شده اند.** اکتاو اکنون می تواند سربار مترجم یک دسته تابع ناشناس را بهینه سازی کند، اگر عملکرد به سادگی یک تابع دیگر را انجام می دهد یا برخی از پارامترهای آن را به مقادیر معین مرتبط می کند. مثال: 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 sphcat spsumsq mark_as_rawcommand spinv spvcat spatan2 spkron str2mat spchol splchol unmark_command spchol2inv split unmark_rawcommand
توابع زیر در Octave 3.4 خاتمه یافته اند و از Octave 3.8 حذف خواهند شد (یا نسخه دوم دومین انتشار مهم بعد از 3.4):
autocor cellidx gammai krylovb ارزش autocov dispatch glpkmex replicate betai fstat is_global saveimage
برای سازگاری با Matlab، mu2lin (x) اکنون معادل mu2lin (x، 0) معادل است.کتابخانه ARPACK در حال حاضر با Octave توزیع شده است، بنابراین در هنگام ساخت اکتا نیازی به در دسترس بودن به عنوان وابستگی خارجی نیست.

چه جدید در نسخه 3.2.3 است:



Octave 3.2.3 انتشار آزمایشی رفع اشکال است

چه جدید در نسخه 3.0.4 است:



Octave 3.0.4 انتشار آزمایشی رفع اشکال است. اکثر اشکالات گزارش شده از زمان انتشار نسخه 3.0.3 ثابت شده است. لطفا توجه داشته باشید که Octave 3.0 به طور قابل توجهی از Octave 2.1.x متفاوت است، به ویژه در رابطه با گرافیک، مدیریت مسیر و متغیرهای ساخته شده است.

نرم افزار های مشابه

Cake
Cake

14 Apr 15

Pyexpander
Pyexpander

20 Feb 15

Brainy
Brainy

14 Apr 15

GNU BPEL2oWFN
GNU BPEL2oWFN

3 Jun 15

نرم افزار های دیگر از توسعه دهنده John W. Eaton

Octave
Octave

2 Jun 15

نظرات به GNU Octave

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!