เปรียบเทียบ Octave, Spyder, Freemat และ Scilab เป็นทางเลือกแทน MATLAB


20

ฉันพยายามค้นหาทางเลือกสำหรับ MATLAB และพบจนถึง:

  • GNU Octave
  • Spyder
  • FreeMat
  • Scilab

ฉันพยายามที่จะหาทางเลือกที่ดีที่สุดใน MATLAB ฉันกังวลอย่างยิ่งกับประสิทธิภาพและความสมบูรณ์ของผลลัพธ์


1
คุณควรพิจารณา R คำถามนี้ใน StackOverflowอาจมีการเปรียบเทียบที่ดีที่สุด
Oli

IPythonจะหายไป
zetah

คำตอบ:


10

คุณอยู่ในการรักษาฉันได้ใช้ภาษาการเขียนโปรแกรม / ซอฟต์แวร์ที่คุณกล่าวถึงทั้งหมด FreeMat และ Spyder ฉันไม่มีประสบการณ์มากเกินไป แต่มีบางอย่าง คนอื่นที่ฉันมีประสบการณ์

GNU Octave ได้ทำการแข่งขันกันอย่างดุเดือด ไวยากรณ์ที่มีการทำงานร่วมกันมากกับที่ของMATLAB ความแตกต่างเพียงอย่างเดียวที่ฉันรู้คืออย่างน้อยนอกเหนือจากกล่องเครื่องมือแปลก ๆ ซึ่งคุณสามารถลองแทนที่ด้วยแพ็คเกจได้ที่นี่คือ GNU Octave สามารถกำหนดฟังก์ชั่นจากบรรทัดคำสั่งได้

ฉันไม่รู้ว่าคุณรู้QtOctaveหรือไม่ QtOctave เป็นส่วนหน้า (GUI) สำหรับภาษาโปรแกรม GNU Octave QtOctave มาพร้อมกับบรรณาธิการด้วย

Scilabก็เป็นส่วนทดแทนที่เพียงพอสำหรับ MATLAB ด้วย มันมีความแตกต่างบางอย่างในแง่ของไวยากรณ์ แต่ไม่มีอะไรที่คุณไม่สามารถเข้าใจได้ถ้าคุณค้นหาเอกสารที่มาพร้อมกับมัน

FreeMatเป็นซอฟต์แวร์ที่แย่ที่สุดในความคิดของฉันอย่างน้อยที่สุดซอฟต์แวร์ที่มีรูปแบบขึ้นอยู่กับ MATLAB หลักฐานของฉันสำหรับเรื่องนี้คือสามส่วน: ประการแรกในศูนย์ซอฟต์แวร์นั้นได้รับการจัดอันดับดาวต่ำสุดของสี่ซอฟต์แวร์ที่เป็นปัญหา ประการที่สองมันไม่ได้รับการปรับปรุงบ่อยครั้งเวอร์ชันล่าสุดในศูนย์ซอฟต์แวร์ได้รับการปรับปรุงล่าสุดปี 2008 ประการที่สามจากหลักฐานชิ้นที่สองของฉันฟังก์ชั่นของมันค่อนข้างล่าช้า อย่างไรก็ตามข้อดีคือไวยากรณ์มีความเข้ากันได้สูงกับ MATLAB

ฉันใช้Spyderแต่เพียงชั่วครู่ฉันก็กลัว ดูเหมือนว่าคุณภาพสูงสุด ปัญหาของมันคือมันมีความเข้ากันได้ จำกัดกับ MATLAB, ไวยากรณ์ที่ชาญฉลาด มันต้องการให้คุณเรียนรู้ภาษา Python บางภาษานั่นคือถ้าคุณวางแผนที่จะทำได้ดี

ฉันจะแนะนำSageMathเนื่องจากมี GNU Octave (หากติดตั้งไว้แล้วในระบบของคุณ) Scilab (ถ้าคุณติดตั้งไว้แล้ว) Numpy, [Numpy และส่วนที่เหลือที่กล่าวถึงนอกจากระบุไว้เป็นอย่างอื่นมาพร้อมกับ Sage ] Scipy, Matplotlib, maxima, fortran และอื่น ๆ อีกมากมาย SageMath สามารถดาวน์โหลดได้โดยไปที่เว็บไซต์http://www.sagemath.org/download-linux.htmlและเลือกมิเรอร์ที่เหมาะสมตามตำแหน่งที่คุณอยู่จากนั้นติดตั้งไฟล์. tar.lzma ที่เกี่ยวข้อง หลังจากคัดลอกและวางคำสั่งต่อไปนี้ลงในเทอร์มินัล (ctrl + alt + T):

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

