คำถามติดแท็ก matlab

MATLAB เป็นภาษาระดับสูงและสภาพแวดล้อมการเขียนโปรแกรมเชิงโต้ตอบสำหรับการคำนวณเชิงตัวเลขและการสร้างภาพที่พัฒนาโดย MathWorks อย่าใช้ทั้งแท็ก [matlab] และ [อ็อกเทฟ] เว้นแต่คำถามจะชัดเจนเกี่ยวกับความเหมือนหรือความแตกต่างระหว่างทั้งสอง เมื่อใช้แท็กนี้โปรดระบุรุ่น MATLAB ที่คุณใช้งานด้วย (เช่น R2017a)

8
อ่านไฟล์. mat ใน Python
เป็นไปได้หรือไม่ที่จะอ่านไฟล์ไบนารี MATLAB .mat ใน Python ฉันเคยเห็นว่า SciPy กล่าวหาว่าสนับสนุนการอ่านไฟล์. mat แต่ฉันไม่ประสบความสำเร็จ ฉันติดตั้ง SciPy เวอร์ชั่น 0.7.0 แล้วและฉันหาloadmat()วิธีไม่พบ

9
ฉันจะจัดทำดัชนีอาร์เรย์ MATLAB ที่ส่งกลับโดยฟังก์ชันโดยไม่กำหนดค่าให้กับตัวแปรโลคอลได้อย่างไร
ตัวอย่างเช่นถ้าฉันต้องการอ่านค่ากลางจากmagic(5)ฉันสามารถทำเช่นนี้: M = magic(5); value = M(3,3); value == 13ที่จะได้รับ ฉันต้องการที่จะสามารถทำสิ่งหนึ่งในสิ่งเหล่านี้: value = magic(5)(3,3); value = (magic(5))(3,3); เพื่อแจกจ่ายด้วยตัวแปรกลาง อย่างไรก็ตาม MATLAB บ่นเกี่ยวกับUnbalanced or unexpected parenthesis or bracketวงเล็บแรกก่อนหน้า3ในวงเล็บแรกก่อน เป็นไปได้ไหมที่จะอ่านค่าจากอาเรย์ / เมทริกซ์โดยไม่ต้องกำหนดค่าให้กับตัวแปรก่อน

9
ความแตกต่างระหว่าง Octave และ MATLAB หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันเป็นโปรแกรมเมอร์ที่รู้จัก Python, Ruby และ C บางคนที่พยายามตัดสินใจว่าจะเรียน GNU Octave หรือ Matlab ฉันรู้ว่าพวกเขามีจำนวนมากเหมือนกันแต่ก็ไม่ชัดเจนสำหรับฉันว่าไวยากรณ์คล้ายกันหรือแม้กระทั่งโครงสร้างข้อมูล ทุกคนบอกว่าพวกเขา "คล้ายกัน" แต่ไม่มีใครบอกว่าพวกเขาเหมือนกันจริง ๆ ลิงค์ด้านบนแสดงตัวอย่างหลาย ๆ ที่พวกเขามีความคล้ายคลึงกันหรือเหมือนกัน syntactically มันเป็นเรื่องจริงสำหรับทั้งภาษา? ฉันพยายามเรียนรู้ภาษาโดยทั่วไปเพื่อคำนวณทางวิทยาศาสตร์มากขึ้นอาจใช้ห้องสมุดการวิเคราะห์ภาพ ฉันรู้ว่ามีภาษาอื่นอีกมากที่ฉันสามารถตั้งโปรแกรมได้ แต่ที่ปรึกษาของฉันบอกว่าการรู้ MATLAB หรือ Octave นั้นมีความสำคัญต่อวิทยาศาสตร์ นอกจากนี้ Matlab มีค่าใช้จ่ายหรือไม่ ฉันไม่มีเงินจำนวนมาก แต่ถ้ามีความแตกต่างที่สำคัญในห้องสมุดหรือที่อื่นฉันมั่นใจว่าฉันสามารถหาเงินได้
272 matlab  octave 

