Effacer les filtres
Effacer les filtres

Manipulating Data in cell array, especially Inf

2 vues (au cours des 30 derniers jours)
Oliver-Maximilian Klein
Oliver-Maximilian Klein le 19 Mar 2022
Modifié(e) : Stephen23 le 19 Mar 2022
Hey there,
i have a 25x25 cell arrays which includes mostly numbers or doubles to be precise. Now some values are Infinity, displayed by the Inf keyword. Now i want to copy the cell array in to an 2d array and exchange the Inf's with ones. But i cant seem to figure it out. Maybe you guys know more ? With L_d_0 being the 2d cell array containing the data i want to copy / exchange with ones if they are Inf.
L_d_Matrix=zeros(25,25);
for i=1:length(L_d_0)
for j=1:length(L_d_0)
L_d_Matrix(i,j)=L_d_0{i,j};
if L_d_Matrix(i,j) == inf
L_d_Matrix(i,j) = 1;
end
end
end
  2 commentaires
Oliver-Maximilian Klein
Oliver-Maximilian Klein le 19 Mar 2022
Haha! I shouldve checked my spelling, its because inf is supposed to bei Inf. Yikes ! NVM guys. :)
Stephen23
Stephen23 le 19 Mar 2022
Modifié(e) : Stephen23 le 19 Mar 2022
isequal(inf,Inf)
ans = logical
1
PS: use ISINF rather than EQ.

Connectez-vous pour commenter.

Réponses (1)

Burhan Burak AKMAN
Burhan Burak AKMAN le 19 Mar 2022
I think that you can try this method on the other hand, that method shorter than if else method.
%Example Matrix
L_d_Matrix=[inf,5,2;inf,inf,inf;1,2,3]
L_d_Matrix = 3×3
Inf 5 2 Inf Inf Inf 1 2 3
%Here we change inf by one
L_d_Matrix(L_d_Matrix==inf)=1
L_d_Matrix = 3×3
1 5 2 1 1 1 1 2 3

Catégories

En savoir plus sur Matrix Indexing 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!

Translated by