GNU Octave

ภาพหน้าจอของซอฟแวร์:
GNU Octave
รายละเอียดซอฟแวร์:
รุ่น: 4.4.0 การปรับปรุง
วันที่อัพโหลด: 22 Jun 18
ผู้พัฒนา: John W. Eaton
การอนุญาต: ฟรี
ความนิยม: 327

Rating: 2.7/5 (Total Votes: 3)

GNU Octave เป็นซอฟต์แวร์โอเพ่นซอร์สและแจกจ่ายโปรแกรมซอฟต์แวร์ที่มีจุดมุ่งหมายเพื่อมอบภาษาระดับสูงที่มีประสิทธิภาพและใช้งานง่ายและขยายได้ซึ่งสามารถใช้ในการคำนวณการคำนวณเชิงตัวเลข .


สามารถใช้ในการแก้ปัญหาเชิงเส้นและไม่เชิงเส้น

ซอฟต์แวร์สามารถใช้ในการแก้ปัญหาทั้งเชิงเส้นและเชิงเส้นทั้งตัวเลขและการทดลองเชิงตัวเลขต่างๆ สามารถใช้งานร่วมกับ Matlab ซึ่งเป็นระบบคอมพิวเตอร์แบบตัวเลขหลายรูปแบบและสามารถใช้เป็นภาษาสำหรับแบทช์ได้

นอกจากนี้ Octave GNU ยังมีโปรแกรมอรรถประโยชน์ต่างๆที่ช่วยให้คุณสามารถแก้ปัญหาเกี่ยวกับพีชคณิต Linera เชิงตัวเลขจัดการกับคำพหุนามรวมฟังก์ชันสามัญค้นพบรากของสมการไม่เชิงเส้นและรวมสมการเกี่ยวกับพีชคณิตและสมการเชิงอนุพันธ์สามัญ

คุณสามารถใช้โมดูลที่โหลดแบบไดนามิกหรือฟังก์ชันที่ผู้ใช้กำหนดเพื่อขยาย Octave ของ GNU สามารถเขียนได้ในภาษาการเขียนโปรแกรมของ Octave หรือใน C, C ++, Fortran ฯลฯ

เริ่มต้นใช้ Octave ของ GNU

มีสองวิธีในการติดตั้ง GNU Octave บนระบบปฏิบัติการ GNU / Linux ข้อแรกคือวิธีที่ง่ายที่สุดและเกี่ยวข้องกับการค้นหา & ldquo; octave & rdquo; ในแอป Software Center (เช่นตัวจัดการแพคเกจ Synaptic) ของการแจกจ่ายของคุณ

วิธีที่สองจะช่วยให้คุณติดตั้งเวอร์ชันล่าสุดของผลิตภัณฑ์ แต่จะเกี่ยวข้องกับการรันคำสั่งในโปรแกรมจำลองเทอร์มินัล ถ้าคุณลงไปลองดาวน์โหลดแพคเกจต้นทางล่าสุดจาก Softoware หรือจากหน้าแรกของโครงการอย่างเป็นทางการ (ดูลิงก์ที่ท้ายบทความ) บันทึกในพีซีของคุณและแกะกล่อง

เปิดแอปจำลองเทอร์มินัลให้เรียกใช้ & lsquo; cd & rsquo; ตามด้วยเส้นทางไปยังตำแหน่งของไฟล์ที่เก็บถาวร (เช่น cd /home/softoware/octave-3.8.2) ให้เรียกใช้ & lsquo; ./ configure & amp; & amp; ทำให้ & rsquo; เพื่อกำหนดค่าและคอมไพล์โปรแกรมจากนั้นเรียกใช้ & lsquo; sudo make install & rsquo; คำสั่งเพื่อติดตั้ง ใช้คำสั่งนี้จากอินเทอร์เฟซของบรรทัดคำสั่งด้วยการรัน & lt; octave & rsquo; คำสั่ง.

ภายใต้ฝากระโปรง

การมองภายใต้ฝากระโปรงหน้าของโปรแกรม GNU Octave เราสามารถสังเกตได้ว่ามีการเขียนขึ้นในภาษา C + + เราได้ติดตั้งลงใน GNU / Linux หลายรุ่นเช่น Arch Linux และ Ubuntu โดยใช้คำแนะนำที่ให้มาในส่วนข้างต้น ซอฟต์แวร์นี้เข้ากันได้กับแพลตฟอร์มคอมพิวเตอร์แบบ 32 บิตและ 64 บิต