10
การเป็นตัวแทนและการแก้เขาวงกตให้ภาพ
วิธีที่ดีที่สุดในการเป็นตัวแทนและแก้ไขเขาวงกตที่ได้รับภาพคืออะไร? เมื่อพิจารณาจากรูปภาพ JPEG (ดังที่แสดงไว้ด้านบน) วิธีที่ดีที่สุดในการอ่านข้อมูลคือแยกวิเคราะห์ข้อมูลลงในโครงสร้างข้อมูลบางส่วนและแก้ปัญหาเขาวงกต สัญชาตญาณแรกของฉันคือการอ่านภาพทีละพิกเซลและเก็บไว้ในรายการ (อาร์เรย์) ของค่าบูลีน: TrueสำหรับพิกเซลสีขาวและพิกเซลFalseที่ไม่ใช่สีขาว (สีสามารถละทิ้ง) ปัญหาด้วยวิธีนี้คือภาพอาจจะไม่ "สมบูรณ์แบบพิกเซล" โดยที่ฉันเพียงแค่หมายความว่าหากมีพิกเซลสีขาวบางแห่งบนผนังก็อาจสร้างเส้นทางที่ไม่ได้ตั้งใจ อีกวิธีหนึ่ง (ซึ่งมาหาฉันหลังจากคิดไปเล็กน้อย) ก็คือการแปลงภาพเป็นไฟล์ SVG ซึ่งเป็นรายการของเส้นทางที่วาดบนผืนผ้าใบ ด้วยวิธีนี้เส้นทางสามารถอ่านได้ในรายการประเภทเดียวกัน (ค่าบูลีน) ซึ่งTrueระบุเส้นทางหรือกำแพงเพื่อFalseระบุพื้นที่ที่สามารถเดินทางได้ ปัญหาด้วยวิธีนี้เกิดขึ้นหากการแปลงไม่ถูกต้อง 100% และไม่เชื่อมต่อกำแพงทั้งหมดอย่างเต็มที่ทำให้เกิดช่องว่าง นอกจากนี้ปัญหาเกี่ยวกับการแปลงเป็น SVG ก็คือเส้นไม่ตรง "สมบูรณ์แบบ" ซึ่งส่งผลในเส้นทางเป็นลูกบาศก์ bezier โค้ง ด้วยรายการ (อาร์เรย์) ของค่าบูลีนที่จัดทำดัชนีโดยจำนวนเต็มเส้นโค้งจะไม่ถ่ายโอนได้อย่างง่ายดายและทุกจุดที่เส้นบนเส้นโค้งจะต้องถูกคำนวณ แต่จะไม่ตรงกับดัชนีรายการทั้งหมด ฉันคิดว่าในขณะที่หนึ่งในวิธีการเหล่านี้อาจใช้งานได้ (แม้ว่าอาจจะไม่ใช่) ว่าพวกเขาไม่มีประสิทธิภาพมากนักเนื่องจากภาพขนาดใหญ่ดังกล่าวและมีวิธีที่ดีกว่า วิธีนี้ดีที่สุด (มีประสิทธิภาพมากที่สุดและ / หรือมีความซับซ้อนน้อยที่สุด) ทำอย่างไร มีวิธีที่ดีที่สุดหรือไม่? จากนั้นการแก้ปัญหาของเขาวงกตมา ถ้าฉันใช้วิธีใดวิธีหนึ่งจากสองวิธีแรกฉันจะต้องใช้เมทริกซ์เป็นหลัก ตามคำตอบนี้เป็นวิธีที่ดีที่จะเป็นตัวแทนเขาวงกตใช้ต้นไม้และเป็นวิธีที่ดีที่จะแก้ปัญหาได้คือการใช้A * อัลกอริทึม เราจะสร้างต้นไม้จากภาพได้อย่างไร …

4
กราฟสไตล์ xkcd ใน MATLAB
ดังนั้นคนที่มีความสามารถได้คิดวิธีการที่จะทำให้xkcdกราฟสไตล์ใน Mathematica , ในน้ำยาง , ในหลามและใน Rแล้ว เราจะใช้ MATLAB ในการสร้างพล็อตที่ดูเหมือนกับข้างบนได้อย่างไร? สิ่งที่ฉันได้ลอง ฉันสร้างเส้นที่สั่นคลอน แต่ฉันไม่สามารถรับแกนที่บิดเบี้ยวได้ ทางออกเดียวที่ฉันคิดว่าจะเขียนทับพวกเขาด้วยเส้น wiggly แต่ฉันต้องการที่จะสามารถเปลี่ยนแกนจริง ฉันยังไม่สามารถใช้ฟอนต์ Humor เพื่อทำงานรหัสบิตที่ใช้คือ: annotation('textbox',[left+left/8 top+0.65*top 0.05525 0.065],... 'String',{'EMBARRASSMENT'},... 'FontSize',24,... 'FontName','Humor',... 'FitBoxToText','off',... 'LineStyle','none'); สำหรับบรรทัด wiggly ฉันได้ทดลองเพิ่มเสียงแบบสุ่มและการทำให้เรียบ: smooth(0.05*randn(size(x)),10) แต่ฉันไม่สามารถทำให้พื้นหลังสีขาวปรากฏขึ้นรอบ ๆ พวกเขาเมื่อพวกเขาตัดกัน ...
224 matlab  plot 

