Conversion to cell from double is not possible.

3 Ansichten (letzte 30 Tage)
Divya
Divya am 14 Jul. 2022
Kommentiert: Dyuman Joshi am 6 Jan. 2024
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 Kommentare
Rogan
Rogan am 6 Jan. 2024
how to make it so simplier
Dyuman Joshi
Dyuman Joshi am 6 Jan. 2024
@Rogan How to make what so simpler?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 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

Weitere Antworten (0)

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by