نرم افزارهای جایگزین متلب
متمتیکا
متمتیکا (انگلیسی: Mathematica)، یک نرمافزار جبری بسیار رایج، پدیدآوردهشده توسط شرکت ولفرم ریسرچ است که اکثر توابع نرمافزاری موردنیاز در ریاضی و علوم طبیعی را در اختیار استفادهکنندگان آن قرار میدهد.
مهمترین قابلیتهای این نرمافزار عبارتاند از:
- یک سامانه رایانهای جبری (Computer algebra system) برای بررسی نمادین (سمبُلیک) معادلهها
- یک نرمافزار عددی (Numerical software) برای حل عددی معادلهها
- یک نرمافزار آماری (Statistical software) برای حل مسائل آماری
- توابع ترسیمی و تجسمی (Visualization) برای رسم نمودارها توسط نرمافزار پابلیکون
- یک زبان برنامهنویسی
برنامهنویس و تأسیس کننده شرکت، «استیفن ولفرام» به همراه تیماش کار خود را برای ایجاد مثمتیکا، سال ۱۹۸۶ آغاز کرد و اولین نسخه آن را سال ۱۹۸۸ بیرون داد.
رقیبان اصلی این برنامه عبارت هستند از:
- در جبر: متکد، میپل، مکسیما، درایو
- در تحلیل عددی: متلب
- در استفادههای کاربردی: لبویو، پابلیکون، گنوپلات
=============================
متکد
نام یکی از نرمافزارهای شرکت Mathsoft است که توانایی محاسبه مانند ماشین حساب تونایی کشیدن تابعهای دوبعدی و سه بعدی را نیز دارد. اولین بار توسط Allen Razdow یکی از دانشجویان موسسه تکنولوژی ماساچوست نوشته شده است. این برنامه در سال 2006 توسط شرکت ( PTC ( Parametric Technology Company خریداری و توسعه یافت.
Mathcad چیست؟
متخصصین و دانشجویان زیادی در سراسر جهان، از مت کد برای انجام محاسبات، مستند سازی، مدیریت و به اشتراک گذاری آن جهت کارهای طراحی استفاده می کنند. شکل ظاهری منحصربهفرد و صفحه سفید ساده و راحت آن، نوشتارهای ریاضی استاندارد و هوشمند را با متن و گرافیک در قالب یک کاربرگ واحد یکپارچه کرده و مت کد را ابزاری ایدهآل برای ذخیره سازی معلومات و استفاده مجدد از محاسبات و همکاری های مهندسی نموده است. مت کد به کاربران اجازه کار تعاملی با قابلیت بروز رسانی را در کارهای طراحی به نحوی می دهد که آنها می توانند تمام مقادیر و توضیحات و جزئیات کاری مهم خود را در پروژه های مهندسی خود داشته باشند.
Mathcad چگونه کار می کند؟
مت کد این امکان را به شما می دهد که معادلات را به همان روشی که بر روی تخته سیاه یا کاغذ می نوشتید، بکار ببرید. به هیچ وجه لازم نیست عبارات پیچیدهای را یاد بگیرید، خیلی ساده معادله خود را تایپ می کنید و نتیجه آن را مشاهده می کنید. همچنین می توانید از مت کد برای مستند سازی کارهای خود استفاده نمایید. مت کد شما را قادر می سازد که خیلی راحت سیستم واحد اندازه گیری مورد نظر خود را تعیین نموده و سپس آزادانه، واحد های مختلفی را بدون احتمال اشتباه با هم ترکیب کنید. شما می توانید در سیستم واحد اندازه گیری تعیین شده کار کنید و هر وقت لازم شد، برای برخی از معادلات، از سیستم واحد دیگری استفاده کنید.
ویژگی های کلیدی
- محاسبه، مدلسازی و تجسم ایده های فنی با کم ترین اشتباه.
- به روز کردن نتایج طراحی در هر لحظه .
- مستند سازی محاسبات با بکارگیری نوشتارهای هوشمند نسبت به واحدها.
- قابلیت ترسیم و نمایش نتایج کار به صورت گرافیکی دو بعدی و سه بعدی.
- بررسی، تجسم و حاشیه نویسی کارها برای تمام رشته های مهندسی.
- انتشار نتایج با بهره گیری از قالب های خروجی متعدد.
- کاهش خطاهای کار به کمک قابلیت هوشمند کنترل واحدها.
- تنظیم سیستم واحد اندازه گیری دلخواه خود و بهره گیری از آن در کار.
- خودکار کردن عملیات با بهره گیری از الگوها و سبک های کاری مختلف.
- دریافت و ارسال آسان داده ها.
قابلیت های محاسباتی
- ارقام خلاصه شده نهایی: انجام عملیات جمع، ضرب، مشتق، انتگرال و عملگرهای منطقی، بکارگیری توابع مثلثاتی، نمایی، درجه دو و غیره.
- نمادهای هوشمند: ساده سازی، مشتق گیری و انتگرال و عبارات انتقالی به صورت جبری. این فناوری منحصربهفرد مت کد به صورت خودکار عبارات جبری را دوباره محاسبه نموده و امکان استفاده از آنها را در محاسبات بعدی فراهم می سازد.
- عملیات برداری و ماتریسی: کار با آرایه ها و انجام عملیات جبری خطی گوناگون از قبیل پیدا کردن مقادیر ویژه و بردارهای ویژه.
- آمار و تحلیل داده ها: تولید اعداد اتفاقی، محاسبه هیستوگرام ها، برازش داده ها به توابع عمومی و پیش فرض، درونیابی داده ها و ساخت مدل های توزیع احتمالاتی.
- حل معادلات دیفرانسیل: حل معادلات معادلات دیفرانسیل معمولی و جزئی، سیستم های معادلات دیفرانسیل، مسائل مقادیر مرزی.
- پشتیبانی از واحدها: بکارگیری واحدها در محاسبات، انجام تبدیل واحد ها، و کنترل خودکار ابعاد.
========================
میپل
نرمافزار مِیْپـِلْ یا سامانهٔ رایانهای جبری مِیْپِل (به انگلیسی: Maple) یکی از نرمافزارهای مشهور ریاضی است.
نام آن به معنی درخت افرا (درختی شبیه چنار) است که عکس برگ آن بر پرچم کانادا وجود دارد. دلیل این نامگذاری نوشتهشدن این نرمافزار در دانشگاههای کانادا خصوصاً دانشگاه واترلو است.
میپل نرمافزاری بسیار قوی در زمینهٔ ریاضی است که کار عملی ۱۰۰ دانشجو بوده است.
از دیگر خصوصیات این نرمافزار راهنمای بسیار قوی آن است که کار کردن با این نرمافزار را بسیار راحت میکند. جدیدترین نگارش این نرمافزار نگارش ۱۸ آن است که در تمام زمینههای ریاضی از جمله جبر خطی و ریاضیات گسسته و حسابان و حتی ریاضیات مقدماتی برای دانشآموزان دبیرستانی میتواند مفید واقع شود.
طرز کار میپل
کاربران میتوانند ریاضیات را با علائم تجاری در آن وارد کنند. واسط کاربری نیز میتواند توسط کاربر درست شود. میپل یک زبان برنامه نویسی مرکب از زبانهای دستوری و زبانهای پویا است. همچنین واسطهایی برای کار با دیگر زبانها مثل C ,Fortran,Java,Matlab,Visual Basic وجود دارند.
چند مثال:
انتگرال:
- (integrate(cos(x/a), x;
دستور فوق انتگرال(cos(x/aرا بر حسب متغیر x میگیرد.
رسم نمودار سه بعدی:
- (plot3d(x^2+y^2,x=-1..1,y=-۱..۱;
دستور فوق نمودار تابع x^2+y^2 را بر حسب دو متغیر x و y در بازه [-۱٬۱] برای آنها رسم مینماید.
===============
سایلب
سایلب (به انگلیسی: Scilab) نرمافزاری متنباز برای محاسبات فنی مهندسی میباشد که جایگزینی رایگان برای نرمافزار متلب به حساب میآید. این نرمافزار توسط دو مرکز پژوهشی فرانسوی INRIA و ENPC نوشته شدهاست.
تاریخچه
در اوایل دهه ۸۰ میلادی، پیشرفتهای علمی و نیازهای صنعتی چندی از محققان فرانسوی را بر آن داشت تا نرمافزاری را برای کنترل اتوماتیک تولید کنند.
با آغاز دههٔ ۹۰ میلادی موسسهٔ فرانسوی INRIA (بنیاد ملی تحقیق در علوم کامپیوتر و کنترل فرانسه) نام Scilab را برای نرمافزار برگزید و به توسعهٔ آن پرداخت.
در سال ۲۰۰۳ میلادی و با تشکیل Scilab Consortium، این کنسرسیوم به توسعه، ترویج و حمایت از نرمافزار (به ویژه حمایت از مراکز دانشگاهی و صنعتی) پرداخت.
از سال ۲۰۰۸ میلادی با متمرکز شدن Scilab Consortium در داخل شبکه تحقیقاتی Digiteo کار توسعه و ارتقای نرمافزار به صورت یکپارچه و پایدار تا ژوئن ۲۰۱۲ دنبال شد. همچنین از سال ۲۰۰۸ تاکنون این نرمافزار تحت لیسانس CeCILL (موافق با پروانه عمومی همگانی گنو) عرضه میگردد.
از ژوئیه ۲۰۱۲ ، Scilab Enterprises تمامی فعالیتهای مربوط به توسعه و ویرایش نرمافزار سایلب را برعهده گرفت.
=========================
مکسیما
مکسیما (به انگلیسی: Maxima) یک سیستم جبری کامپیوتری (Computer Algebra System, CAS) است. مکسیما میتواند محاسبات جبری را با متغیرها به خوبی انجام دهد؛ مثلاً میتواند انتگرالهای نامعین را حساب کند، معادلههای جبری را حل کند، ویژهمقدارها و ویژهبردارهای ماتریسها را بیابد، یا عبارتهای پیچیده را ساده کند. مکسیما همچنین میتواند محاسبات عددی با دقت بسیار بالا انجام دهد، نمودارهای دوبعدی و سهبعدی بکشد، و حتی میتوان با مکسیما برنامه نوشت.
مکسیما تحت مجوز GPL قرار دارد و بنابراین برخلاف بسیاری از نرمافزارهای مشابه مانند متمتیکا و میپل که بسیار گران هستند، آزاد و رایگان است.
تاریخچه
مکسیما از دل پروژهٔ دیگری به نام Macsyma به دنیا آمد که در سالهای ۱۹۶۸ تا ۱۹۸۲ در دانشگاه MIT به عنوان بخشی از پروژهٔ Mac توسعه مییافت. نسخهای از کد منبع Macsyma را در سال ۱۹۸۲ MIT به وزارت انرژی آمریکا داد. این نسخه هماکنون DOE Macsyma نامیده میشود. پرفسور ویلیام شِلتر از دانشگاه تگزاس نسخهای از DOE Macsyma را از همان سال تا زمان مرگش در سال ۲۰۰۱ نگهداری میکرد. در سال ۱۹۹۸ شلتر از طرف وزارت انرژی اجازه یافت تا کد منبع DOE Macsyma را تحت مجوز GPL منتشر کند. او در سال ۲۰۰۰ پروژهای را در سورسفورج راه انداخت تا DOE Macsyma را که از این به بعد مکسیما (Maxima) نامیده میشد توسعه دهد.
===================
گنو اکتاو
گنو اُکتاو (به انگلیسی: GNU Octave) زبان برنامه نویسی سطح بالایی است که بیشتر برای محاسبات عددی به کار میرود. این برنامه امکانات زیادی را از طریق رابط خط فرمان (به انگلیسی: Command-line interface) برای حل عددی مسائل خطی و غیر خطی میدهد. این برنامه را میتوان جایگزین مناسبی برای همتای غیر آزاد خود متلب به حساب آورد.
تاریخچه
پروژه اُکتاو حوالی سال ۱۹۸۸ توسط جیمز ب. راولینگ (دانشگاه ویسکانسین-مدیسن) و جان جی. اِکرت (دانشگاه تگزاس) به عنوان ابزاری ویژه برای حل مسایل مربوط به طراحی واکنشگرهای شیمیایی (به انگلیسی: Chemical Reactors) کلید خورد. در سالهای بعد این برنامه به عنوان پروژهای جامعتر بسط یافت. گسترش تمام وقت آن از بهار سال ۱۹۹۲ آغاز شد و اولین نسخهٔ آلفا در تاریخ ۴ ژانویه ۱۹۹۳ و نسخه ۱٫۰ در ۱۷ فوریه ۱۹۹۴ منتشر شد.
قابلیتهای ویژه
اُکتاو علاوه بر قابلیتهایی همانند تعریف تابع، بارگذاری فایلها، رسم نمودار و غیره، قابلیتهای ویژهای نیز ارائه میکند که این برنامه را از دیگر همتاهای خود تمیز میدهد.
تعریف مستقیم تابع از طریق خط فرمان
برای استفاده یک تابع، کاربر مجبور به بارگذاری فایلی جداگانه نمیباشد و میتواند تابع را مستقیم از طریق خط فرمان وارد کند.
octave:1> function s = hello_string (to_who)
> ## Say hello
> if nargin<1, to_who = "World"; end
> s = ["Hello ",\
> to_who];
> endfunction
octave:2> hello_string ("Moon")
ans = Hello Moon
کامنت
علاوه بر کاراکتر %، کاراکتر # نیز برای کامنت گذاری استفاده میشود. برتری این راهکار در این است که علامت # در سیستمهای یونیکس برای کامنت گذاری فایلهای اسکریپت استفاده میشود.
استفاده از " برای تمیز دادن رشتهها
علاوه بر کاراکتر ' میتوان در مطلب از " برای مشخص کردن رشتهها استفاده کرد. برتری این راهکار در این است که رشتههای مشخص شده با " قابلیت تفسیر بک اسلش (\) را دارند (مانند C,C++ و Perl) در حالی که رشتههای با ' این قابلیت را ندارند (مانند Matlab و Perl).
بلوکها با اطلاعات مفید
بلوکهای if, while,function و غیره را میتوان علاوه بر end و endfunction بوسیله endif, endwhile و مشابه به اتمام رساند. از این راه میتوان آغاز و پایان بلوکهای تودرتو را از هم تمیز داد.
تشابه با زبانهای متداول برنامهنویسی
- استفاده از علامت عطف! برای نفی (همتای ~)
- استفاده از ++ و -- برای افزابش و کاستن پلهای و دیگر اپراتورهای متداول (=+,=*,...)
و غیره.
رابطهای دیگر
علاوه بر رابط خط فرمان، رابطهای دیگری مانند رابطهای گرافیکی و یا رابطهای تحت وب نیز در دسترس هستند.