9
เป็นไปได้หรือไม่ที่จะกำหนดมากกว่าหนึ่งฟังก์ชั่นต่อไฟล์ใน MATLAB และเข้าถึงได้จากภายนอกไฟล์นั้น?
เมื่อฉันเรียนระดับปริญญาตรีของฉันใน EE MATLAB ต้องการให้แต่ละฟังก์ชั่นกำหนดไว้ในไฟล์ของตัวเองแม้ว่ามันจะเป็นแบบเส้นเดียวก็ตาม ตอนนี้ฉันกำลังเรียนระดับบัณฑิตศึกษาและฉันต้องเขียนโครงการใน MATLAB นี่ยังเป็นข้อกำหนดสำหรับ MATLAB รุ่นใหม่กว่าหรือไม่ หากเป็นไปได้ที่จะวางฟังก์ชั่นมากกว่าหนึ่งไฟล์ไว้ในไฟล์มีข้อ จำกัด ในเรื่องนี้หรือไม่? ตัวอย่างเช่นฟังก์ชั่นทั้งหมดในไฟล์สามารถเข้าถึงได้จากภายนอกไฟล์หรือเฉพาะฟังก์ชั่นที่มีชื่อเดียวกับไฟล์? หมายเหตุ: ฉันใช้ MATLAB รีลีส R2007b

12
ทำไม MATLAB ถึงรวดเร็วในการคูณเมทริกซ์?
ฉันกำลังสร้างมาตรฐานด้วย CUDA, C ++, C #, Java และการใช้ MATLAB สำหรับการตรวจสอบและสร้างเมทริกซ์ เมื่อฉันทำการคูณเมทริกซ์ด้วย MATLAB 2048x2048และเมทริกซ์ที่ยิ่งใหญ่กว่าก็จะถูกคูณด้วยเกือบทันที 1024x1024 2048x2048 4096x4096 --------- --------- --------- CUDA C (ms) 43.11 391.05 3407.99 C++ (ms) 6137.10 64369.29 551390.93 C# (ms) 10509.00 300684.00 2527250.00 Java (ms) 9149.90 92562.28 838357.94 MATLAB (ms) 75.01 423.10 3133.90 มีเพียง CUDA เท่านั้นที่สามารถแข่งขันได้ แต่ฉันคิดว่าอย่างน้อย C …


9
MATLAB มี foreach หรือไม่ ถ้าเป็นเช่นนั้นมันจะทำงานอย่างไรถ้าข้อมูลพื้นฐานเปลี่ยนแปลง?
MATLAB มีโครงสร้าง foreach หรือไม่ ถ้าเป็นเช่นนั้นจะเกิดอะไรขึ้นถ้าข้อมูลพื้นฐานเปลี่ยนแปลง (เช่นถ้าวัตถุถูกเพิ่มเข้าไปในชุด)?
170 matlab  syntax 

