# Conversion to cell from double is not possible.

6 views (last 30 days)
Divya on 14 Jul 2022
Commented: Divya on 15 Jul 2022
This question was flagged by Star Strider
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)*...
##### 2 CommentsShowHide 1 older comment
Divya on 14 Jul 2022
i am enterring 2 or 4, but error is same.

Jan on 14 Jul 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
##### 1 CommentShowHide None
Divya on 15 Jul 2022
Thanku so much, now it is working fine.