Conversion to cell from double is not possible.

4 visualizaciones (últimos 30 días)
Divya
Divya el 14 de Jul. de 2022
Comentada: Dyuman Joshi el 6 de En. de 2024
Star Strider ha marcado con alerta este/a pregunta
clc
close all
n = input("enter the basis matrix dimension: ");
alpha2 = ones(1,n)*sqrt(2/n);
alpha2(1) = sqrt(1/n);
alpha1 = ones(1,n)*sqrt(2/n);
alpha(1) = sqrt(1/n);
for u = 0:n-1
for v = 0:n-1
for x = 0:n-1
for y = 0:n-1
a {u+1,v+1}(x+1,y+1) = alpha1(u+1)*alpha2(v+1)*...
cos((2*x+1)*pi*u/(2*n))*cos((2*y+1)*pi*v/(2*n));
end
end
end
end
mag = a;
figure();
k=1;
for i = 1:n
for j = 1:n
subplot(n,n,k)
imshow(mag{i,j})
k = k+1;
end
end
Conversion to cell from double is not possible.
Error in dctma (line 13)
a {u+1,v+1}(x+1,y+1) = alpha1(u+1)*alpha2(v+1)*...
  4 comentarios
Rogan
Rogan el 6 de En. de 2024
how to make it so simplier
Dyuman Joshi
Dyuman Joshi el 6 de En. de 2024
@Rogan How to make what so simpler?

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 14 de Jul. de 2022
If a variable is not defined before, the default type is double . You want to access a as a cell, so define it accordingly:
a = cell(n, n); % Preallocate as a cell
for u = 0:n-1
for v = 0:n-1
for x = 0:n-1
for y = 0:n-1
a {u+1,v+1}(x+1,y+1) = alpha1(u+1)*alpha2(v+1)*...
cos((2*x+1)*pi*u/(2*n))*cos((2*y+1)*pi*v/(2*n));
end
end
end
end

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by