Mengingat beberapa data - misalnya (dalam kasus saya) - seperti tabel berikut
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
dan mungkin setelah mengimpor data tersebut dari excel semua nilai disimpan dalam array sel (sebut saja celldata
).
Untuk tujuan pengujian sel ini dapat dibuat dengan baris
celldata={'Point1' .1 .1 .2;'Point2' 0 0 .1;'Middle' .1 .2 .1;'Point3' 0 1 0}
Untuk contoh ini selnya berukuran 4x4.
Saat ini saya sedang membuat struktur dengan baris berikut
point.name=char(celldata(:,1));
point.posxyz=cell2mat(celldata(:,2:4));
Ini menghasilkan point size 1x1 Class struct
. Saya mencari cara efisien untuk menghasilkannya sebagai point size 4x1 Class struct
- jadi satu elemen untuk setiap baris pada tabel di atas - semuanya dengan struktur dalam yang sama: nama dan koordinat.
Saya sudah mencoba cell2struct
, tapi itu hanya dapat dibuka sepanjang satu dimensi tanpa mengelompokkan beberapa kolom bersama - sejauh yang saya coba.
Selanjutnya, ini bukan duplikat dari Alokasikan terlebih dahulu struktur sel di matlab seperti dalam kasus ini di sini, saya memiliki banyak kolom berbeda - atau bahkan mungkin jumlah kolom yang dinamis.
dataset
akan membantu? - person fpe   schedule 29.04.2013for punkt=point,disp([punkt.name ':' num2str(norm(punkt.posxyz))]),end
sebagai contoh. Terutama kita tidak perlu memeriksa berapa banyak elemen yang ada. Apakah Anda tahu sesuatu yang lebih baik? - person Bastian Ebeling   schedule 29.04.2013