تعيين القيم للحقول في صفيف ثنائي الأبعاد في MATLAB

0

لدي مشكلة بسيطة نسبيًا لم يتمكن Google-fu من حلها وأعتقد أنه يجب أن يكون لها حل.

لدي مجموعة قيم m-by-n ، وأحاول تعيينها للحقول في بنية m-by-n. هذا أمر تافه باستخدام حلقة for (كما هو موضح أدناه) ، أتساءل فقط أن هناك طريقة أفضل / أكثر كفاءة للقيام بذلك.

values = rand(4,8);

for i = 1:4
    for j = 1:8
        val_struct(i,j).a = values(i,j);
    end
end

نظرًا لأنني بحاجة إلى القيام بذلك للعديد من المجالات ، فأنا مترددًا بعض الشيء في تشغيل مجموعة من الحلقات إذا لم أكن بحاجة إلى ذلك تمامًا.

1 إجابة

1
افضل جواب

يمكنك استخدام num2cell و struct :

val_struct = struct('a', num2cell(values));

لاحظ أن المصفوفات الرقمية أكثر كفاءة من struct arrays .

:مؤلف
فوق
قائمة طعام