Hi
I want to take an absolute value of a cell array, but I am getting this error
"Unable to perform assignment because brace indexing is not supported for variables of this type."
I am attaching the file for which I want to take the absolute value and I am using this code
L = 128;
for i =1:1:size(Numerical_FourierForce,1)
for j =1:1:size(Numerical_FourierForce,2)
P2{i,j} = abs(Numerical_FourierForce{i,j}/L);
end
end
It is working if I remove the "L" from the loop, but I want to do it with it
Does anybody knows?

 Akzeptierte Antwort

madhan ravi
madhan ravi am 9 Jul. 2020
Bearbeitet: madhan ravi am 9 Jul. 2020

0 Stimmen

clear all
load NumericalFourierForce % note i haven’t seen your .mat file, shooting in the dark
L = 128; % make sure there isn’t any variable named L in the .mat file
P2 = cell(size(NumericalFourierForce));
for ii =1:size(Numerical_FourierForce,1)
for jj =1:size(Numerical_FourierForce,2)
P2{ii,jj} = abs(Numerical_FourierForce{ii,jj}/L);
end
end

3 Kommentare

Great! Thanks.. it worked
One more question, each cell has now 2 values, how can i seperate them into different cells
>> P2{1,1}
ans =
41.2467
164.1353
num2cell(P2{1,1})
cellfun(@num2cell, P2, 'un', 0)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by