how to convert a 3-d binary array of spherical cordinates into floating type array of cartesian cordinates
1 次查看(过去 30 天)
显示 更早的评论
I have matlab data ("vand_sph61-11.mat") which i linked here. this data has spherical cordinates in binary form and has 3-d array. this data has 1801x59x109 size. 1801 is range by getting from dividing 5 meter to 50 meter into 2.5 cm. 59 is transmitter beams by getting from dividing -29 degree to 29 degree into 1 degree. 109 is receiver beams by getting from dividing -54 degree to 54 degree into 1 degree. I want to convert this data into cartesian cordinates which has floating type.
In this data, i created a 3-d object in which when point exist then have binary value '1' otherwise have binary value '0'.
please help me
2 个评论
Rik
2019-10-16
So you want to find the indices in your 3D array and convert those indices to the values of the three vectors you describe?
采纳的回答
Rik
2019-10-16
%find 3D indices in M
[r,c,p]=findND(M);
%create lookup tables
lookup=struct;
lookup.r=5:.025:50;
lookup.c=-29:29;
lookup.p=-54:54;
%convert indices to physical dimensions
r=lookup.r(r);
c=lookup.c(c);
p=lookup.p(p);
8 个评论
Rik
2019-10-25
'it is not working' does not provide any useful information. As I said in my comment these two lines of code are not enough to get your desired output. So what code did you try?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!