โดยที่ 'x' อ้างถึงบิตของระบบปฏิบัติการของคุณ 'y' หมายถึงรุ่นของ Ubuntu ที่นักปราชญ์ถูกออกแบบมาสำหรับ (เช่น 10.04_lts; 12.04_lts (จำเป็นต้องใช้ _lts ใน 'y') ฯลฯ ); 'z' หมายถึงสถาปัตยกรรมของระบบปฏิบัติการของคุณ (i386, amd64, ฯลฯ )


2

ของทั้งหมดที่คุณมีอยู่ในรายการ Octave เป็นไวยากรณ์ที่เข้ากันได้มากที่สุด ที่จริงแล้วนอกเหนือจากกล่องเครื่องมือ Matlab ที่มีราคาแพงแล้วอ็อกเทฟก็ควรรัน 98% (ตัวเลขที่ฉันเพิ่งสร้าง) ของโค้ดของคุณ ฉันใช้ Matlab ในที่ทำงานและที่บ้านระดับแปดเสียง

Octave จะไม่ทำงาน (ดั้งเดิม) ของ GUI inbuilt บางอย่างเช่น inputdlg เป็นต้นถ้าคุณติดตั้ง Qtoctave (IDE สำหรับ Octave, sudo apt apt-get install qtoctave ) คุณสามารถใช้ xmlwidget และ wrapper เพื่อรับฟังก์ชั่นนั้น ๆ ได้ คุณน่าสนใจ).

เท่าที่เกี่ยวกับประสิทธิภาพอ็อกเทฟก็ไม่เร็ว (google สำหรับการวัดประสิทธิภาพ) อย่างไรก็ตามคุณสามารถเรียกใช้ Matlab เวอร์ชันทันสมัยทั้งหมดที่ทำงานบน Linux (ถ้าคุณมีใบอนุญาต) และจะรวมอยู่ในการติดตั้งดิสก์ตามค่าเริ่มต้นและประสิทธิภาพของ Matlab รุ่น Linux นั้นดีและมักจะดีกว่าบน Linux เมื่อเปรียบเทียบกับ ของ windows

หากคุณต้องการประสิทธิภาพและคุณไม่ต้องการใช้ซอฟต์แวร์ฟรีที่ดีที่สุดเพื่อดูสคิปซี่ แต่ไวยากรณ์เข้ากันได้น้อย คุณจะต้องเขียนรหัสใหม่ สไปเดอร์เป็นอุดมคติที่ใช้ไพ ธ อนและสกิล, สกิลเป็นส่วนผสมของอ็อกเทฟและแม็กซิม่าและอื่น ๆ ไม่แน่ใจเกี่ยวกับประสิทธิภาพของ freemat แต่ฉันไม่คิดว่ามันจะพัฒนาเป็น Octave

โชคดี.

มาตรฐานสองสามข้อ

ความเร็ว

http://www.osc.edu/research/cse/projects/octave_python.pdf

http://www.wseas.us/e-library/conferences/2010/Corfu/COMPUTERS/COMPUTERS2-56.pdf

จำมาตรฐานได้ มีตัวแปรมากมาย วิธีเดียวที่จะรู้ได้คือการทดสอบทั้งหมดบนอุปกรณ์ของคุณโดยใช้รหัสการประมวลผลของคุณ


หากมีคนทำ google และค้นหามาตรฐานที่ดีสำหรับ Octave vs. Matlab อาจมีการแก้ไขข้อมูลหรือลิงก์ที่มีรายละเอียดมากขึ้นในคำตอบนี้
Eliah Kagan

1

