การสลับองค์ประกอบสองอย่างในเวกเตอร์ / เมทริกซ์นั้นง่ายมากใน Octave:
x='abcde';
x([4,1])=x([1,4])
x =
dbcae
น่าเสียดายที่ฉันยังไม่พบวิธีการทำสิ่งนี้ภายในฟังก์ชั่นที่ไม่ระบุชื่อ ในขณะที่ฟังก์ชั่นด้านล่างนั้นถูกต้องตามหลักไวยากรณ์ แต่จะให้องค์ประกอบสองอย่างที่เปลี่ยนกลับไม่ใช่ทั้งหมดx
เวกเตอร์ :
f=@(x)(x([4,1])=x([1,4]))
f(x)
ans =
ad
มีวิธีการที่จะบรรลุพฤติกรรมที่ต้องการโดยใช้ฟังก์ชั่นที่ไม่ระบุชื่อในลักษณะที่เป็นกอล์ฟหรือไม่? สามารถสลับหลายองค์ประกอบด้วยวิธีนี้โดยใช้ฟังก์ชันที่ไม่ระบุชื่อได้หรือไม่?
ฉันสามารถสร้างเวกเตอร์การจัดทำดัชนี: f=@(x)x([4,2,3,1,5])
แต่การสร้างเวกเตอร์ดังกล่าวแบบไดนามิกนั้นอาจใช้เวลามากเช่นกัน
โพสต์เมตาที่เกี่ยวข้อง
—
Stewie Griffin