ฉันพยายามค้นหาทางเลือกสำหรับ MATLAB และพบจนถึง:
- GNU Octave
- Spyder
- FreeMat
- Scilab
ฉันพยายามที่จะหาทางเลือกที่ดีที่สุดใน MATLAB ฉันกังวลอย่างยิ่งกับประสิทธิภาพและความสมบูรณ์ของผลลัพธ์
ฉันพยายามค้นหาทางเลือกสำหรับ MATLAB และพบจนถึง:
ฉันพยายามที่จะหาทางเลือกที่ดีที่สุดใน MATLAB ฉันกังวลอย่างยิ่งกับประสิทธิภาพและความสมบูรณ์ของผลลัพธ์
คำตอบ:
คุณอยู่ในการรักษาฉันได้ใช้ภาษาการเขียนโปรแกรม / ซอฟต์แวร์ที่คุณกล่าวถึงทั้งหมด 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, ฯลฯ )
ของทั้งหมดที่คุณมีอยู่ในรายการ 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
จำมาตรฐานได้ มีตัวแปรมากมาย วิธีเดียวที่จะรู้ได้คือการทดสอบทั้งหมดบนอุปกรณ์ของคุณโดยใช้รหัสการประมวลผลของคุณ
เพื่อความกระจ่าง: ทำไมคุณต้องการทางเลือกสำหรับ Matlab คำตอบของ prasadkumar013 แนะนำว่าคุณไม่สามารถใช้ Matlab บน Ubuntu แต่คุณสามารถ (อย่างน้อยฉันก็ใช้งานบน Ubuntu;) มีเอกสารชุมชนบนหน้าเว็บเป็นhttps://help.ubuntu.com/community/MATLAB
ในกรณีที่คุณต้องการเป็นทางเลือกฟรีไปกับอ็อกเทฟรหัส MATLAB ส่วนใหญ่จะทำงานโดยตรงในระดับแปดเสียง พยายามทำงานใน terminal แม้ว่า qtoctave GUI นั้นไม่ค่อยเป็นมิตรกับผู้ใช้ในความคิดของฉัน
PDL ("ภาษาดาต้าดาต้าเพิร์ล") ให้ความสามารถมาตรฐาน Perl ในการจัดเก็บและจัดการอาร์เรย์ข้อมูล N-Dim ขนาดใหญ่ซึ่งเป็นขนมปังและเนยของการคำนวณทางวิทยาศาสตร์
คุณได้ลอง Sage ( www.sagemath.org ) แล้วหรือยัง มันเป็นคอนเทนเนอร์สำหรับซอฟต์แวร์คณิตศาสตร์ที่แตกต่างกันและสามารถทำการคำนวณเชิงสัญลักษณ์และตัวเลขได้ คนหลังจะทำโดยใช้ numpy และ scipy มีชุมชนที่ใช้งานมากและเป็นโครงการโอเพนซอร์ซที่เขียนด้วยไพ ธ อน
เนื่องจากคุณสนใจในการแสดงที่นี่มีเกณฑ์มาตรฐานบางอย่าง (ในตอนท้ายของหน้ายังเป็นการเปรียบเทียบกับ Matlab)
นี่เป็นกระดาษที่ดี
มันมีคำอธิบายสั้น ๆ และทำแบบทดสอบต่าง ๆ
BTW ฉันไม่ได้ใช้ MATLAB หรืออะไรทำนองนั้น
ฉันไม่ได้ทำการเปรียบเทียบที่แท้จริง แต่จากประสบการณ์ของฉันในการสร้างอ็อฟเซ็ตของมุมมองการทำงานนั้นดีกว่า MATLAB
คุณควรทราบว่ากล่องเครื่องมือที่แตกต่างกัน "เป็นสิ่งที่สัมพัทธ์" มีประสิทธิภาพต่างกัน
หากคุณมี RAM จำกัด ในเครื่องของคุณฉันจะบอกว่าอะไรจะดีกว่า MATLAB
วิทยาลัยของฉันใช้ MATLAB บนพีซี Windows แต่สำหรับการใช้ MATLAB บน Ubuntu ฉันมีสองทางเลือก
การทำเวอร์ชวลไลเซชันบนแล็ปท็อปของฉันหนักมากฉันจึงค้นหาทางเลือกอื่น หลังจากการทดลองใช้ซอฟต์แวร์หลายครั้งในที่สุดฉันก็ตัดสินให้ OCTAVE มันสามารถเรียกใช้รหัส MATLAB มาตรฐานส่วนใหญ่ได้ แทนที่จะเป็น GNU Octave มันจะดีกว่าถ้าใช้ qt Octave ขณะที่อดีตคือเทอร์มินัลตามมาภายหลังคืออิงตาม GUI ตัวเลือกของฉันคือไปสำหรับ qt Octave
sudo apt-get install qtoctave