มีอะไรใหม่ ในรุ่นนี้:

  • หนึ่ง ของคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดปล่อย Octave 3.8.x เป็นส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

มีอะไรใหม่ ในเวอร์ชัน:

  • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดเผยแพร่ Octave 3.8.x คือส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

  • มีอะไรใหม่ ในเวอร์ชัน 4.2.0:

    • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดผลิตภัณฑ์ Octave 3.8.x คือส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

    มีอะไรใหม่ ในเวอร์ชัน 4.0.3:

    • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดผลิตภัณฑ์ Octave 3.8.x คือส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

    มีอะไรใหม่ ในเวอร์ชัน 4.0.1:

    • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดผลิตภัณฑ์ Octave 3.8.x คือส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

    มีอะไรใหม่ ในเวอร์ชัน 4.0.0:

    • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดผลิตภัณฑ์ Octave 3.8.x คือส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

    มีอะไรใหม่ ในเวอร์ชัน 3.8.2:

    • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับชุดผลิตภัณฑ์ Octave 3.8.x คือส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).

    มีอะไรใหม่ ในเวอร์ชัน 3.8.0:

    • หนึ่งในคุณลักษณะใหม่ที่ใหญ่ที่สุดสำหรับ Octave 3.8 เป็นส่วนติดต่อผู้ใช้แบบกราฟิก เป็นสิ่งหนึ่งที่ผู้ใช้ร้องขอบ่อยที่สุดในช่วง 2-3 ปีที่ผ่านมาและตอนนี้ก็พร้อมแล้ว แต่เนื่องจากไม่ได้ขัดตามที่เราต้องการเราจึงตัดสินใจรอจนกว่าชุดออก 4.0.x ก่อนทำ GUI เป็นอินเทอร์เฟซเริ่มต้น (จนกว่าจะถึงตอนนั้นคุณสามารถใช้ตัวเลือก --force-gui เพื่อเริ่ม GUI ).
    • เนื่องจากระยะเวลาและจำนวนของการแก้ไขข้อบกพร่องและการปรับปรุงตั้งแต่ Octave ที่สำคัญครั้งล่าสุดเราจึงตัดสินใจที่จะไม่ปล่อยให้การปรับปรุงใหม่ ๆ เหล่านี้หมดไปเพียงเพื่อให้ GUI สมบูรณ์แบบ ดังนั้นโปรดใช้ Octave เวอร์ชัน 3.8 และดูตัวอย่าง GUI ใหม่ เราเชื่อว่าการทำงานมีประสิทธิภาพดี แต่เราทราบด้วยว่ามีจุดหยาบที่เห็นได้ชัดเจนและหลาย ๆ สิ่งที่สามารถปรับปรุงได้

    มีอะไรใหม่ ในเวอร์ชัน 3.4.0:

    • ไลบรารี BLAS และ LAPACK จำเป็นต้องสร้าง Octave แล้ว ชุดย่อยของห้องสมุด BLAS และ LAPACK อ้างอิงถูกนำออกจากแหล่งข้อมูล Octave แล้ว
    • ฟังก์ชั่น "lookup" ถูกขยายให้เป็นประโยชน์มากขึ้นสำหรับการค้นหาแบบไบนารีทั่วไป การใช้การปรับปรุงนี้ฟังก์ชัน ismember ถูกเขียนใหม่เพื่อประสิทธิภาพที่ดีขึ้นอย่างมาก
    • จริงเมทริกซ์จำนวนเต็มและตรรกะเมื่อใช้ในการจัดทำดัชนีตอนนี้จะแคชค่า index_vector ภายใน (ดัชนีที่เป็นศูนย์) เมื่อใช้เป็นดัชนีอย่างสมบูรณ์ซึ่งจะช่วยลดการแปลงค่าสำหรับการจัดทำดัชนีตามมาด้วยเมทริกซ์เดียวกัน โดยเฉพาะอย่างยิ่งซึ่งหมายความว่าไม่จำเป็นต้องใช้เพื่อหลีกเลี่ยงการทำดัชนีซ้ำโดยอาร์เรย์เชิงตรรกะโดยใช้การค้นหาด้วยเหตุผลด้านประสิทธิภาพ
    • เมทริกซ์เชิงตรรกะได้รับการปฏิบัติอย่างมีประสิทธิภาพมากขึ้นเมื่อใช้เป็นดัชนี Octave จะทำให้ดัชนีเป็นแบบลอจิคัลเว้นเสียแต่ว่าอัตราส่วนขององค์ประกอบที่แท้จริงมีขนาดเล็กพอโดยใช้โค้ดเฉพาะ ก่อนหน้านี้เมทริกซ์เชิงตรรกะทั้งหมดถูกแปลงเป็นดัชนีเวกเตอร์แรกเสมอ ส่งผลให้ประหยัดทั้งหน่วยความจำและเวลาในการประมวลผล
    • ฟังก์ชั่น `sub2ind 'และ` ind2sub' ถูก reimplemented เป็นฟังก์ชั่นเรียบเรียงเพื่อประสิทธิภาพที่ดีขึ้น ฟังก์ชันเหล่านี้สามารถทำงานได้เร็วขึ้นสามารถให้ผลลัพธ์ที่ประหยัดขึ้นสำหรับช่วงต่างๆและสามารถใช้กลไกแคชดัชนีที่อธิบายไว้ในย่อหน้าก่อนหน้า
    • ฟังก์ชันเทียบเท่าที่มีอยู่ภายในตัวดำเนินการแบบผสม ("บวก", "ครั้ง", "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);
    • li>
    • พฤติกรรมที่เป็นค่าเริ่มต้นของ `assert (observed, expected) 'ได้รับการผ่อนปรนให้ใช้การตรวจสอบที่เข้มงวดน้อยกว่าซึ่งไม่จำเป็นต้องมีค่าที่สอดคล้องกัน วิธีนี้จะหลีกเลี่ยงการทดสอบที่ถูกต้องก่อนหน้านี้เนื่องจากถูกทำลายเนื่องจากคลาสภายในใหม่ที่นำมาใช้ในเวอร์ชัน Octave ในอนาคต
    • ตัวอย่างเช่นการยืนยันทั้งหมดมีความถูกต้องใน Octave 3.0.x แต่มีข้อผิดพลาดในรูป 3.2.x เนื่องจากการเพิ่มประสิทธิภาพและการปรับปรุงใหม่:
    • (2 * (1, 5), 2 * (1: 5)) อ้างสิทธิ์ (0, 0), [ (คน (1,5)))
    • ลักษณะการทำงานของไลบรารี `ismatrix ',` issquare' และ `issymmetric 'ได้รับการเปลี่ยนแปลงเพื่อความสม่ำเสมอที่ดีขึ้น ฟังก์ชัน `ismatrix 'จะส่งกลับค่าจริงสำหรับการฝึกอบรม 2 มิติหรือ N-D ทั้งแบบตัวเลข, ตรรกะและตัวอักษร ก่อนหน้านี้ `ismatrix 'ส่งกลับเท็จถ้ามิติแรกหรือที่สองเป็นศูนย์ ดังนั้น `ismatrix ([]) 'เป็นเท็จขณะที่` ismatrix (ศูนย์ (1,2,0))' เป็นความจริง
    • ฟังก์ชัน `issquare 'จะส่งกลับค่าลอจิคอลและเทียบเท่ากับนิพจน์
    • ismatrix (x) & amp; & amp; ndims (x) == 2 & amp; & amp; แถว (x) == คอลัมน์ (x)
    • มิติข้อมูลไม่มีการส่งคืนแล้ว เป็นผลให้ `issquare ([]) 'ตอนนี้ให้ผลจริง ฟังก์ชัน `issymmetric 'จะตรวจสอบความสมมาตรแทน Hermitianness สำหรับหลังสร้าง ishermitian นอกจากนี้ scalar ตรรกะจะถูกส่งกลับมากกว่ามิติดังนั้น `issymmetric ([]) 'เป็นจริง ตอนนี้ฟังก์ชั่นจัดการจะตระหนักถึงฟังก์ชันที่โอเวอร์โหลด ถ้าฟังก์ชันถูกโหลดมากเกินไปหมายเลขอ้างอิงกำหนดเวลาของการอ้างอิงฟังก์ชันที่จะเรียก ไม่จำเป็นต้องมีเวอร์ชันที่ไม่มีการโหลดมากเกินไป
    • การโหลดฟังก์ชันสำหรับชั้นเรียนในตัว (double, int8, cell ฯลฯ ) เข้ากันได้กับ Matlab แล้ว
    • สามารถจับคู่ฟังก์ชันจับกับตัวดำเนินการ == และ! = รวมทั้งฟังก์ชัน `isequal 'ได้
    • ประสิทธิภาพของ concatenation (ใช้ []) และฟังก์ชัน `cat ',` horzcat' และ `vertcat 'ได้รับการปรับปรุงให้ดีขึ้นสำหรับอาร์เรย์แบบหลายมิติ
    • ผู้ดำเนินการมอบหมายงาน + =, - =, * = และ / = ตอนนี้ทำงานได้อย่างมีประสิทธิภาพในบางกรณี ตัวอย่างเช่นถ้า M เป็นเมทริกซ์และ S สเกลารแล้วคำสั่ง
    • M + = S;
    • จะทำงานกับข้อมูล M ในตำแหน่งหากไม่มีการแชร์โดยตัวแปรอื่นซึ่งโดยปกติจะเพิ่มทั้งเวลาและประสิทธิภาพของหน่วยความจำ เฉพาะชุดค่าผสมที่เลือกเท่านั้นที่ได้รับผลกระทบ ได้แก่ : เมทริกซ์ + = เมตริกซ์เมตริกซ์ - เมตริกซ์เมตริกซ์ = เมตริกซ์เมตริกซ์ / เมทริกซ์เมตริกซ์
    • เมทริกซ์ + = สเกลาร์เมทริกซ์ - = scalar matrix * = scalar matrix / = scalar
    • ตรรกะเมตริกซ์ | = ตรรกะตรรกะตรรกะเมทริกซ์ & amp = ตรรกะเมตริกซ์
    • เมทริกซ์และสเกลาร์อยู่ในกลุ่มเดียวกัน ด้านซ้ายมือต้องเป็นข้อมูลอ้างอิงตัวแปรง่ายๆ
    • นอกจากนี้เมื่อโอเปอเรเตอร์ตัวเดียวเกิดขึ้นในนิพจน์ Octave จะพยายามดำเนินการในตำแหน่งด้วยหากอาร์กิวเมนต์เป็นข้อคิดเห็นชั่วคราว
    • ผลของตัวดำเนินการเปรียบเทียบ (, =) ที่ใช้กับตัวเลขที่ซับซ้อนได้เปลี่ยนไปให้สอดคล้องกับคำสั่งที่เข้มงวดที่กำหนดโดยฟังก์ชัน `max ',` min' และ 'sort' โดยเฉพาะอย่างยิ่งตัวเลขที่ซับซ้อนจะถูกเปรียบเทียบโดยการเปรียบเทียบ lexicographical ของคู่ `[abs (z), arg (z)] ' ก่อนหน้านี้ได้เปรียบเทียบเฉพาะส่วนที่แท้จริง นี้สามารถทำได้โดยใช้ตัวถูกดำเนินการในจริง ()
    • มีการเปลี่ยนแปลงการลดความซับซ้อนโดยอัตโนมัติของผลลัพธ์การคำนวณที่ซับซ้อน Octave จะช่วยลดจำนวนเชิงซ้อนของจำนวนเชิงซ้อนที่มีส่วนสมมุติฐานเป็นศูนย์หรือเมทริกซ์ที่ซับซ้อนใด ๆ กับองค์ประกอบทั้งหมดที่มีส่วนสมมุติเป็นศูนย์เป็นค่าที่แท้จริง ก่อนหน้านี้ทำเฉพาะสำหรับศูนย์บวกเท่านั้น โปรดสังเกตว่าพฤติกรรมของฟังก์ชันที่ซับซ้อนจะไม่มีการเปลี่ยนแปลงและยังคงสร้างค่าที่ซับซ้อนแม้ว่าส่วนของจินตนาการจะเป็นศูนย์
    • ในฐานะผลข้างเคียงของการจัดโครงสร้างโค้ดใน liboctave การดำเนินการเชิงตรรกะแบบไบนารีสามารถทำได้ง่ายขึ้นในการเพิ่มประสิทธิภาพของคอมไพเลอร์และมีความรวดเร็วขึ้นอย่างมาก
    • Octave ตอนนี้ช่วยให้ผู้ใช้กำหนด `subsasgn 'วิธีการเพื่อเพิ่มประสิทธิภาพการออกสำเนาที่ซ้ำซ้อน สำหรับข้อมูลเพิ่มเติมโปรดดูที่คู่มือนี้
    • การจัดการส่วนของเมทริกซ์ที่มีประสิทธิภาพมากขึ้น Octave สามารถจัดการกับนิพจน์ M 'V M. ' V V / M
    • (M คือเมตริกซ์และ V เป็นเวกเตอร์) มีประสิทธิภาพมากขึ้นในบางกรณี โดยเฉพาะอย่างยิ่งถ้า M เป็นรูปสามเหลี่ยมทั้งสามสำนวนจะถูกจัดการโดยการเรียกเดี่ยว xTRTRS (จาก LAPACK) พร้อมกับธงที่เหมาะสม ก่อนหน้านี้ทั้ง 3 นิพจน์ต้องมีการถ่ายโอนข้อมูล M
    • การจัดการเมทริกซ์แบบผสมซับซ้อนจริงบางอย่างมีประสิทธิภาพมากขึ้น ตัวอย่างเช่นถ้า RM เป็นเมตริกซ์จริงและ CM เมทริกซ์ที่ซับซ้อน RM CM
    • ขณะนี้คุณสามารถประเมินได้ว่าเป็น
    • complex (RM จริง (CM), RM imag (CM))
    • หรือเป็น
    • ซับซ้อน (RM) CM,
    • ขึ้นอยู่กับมิติข้อมูล รูปแบบแรกต้องใช้เวลาและการคัดลอกชั่วคราวมากขึ้น แต่ลดการนับ FLOP ลงซึ่งปกติจะทำให้ประสิทธิภาพดีขึ้นหาก RM มีแถวที่เพียงพอ ก่อนหน้านี้ใช้รูปแบบที่สองเสมอ
    • ส่วนของเมทริกซ์ได้รับผลกระทบเช่นเดียวกัน
    • การจัดการปัจจัยด้านเมทริกซ์สามเหลี่ยมที่มีประสิทธิภาพมากขึ้นจาก factorizations ฟังก์ชันสำหรับการประมวลผลแฟกทอเรียล QR, LU และ Cholesky จะส่งกลับค่าเมทริกซ์สามเหลี่ยมด้วยชุดเมตริกซ์ภายในที่เหมาะสมเพื่อไม่ให้มีการคำนวณเมื่อเมทริกซ์ถูกใช้สำหรับการหาร
    • ฟังก์ชัน `sum 'แบบ built-in ตอนนี้จัดการกับผลรวมที่ไม่ใช่ภาษาท้องถิ่น (เช่นการรวมค่าความแม่นยำสองครั้งของอินพุตเดี่ยวหรือจำนวนเต็ม) ได้อย่างมีประสิทธิภาพหลีกเลี่ยงการแปลงค่าอาร์เรย์อินพุตทั้งหมดเป็นทวีคูณ นอกจากนี้ `ผลรวม 'สามารถยอมรับอาร์กิวเมนต์ตัวเลือกพิเศษโดยใช้อัลกอริทึมการบวกที่ได้รับการชดเชยแทนที่จะเป็นผลบวกที่ตรงไปตรงมาซึ่งจะช่วยเพิ่มความแม่นยำได้หากมีการยกเลิกจำนวนมากเกิดขึ้นในยอดรวม
    • ฟังก์ชัน `bsxfun 'ในตัวจะใช้รหัสที่เพิ่มประสิทธิภาพสำหรับบางกรณีที่มีการส่งผ่านตัวจัดการผู้ดำเนินการที่มีอยู่กล่าวคือการเพิ่มประสิทธิภาพเกี่ยวข้องกับตัวดำเนินการ` plus', `ลบ ',` times', `ldivide ' , `rdivide ',` power', `และ ',` หรือ' (สำหรับอาร์เรย์เชิงตรรกะ), ตัวดำเนินการที่เกี่ยวข้อง `eq ',' ne ',' lt ',' le ', gt', 'ge' และ ฟังก์ชัน `min 'และ` max' การเพิ่มประสิทธิภาพจะใช้ได้เฉพาะเมื่อตัวดำเนินการทั้งสองมีอยู่ในตัวเดียวกันเท่านั้น การดำเนินการแบบเรียล / ซับซ้อนและเดี่ยว / คู่จะแปลงโอเป็กทั้งสองให้เป็นประเภททั่วไป
    • ฟังก์ชั่น `strfind 'และ` strrep' ได้รวบรวมการใช้งานแล้วเพื่อให้สามารถค้นหาและแทนที่ด้วยสตริงได้อย่างมีประสิทธิภาพมากขึ้นโดยเฉพาะรูปแบบที่ยาวขึ้น รหัสของ `strcat 'ได้รับการ vectorized และตอนนี้มีประสิทธิภาพมากขึ้นเมื่อมีการต่อสตริงหลายสาย ฟังก์ชั่น "strcmpi" และ "strncmpi" มีอยู่ในตัวแล้วให้ประสิทธิภาพที่ดีขึ้น
    • การละเว้นอาร์กิวเมนต์ของฟังก์ชันอินพุตและเอาต์พุตของ Matlab โดยใช้เครื่องหมายอิก (~) ได้รับการสนับสนุนแล้ว อาร์กิวเมนต์เอาต์พุตที่ถูกเพิกเฉยอาจถูกตรวจพบจากฟังก์ชันโดยใช้ฟังก์ชัน `isagout 'ในตัว สำหรับรายละเอียดเพิ่มเติมโปรดดูคู่มือนี้
    • ประเภทข้อมูลในรายการเลิกใช้งานนับตั้งแต่มีการนำเซลล์ออกแล้ว
    • ฟังก์ชัน accumarray ได้รับการปรับปรุงให้ดีขึ้นและเร็วขึ้นอย่างมากในบางกรณีที่สำคัญ
    • ลักษณะการทำงานของฟังก์ชัน isreal และ isnumeric ได้รับการเปลี่ยนแปลงเพื่อให้สามารถทำงานร่วมกับ Matlab ได้มากขึ้น
    • คณิตศาสตร์จำนวนเต็ม & amp; คำเตือนการแปลง (Octave: int-convert-nan, Octave: int-convert-non-int-val, Octave: int-conversion-overflow, Octave: int-math-overflow) ได้ถูกลบออกแล้ว
    • rem และ mod มีฟังก์ชัน built-in แล้ว นอกจากนี้ยังจัดการประเภทจำนวนเต็มได้อย่างมีประสิทธิภาพโดยใช้เลขคณิตจำนวนเต็ม
    • การจัดทำดัชนีและการจัดทำดัชนีที่ไม่ค่อยมีการเขียนใหม่ส่วนใหญ่ ตั้งแต่ Octave ใช้การจัดเก็บคอลัมน์แบบบีบอัดสำหรับเมทริกซ์เบาบางความสนใจหลักคือการอุทิศให้กับการดำเนินการจัดการกับทั้งคอลัมน์ การดำเนินการดังกล่าวเร็วขึ้นอย่างรวดเร็วรวมทั้งกรณีที่สำคัญอื่น ๆ ด้วย
    • ยิ่งไปกว่านั้นตอนนี้คุณสามารถจัดสรรเมตริกซ์แบบเบาบางและจากนั้นเติมข้อมูลโดยการกำหนดให้ตรงตามเงื่อนไขบางประการ สำหรับข้อมูลเพิ่มเติมให้ดูที่ฟังก์ชัน `spalloc 'ซึ่งไม่ใช่หุ่นจำลองเพียงอย่างเดียว ดังนั้น nzmax และ nnz ไม่มีค่าเท่ากับ Octave เสมอไป Octave อาจสร้างเมทริกซ์ด้วย nnz & lt; nzmax อันเป็นผลมาจากการดำเนินการอื่น ๆ ดังนั้นคุณจึงควรใช้ nnz อย่างสม่ำเสมอเว้นแต่คุณต้องการใช้ nzmax อย่างแท้จริง (เช่นพื้นที่ที่จัดสรรให้กับองค์ประกอบที่ไม่ใช่ศูนย์)
    • มีการแบ่งส่วนที่น้อยลงและการแบ่งเมทริกซ์เบาบางโดยเฉพาะอย่างยิ่งคอลเล็กชันที่มีขนาดใหญ่ขึ้นจะมีประสิทธิภาพมากขึ้น นี่ใช้ได้กับทั้งตัวดำเนินการ [] และ cat / vertcat / horzcat
    • ขณะนี้คุณสามารถเลือกใช้ไดรเวอร์ xGESDD LAPACK เพื่อคำนวณการสลายตัวของค่าเอกพจน์โดยใช้ svd () แทนที่จะเป็นค่าเริ่มต้น xGESVD โดยใช้ sse_deviver pseudo-variable ที่กำหนดค่า โปรแกรมควบคุม xGESDD สามารถเร็วขึ้นถึง 6 เท่าเมื่อต้องการเวกเตอร์เอกพจน์ แต่รายงานว่ามีประสิทธิภาพน้อยกว่าการเมทริกซ์ที่ไม่มีสัญญาณรบกวนมาก
    • การตั้งค่าตัวแปรปลอมเช่น page_screen_output หรือ confirm_recursive_rmdir (หรือ svd_driver ที่กล่าวถึงข้างต้น) ขณะนี้ยอมรับตัวเลือก "local" เป็นอาร์กิวเมนต์ที่สองแล้วขอให้เปลี่ยนการเลิกทำเมื่อฟังก์ชันปัจจุบันส่งกลับ: function [status, msg] = rm_rf (dir) confirm_recursive_rmdir (false, "local"); [สถานะ, msg] = rmdir (dir, "s"); ... endfunction เมื่อ return_function_recursive_rmdir จะคืนค่าให้กับค่าที่ป้อนในฟังก์ชันแม้ว่าจะมีการเปลี่ยนแปลงตัวแปร rm_rf หรือฟังก์ชันที่เรียกใช้อยู่ก็ตาม
    • pkg ยอมรับตัวเลือก -forge สำหรับการดาวน์โหลดและติดตั้งแพคเกจจาก Octave Forge โดยอัตโนมัติ ตัวอย่างเช่นการติดตั้ง pkg -forge general จะดาวน์โหลดชุดล่าสุดของแพคเกจทั่วไปโดยอัตโนมัติและพยายามติดตั้ง ไม่มีการแก้ปัญหาการอ้างอิงโดยอัตโนมัติ นอกจากนี้
    • รายการ pkg-forge สามารถใช้ในการแสดงรายการแพ็คเกจที่มีอยู่ทั้งหมด
    • ** การแสดงข้อมูลภายในของโครงสร้างได้รับการเขียนใหม่อย่างสมบูรณ์เพื่อทำให้การเพิ่มประสิทธิภาพบางอย่างเป็นไปได้ ขณะนี้ข้อมูลฟิลด์สามารถแชร์ระหว่างโครงสร้างด้วยคีย์ที่เท่ากัน แต่มีมิติข้อมูลหรือค่าต่างกันทำให้การดำเนินการที่เก็บรักษาฟิลด์ได้เร็วขึ้น ตอนนี้ใช้ที่จัดเก็บข้อมูลที่ประหยัดสำหรับโครงสร้างแบบสเกลาร์ (เช่นเดียวกับสเกลาร์อื่น ๆ ) ทำให้การใช้งานของหน่วยความจำมีประสิทธิภาพมากขึ้น การดำเนินการบางอย่างเกี่ยวกับอาร์เรย์ในโครงสร้าง (concatenation, cellfun สม่ำเสมอ, num2cell) ได้รับความเร็วที่สำคัญอย่างมาก นอกจากนี้ชั้น octave_scalar_map มีอินเทอร์เฟซที่ง่ายกว่าในการทำงานกับโครงสร้างแบบสเกลาร์ภายในฟังก์ชัน C ++ DLD
    • ** มีสองรูปแบบใหม่สำหรับแสดงตัวเลข:
    • จัดรูปแบบ eng สั้น ๆ eng eng ยาว
    • แสดงตัวเลขทั้งสองในเอกสารทางวิศวกรรมเช่น mantissa + เลขยกกำลังที่เลขยกกำลังเป็นจำนวน 3 รายการ
    • ** ฟังก์ชันต่อไปนี้มีใหม่ใน Octave 3.4:
    • การเก็บรวบรวมข้อมูล erfcx nfields pqpnonneg uigetdir bitpack fileread nth_element quadcc uigetfile bitunpack fminbnd onCleanup randi uiputfile blkmm fskipl ถอดถอน uimenu cbrt ifelse pie3 รีเซ็ต whitebg curl ishermitian powerset rsf2csf chop isindex ppder บันทึกข้อมูล daspect luupdate ppint strengers divergence ผสาน ppjumps textread
    • ** ใช้ฟังก์ชันภาพเพื่อดูภาพด้วยโปรแกรมภายนอกเช่น display, xv และ xloadimage ไม่ได้รับการสนับสนุนอีกต่อไป ลบฟังก์ชัน image_viewer แล้ว
    • ** พฤติกรรมของการกำหนดค่า struct ที่ไม่ใช่ค่า struct ถูกเปลี่ยนแปลง ก่อนหน้านี้เป็นไปได้ที่จะเขียนทับค่าโดยพลการ: a = 1; a.x = 2;
    • ไม่สามารถทำได้อีกต่อไปเว้นแต่เมทริกซ์ว่างเปล่าหรืออาร์เรย์ของเซลล์
    • ** ฟังก์ชัน dlmread ถูกขยายเพื่อให้ระบุค่าที่กำหนดเองสำหรับช่องว่าง
    • ** ฟังก์ชัน dlmread และ dlmwrite ได้รับการแก้ไขเพื่อรับ ID ไฟล์ (ตามที่ส่งกลับโดย fopen) นอกเหนือจากชื่อไฟล์
    • ** Octave สามารถเพิ่มประสิทธิภาพค่าใช้จ่ายของ interpreter ของแฮนเดิลฟอร์แมทที่ไม่ระบุตัวตนได้ถ้าฟังก์ชันเพียงแค่เรียกใช้ฟังก์ชันอื่นหรือจัดการกับพารามิเตอร์บางตัวที่ผูกไว้กับค่าต่างๆ ตัวอย่าง: f = @ (x) sum (x, 1);
    • เมื่อเรียก f แล้วสายจะถูกส่งต่อไปที่ @sum โดยมีค่าคงที่ 1 ตัวและการเรียกฟังก์ชันที่ไม่ระบุตัวตนจะไม่เกิดขึ้นในกองซ้อนของการโทร
    • เลิกใช้งานแล้ว
    • ฟังก์ชันต่อไปนี้เลิกใช้งานใน Octave 3.2 และจะถูกนำออกจาก Octave 3.6 (หรือเวอร์ชันใดก็ตามที่เป็นเวอร์ชันหลักที่สองหลัง 3.2):
    • create_set spmnoz spmsp spmsp spmmpop spmax iscommand spcumsum spmin israwcommand spdrop sppod โหลด spqr spqr spqr โหลด spfnd spsum mark_as_command sphatus spsumsq mark_as_rawcommand spinv spvcat spatan2 spkron str2mat spchol splchol unmark_command spchol2inv แยก unmark_rawcommand
    • ฟังก์ชันต่อไปนี้ได้รับการเลิกใช้งานใน Octave 3.4 และจะถูกนำออกจาก Octave 3.8 (หรือเวอร์ชันใดก็ตามที่เป็นเวอร์ชันหลักที่สองหลังจาก 3.4):
    • autocor cellidx gammai krylovb ค่า autocov ส่ง glpkmex replot betai fstat is_global saveimage
    • สำหรับความเข้ากันได้กับ Matlab, mu2lin (x) เท่ากับ mu2lin (x, 0)
    • ไลบรารี ARPACK ได้รับการจัดจำหน่ายในรูปแบบ Octave แล้วจึงไม่จำเป็นต้องมีการใช้งานภายนอกอีกต่อไปเมื่อสร้าง 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 โดยเฉพาะอย่างยิ่งเกี่ยวกับกราฟิกการจัดการเส้นทางและตัวแปรในตัว

ซอฟต์แวร์ที่คล้ายกัน

ซอฟแวร์อื่น ๆ ของนักพัฒนา John W. Eaton

Octave
Octave

2 Jun 15

ความคิดเห็นที่ GNU Octave

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่