MATLAB Answers

Taking Absolute value of a cell arrray

15 views (last 30 days)
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?

  0 Comments

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 9 Jul 2020
Edited: madhan ravi on 9 Jul 2020
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 Comments

hamzah khan
hamzah khan on 9 Jul 2020
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
madhan ravi
madhan ravi on 9 Jul 2020
cellfun(@num2cell, P2, 'un', 0)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!