Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Cell contents reference from a non-cell array object ERROR

1 Ansicht (letzte 30 Tage)
Hamid am 15 Dez. 2014
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Hi everybody, error occurs in Ed=Ed{j};
I don't know what is it and will be grateful for any suggestion.
Ned=zeros(ne,1);
for i=1:ne
for j=1:lc
Ed=Ed{j};
Ned(i)=bar3s(Ex(i,:),Ey(i,:),Ez(i,:),[E Ep(i,1)],Ed(i,:));
end
end
--------------------------------------------------------------
function [es]=bar3s(ex,ey,ez,ep,ed)
b=[ ex(2)-ex(1); ey(2)-ey(1); ez(2)-ez(1) ];
L=sqrt(b'*b);
n=b'/L; G=[ n zeros(size(n)); zeros(size(n)) n ];
E=ep(1); A=ep(2); Kle=E*A/L*[ 1 -1; 1 1];
N=E*A/L*[-1 1]*G*ed';
es=N;

Antworten (1)

David Sanchez am 15 Dez. 2014
Ed{j} is the content of element j within cell array Ed, and you are trying to assign that value to the cell array itself Ed:
Ed=Ed{j}; %!!!!!
2 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
David Sanchez am 15 Dez. 2014
You might try something like this:
Ned=zeros(ne,1);
for i=1:ne
for j=1:lc
% Ed=Ed{j}; %%%%%no need for this line
Ned(i)=bar3s(Ex(i,:),Ey(i,:),Ez(i,:),[E Ep(i,1)],Ed{j}(i,:)); % the cell content is plugged with no need of intermediaries
end
end

Community Treasure Hunt

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

Start Hunting!

Translated by