Info
此问题已关闭。 请重新打开它进行编辑或回答。
Cell contents reference from a non-cell array object ERROR
2 次查看(过去 30 天)
显示 更早的评论
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;
0 个评论
回答(1 个)
David Sanchez
2014-12-15
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 个评论
David Sanchez
2014-12-15
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!