ให้ข้อมูลบางอย่าง - ตัวอย่างเช่น (ในกรณีของฉัน) - เหมือนตารางต่อไปนี้
Name |pos_x|pos_y|pos_z
------------------------
Point1| .1| .1| .2
Point2| 0.0| 0.0| .1
Middle| .1| .2| .1
Point3| 0.0| 1| 0.0
และบางทีหลังจากการนำเข้าข้อมูลจาก Excel ค่าทั้งหมดจะถูกเก็บไว้ในอาร์เรย์เซลล์ (ขอเรียกมันว่า celldata
)
เพื่อวัตถุประสงค์ในการทดสอบเซลล์นี้สามารถสร้างขึ้นด้วยบรรทัด
celldata={'Point1' .1 .1 .2;'Point2' 0 0 .1;'Middle' .1 .2 .1;'Point3' 0 1 0}
สำหรับตัวอย่างนี้ เซลล์มีขนาด 4x4
ในขณะนี้ ฉันกำลังสร้างโครงสร้างด้วยบรรทัดต่อไปนี้
point.name=char(celldata(:,1));
point.posxyz=cell2mat(celldata(:,2:4));
ผลลัพธ์ที่ได้คือ point size 1x1 Class struct
ฉันกำลังมองหาวิธีที่มีประสิทธิภาพในการสร้างมันเป็น point size 4x1 Class struct
- ดังนั้นหนึ่งองค์ประกอบสำหรับแต่ละบรรทัดในตารางด้านบน - ทั้งหมดนี้มีโครงสร้างภายในเหมือนกัน: ชื่อและพิกัด
ฉันลองแล้ว cell2struct
แต่นั่นเป็นเพียงเท่านั้น สามารถขยายออกไปในมิติเดียวโดยไม่ต้องจัดกลุ่มบางคอลัมน์เข้าด้วยกัน - เท่าที่ฉันได้ลอง
นอกจากนี้ นี่ยังไม่ซ้ำกับ จัดสรรโครงสร้างเซลล์ล่วงหน้าใน Matlab ในกรณีนี้ ฉันมีคอลัมน์ที่แตกต่างกันมากมาย - หรืออาจเป็นจำนวนคอลัมน์แบบไดนามิกด้วยซ้ำ
dataset
จะมีประโยชน์ใดๆ หรือไม่? - person fpe   schedule 29.04.2013for punkt=point,disp([punkt.name ':' num2str(norm(punkt.posxyz))]),end
เป็นตัวอย่าง โดยเฉพาะอย่างยิ่งเราไม่จำเป็นต้องตรวจสอบว่ามีองค์ประกอบกี่รายการ คุณรู้อะไรดีขึ้นบ้างไหม? - person Bastian Ebeling   schedule 29.04.2013