Matlab'da daha sonra LabVIEW'in Mathscript düğümünde desteklenen bir 3D dizi veya matris oluşturmam gerekiyor. 3D dizisindeki tüm değerler 0 olarak başlatılmalı ve 3 boyuttaki boyutlar farklı önceden hesaplanmış değişkenlerdir.3 argüman zeros işlevi desteklenmeden Matlab'da 3B matris oluşturma desteği
Aşağıdakileri denedim: Matlab için gayet iyi çalışan X = zeros(a,b,c);
, ancak LabVIEW uygulamasında sıfırlar işlevi yalnızca 1 veya 2 bağımsız değişkeni desteklemektedir.
for i = 1 to c
X(:,:,i) = zeros(a,b);
end
Bununla birlikte, ne de dizi indeksleme desteği 3 indeksleri:
Sonra döngü için ile oluşturarak çalıştı."You can specify only one or two index arguments, such as a(1, 2)."
nasıl sıfır 3 argümanlarla çalışması ve 3 argümanlarla dizi indeksleme ne kullanmayan bir 3D dizi oluşturmak için herhangi bir fikir var mı: hatası alıyorum?
Şu an bu benim için büyük bir problem. Desteklenmediklerini bile düşünmediler. Bir şekilde 3D dizileri “simüle” edebilecek bir çözüm hakkında herhangi bir fikriniz var mı? Bu yapı olmadan tüm algoritmam öldürüldü. – rafanadal
@rafanadal Emin değilim, uygulamanıza bağlıdır. Belki üçüncü boyutu düzleştirebilir ve yatay olarak 2B matris olarak yapıştırabilirsiniz. Yani 'arr3d = zeros (m, n, p)' yi oluşturmak yerine 'arr2d = zeros (m, n * p)' yi yaratırsınız. Tabii ki bu diziye tüm indekslemeyi ayarlamanız gerekecek, bu yüzden 'arr3d (:,:, i)' ye erişmeniz gerektiğinde 2d matrisini arr2d (:, (i-1) * n + 1: i * n) ' – Amro
Bu iyi bir fikir. Bunu sevdim. Tüm hücrelerdeki veriler bağımsız olduğundan ve 3 boyut sadece doğru indeksleme için kullanıldıkça düzleştirme işe yarayacak, sadece indekslemeyi bozmamaya dikkat etmeliyim. Teşekkürler! – rafanadal