2
เครื่องมือในการแปลงรหัส MATLAB เป็น Python [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันมีรหัส MATLAB จำนวนมากจากวิทยานิพนธ์ MS ของฉันซึ่งตอนนี้ฉันต้องการแปลงเป็น Python (โดยใช้ numpy / scipy และ matplotlib) และแจกจ่ายเป็น open-source ฉันรู้ว่าความคล้ายคลึงกันระหว่างห้องสมุดทางวิทยาศาสตร์ของ MATLAB และ Python และการแปลงด้วยตนเองจะไม่เกินสองสัปดาห์ (หากฉันทำงานต่อทุกวันเป็นระยะเวลาหนึ่ง) ฉันสงสัยว่ามีเครื่องมือใด ๆ ที่สามารถทำการแปลงได้หรือไม่

4
MATLAB OOP ช้าหรือฉันทำอะไรผิดหรือเปล่า?
ผมทดลองกับMATLAB OOPเป็นจุดเริ่มต้นที่ผมเลียนแบบของฉัน c ++ 's เรียน Logger และฉันวางฟังก์ชั่นผู้ช่วยสตริงของฉันทั้งหมดในชั้นเรียน String คิดว่ามันจะดีที่จะสามารถที่จะทำสิ่งที่ชอบa + b, a == b, a.find( b )แทนstrcat( a b ), strcmp( a, b ), ดึงองค์ประกอบแรกของstrfind( a, b )ฯลฯ ปัญหา: การชะลอตัว ฉันใช้สิ่งต่าง ๆ ข้างต้นเพื่อใช้งานและสังเกตเห็นการชะลอตัวที่รุนแรงในทันที ฉันทำผิดหรือเปล่า (ซึ่งเป็นไปได้อย่างแน่นอนเนื่องจากฉันมีประสบการณ์ค่อนข้าง จำกัด MATLAB) หรือ OOP ของ MATLAB เพิ่งแนะนำค่าใช้จ่ายจำนวนมากหรือไม่? กรณีทดสอบของฉัน นี่คือการทดสอบง่ายๆที่ฉันทำกับสตริงโดยทั่วไปเพียงแค่ต่อท้ายสตริงและนำส่วนที่ต่อท้ายออกมาอีกครั้ง: หมายเหตุ: อย่าเขียนคลาส String อย่างนี้ในรหัสจริง! Matlab …

9
การใช้ i และ j เป็นตัวแปรใน Matlab
iและjเป็นชื่อตัวแปรที่นิยมมาก (ดูเช่นคำถามนี้นี้และชื่อนี้ ) ตัวอย่างเช่นในลูป: for i=1:10, % do something... end ตามดัชนีเข้าสู่เมทริกซ์: mat( i, j ) = 4; เหตุใดจึงไม่ควรใช้เป็นชื่อตัวแปรใน Matlab

11
MATLAB สามารถทำสิ่งที่ R ไม่สามารถทำได้? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันมักจะได้ยินคนบ่นว่าใบอนุญาตMATLABแพงแค่ไหน จากนั้นผมสงสัยว่าทำไมพวกเขาไม่เพียงแค่ใช้คู่หรือR แต่เป็นสิทธิหลังหรือไม่ คุณสามารถใช้ R เพื่อแทนที่ MATLAB ได้หรือไม่?

5
ใน Matlab ควรใช้ bsxfun เมื่อใด
คำถามของฉัน:ฉันสังเกตเห็นว่าคำตอบที่ดีมากมายสำหรับคำถาม Matlab ใน SO มักใช้ฟังก์ชันbsxfunนี้ ทำไม? แรงจูงใจ:ในเอกสาร Matlab สำหรับbsxfunตัวอย่างต่อไปนี้มีให้: A = magic(5); A = bsxfun(@minus, A, mean(A)) แน่นอนเราสามารถดำเนินการเดียวกันโดยใช้: A = A - (ones(size(A, 1), 1) * mean(A)); และในความเป็นจริงการทดสอบความเร็วอย่างง่ายแสดงให้เห็นว่าวิธีที่สองเร็วขึ้นประมาณ 20% ทำไมต้องใช้วิธีแรก? ฉันคาดเดาว่ามีบางสถานการณ์ที่การใช้bsxfunจะเร็วกว่าวิธีการ "ด้วยตนเอง" มาก ฉันสนใจที่จะเห็นตัวอย่างของสถานการณ์ดังกล่าวและคำอธิบายว่าเหตุใดจึงเร็วกว่า นอกจากนี้องค์ประกอบสุดท้ายของคำถามนี้อีกครั้งจากเอกสาร Matlab สำหรับbsxfun: "C = bsxfun (fun, A, B) ใช้การดำเนินการไบนารีองค์ประกอบต่อองค์ประกอบที่ระบุโดยฟังก์ชันจับ fun กับอาร์เรย์ A และ B โดยใช้ …
136 arrays  matlab  bsxfun 

16
ฉันจะตั้งค่าเริ่มต้นสำหรับพารามิเตอร์ฟังก์ชันใน Matlab ได้อย่างไร
เป็นไปได้ไหมที่จะมีอาร์กิวเมนต์เริ่มต้นใน Matlab ตัวอย่างเช่นที่นี่: function wave(a, b, n, k, T, f, flag, fTrue=inline('0')) ฉันต้องการให้คำตอบที่แท้จริงเป็นอาร์กิวเมนต์เสริมสำหรับฟังก์ชัน wave ถ้าเป็นไปได้ใครสามารถอธิบายวิธีการที่เหมาะสมในการทำเช่นนี้ได้หรือไม่? ขณะนี้ฉันกำลังลองสิ่งที่ฉันโพสต์ไว้ด้านบนและฉันได้รับ: ??? Error: File: wave.m Line: 1 Column: 37 The expression to the left of the equals sign is not a valid target for an assignment.

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