function reshape ของ MATLAB


เป็นฟังก์ชันที่ถ้าใช้บ่อยแล้วจะดี เพราะการกระทำใด ๆ ในรูปเมตริกซ์โดยการหลีกเลี่ยงการใช้
การวนลูปแล้วกระทำกับตัวเลขทีละตัวจะทำให้การคำนวณโดยใช้ MATLAB เร็วขึ้น

ปัญหาของผมคือผมมีข้อมูล

reshape1

ผมต้องการให้เป็นแบบนี้

reshape2 ในคู่มือของ MATLAB บอกว่าให้ใช้คำสั่ง reshape ซึ่งมีวิธีการใช้ดังนี้

B = reshape(A,m,n)
โดยที่ A คือเมตริกซ์ที่ต้องการจะทำการเปลี่ยนแปลง
m และ n คือจำนวนแถวและหลัก

ถ้าผมใช้ B = reshape(y,[],1)  ผมจะได้

reshape3.

ซึ่งไม่ใช่สิ่งที่ต้องการ คิดอยู่ต้องนานว่าจะทำอย่างไร สรุปว่าก็แค่ B = reshape(y’,[],1) นั่นก็
คือทำการ transpose ก่อนนั่นเอง

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s