How to convert "64x128 single" into "64x128 double"?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I imported an array from python with this shape: (5, 25, 64, 128, 1) It's 5 sets of 25 images that are 64x128. I tried plotting one of these images on matlab to check if the data imported correctly and it did. this is the code i used to print the image (see below).
nely=64
nelx=128
latent_its(1,1,:,1)
x(1:nely,1:nelx)=latent_its(1,2,:,:)
imagesc(-x); colormap(gray);axis equal; axis tight; axis off;pause(1e-6)
But, for some reason the workspace says that x is a "64x128 SINGLE" vs. "64x128 DOUBLE" (not sure what this means but it should be double, otherwise when I input this x variable into a topology optimization code I needed it for, I get this error (below). When I use a 64x128 double generated in matlab, code works.
Error using +
Sparse single array arithmetic operations are not supported.
Error in comp_gen>FE (line 90)
K(edof,edof) = K(edof,edof) + x(ely,elx)^penal*KE;
Error in comp_gen (line 19)
[U]=FE(nelx,nely,x,penal);
0 commentaires
Réponses (1)
KSSV
le 14 Mai 2021
You can convert a array A which single into double using:
A = double(A) ;
Read about single and double.
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!