เพื่อความกระจ่าง: ทำไมคุณต้องการทางเลือกสำหรับ Matlab คำตอบของ prasadkumar013 แนะนำว่าคุณไม่สามารถใช้ Matlab บน Ubuntu แต่คุณสามารถ (อย่างน้อยฉันก็ใช้งานบน Ubuntu;) มีเอกสารชุมชนบนหน้าเว็บเป็นhttps://help.ubuntu.com/community/MATLAB

ในกรณีที่คุณต้องการเป็นทางเลือกฟรีไปกับอ็อกเทฟรหัส MATLAB ส่วนใหญ่จะทำงานโดยตรงในระดับแปดเสียง พยายามทำงานใน terminal แม้ว่า qtoctave GUI นั้นไม่ค่อยเป็นมิตรกับผู้ใช้ในความคิดของฉัน


1

ส่วนใหญ่คล้ายกับ MATLAB = Octave , (ลิงก์ไปยัง gui)
ภาษาการคำนวณระดับสูงที่ยอดเยี่ยม = julia
แต่สิ่งที่ฉันชอบและ IMHO มีประโยชน์มากที่สุดในทุกภาษาPYTHON (scipy, sage, cython ... )


0

http://pdl.perl.org/

PDL ("ภาษาดาต้าดาต้าเพิร์ล") ให้ความสามารถมาตรฐาน Perl ในการจัดเก็บและจัดการอาร์เรย์ข้อมูล N-Dim ขนาดใหญ่ซึ่งเป็นขนมปังและเนยของการคำนวณทางวิทยาศาสตร์


0

คุณได้ลอง Sage ( www.sagemath.org ) แล้วหรือยัง มันเป็นคอนเทนเนอร์สำหรับซอฟต์แวร์คณิตศาสตร์ที่แตกต่างกันและสามารถทำการคำนวณเชิงสัญลักษณ์และตัวเลขได้ คนหลังจะทำโดยใช้ numpy และ scipy มีชุมชนที่ใช้งานมากและเป็นโครงการโอเพนซอร์ซที่เขียนด้วยไพ ธ อน

เนื่องจากคุณสนใจในการแสดงที่นี่มีเกณฑ์มาตรฐานบางอย่าง (ในตอนท้ายของหน้ายังเป็นการเปรียบเทียบกับ Matlab)


0

นี่เป็นกระดาษที่ดี

มันมีคำอธิบายสั้น ๆ และทำแบบทดสอบต่าง ๆ

BTW ฉันไม่ได้ใช้ MATLAB หรืออะไรทำนองนั้น


-1

ฉันไม่ได้ทำการเปรียบเทียบที่แท้จริง แต่จากประสบการณ์ของฉันในการสร้างอ็อฟเซ็ตของมุมมองการทำงานนั้นดีกว่า MATLAB

คุณควรทราบว่ากล่องเครื่องมือที่แตกต่างกัน "เป็นสิ่งที่สัมพัทธ์" มีประสิทธิภาพต่างกัน

หากคุณมี RAM จำกัด ในเครื่องของคุณฉันจะบอกว่าอะไรจะดีกว่า MATLAB


-2

วิทยาลัยของฉันใช้ MATLAB บนพีซี Windows แต่สำหรับการใช้ MATLAB บน Ubuntu ฉันมีสองทางเลือก

  1. ติดตั้ง MATLAB ผ่านไวน์หรือซอฟต์แวร์การจำลองเสมือนใด ๆ
  2. ค้นหา Linux Equivallent

การทำเวอร์ชวลไลเซชันบนแล็ปท็อปของฉันหนักมากฉันจึงค้นหาทางเลือกอื่น หลังจากการทดลองใช้ซอฟต์แวร์หลายครั้งในที่สุดฉันก็ตัดสินให้ OCTAVE มันสามารถเรียกใช้รหัส MATLAB มาตรฐานส่วนใหญ่ได้ แทนที่จะเป็น GNU Octave มันจะดีกว่าถ้าใช้ qt Octave ขณะที่อดีตคือเทอร์มินัลตามมาภายหลังคืออิงตาม GUI ตัวเลือกของฉันคือไปสำหรับ qt Octave

sudo apt-get install qtoctave


4
ทางเลือกที่สามจะมีการติดตั้งรุ่นลินุกซ์ของ Matlab
Eliah Kagan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.