problem with assigning in a loop

5 vues (au cours des 30 derniers jours)
Hamid
Hamid le 14 Déc 2014
Commenté : Hamid le 14 Déc 2014
my code runs correctly when lc is 1,I want lc>1 ;
Ed is 45*6 matrix and I think there is a way to assign Ed for lc>1 .
What can I do?
please help.
for i=1:lc
ff=f(:,i);
[a,r]=solveq(K,ff,bc);
Ed=extract(Edof,a);
end
----------------------------------------
function [ed]=extract(edof,a)
[nie,n]=size(edof);
t=edof(:,2:n);
for i = 1:nie
ed(i,1:(n-1))=a(t(i,:))';
end

Réponse acceptée

Image Analyst
Image Analyst le 14 Déc 2014
Modifié(e) : Image Analyst le 14 Déc 2014
Store the various values of Ed for different iterations in a cell array
Ed{i} =extract(Edof,a);
or a 3D array
thisEd=extract(Edof,a);
allEd(:,:,i) = thisEd;
If you use a 3D array, be sure to preallocate before the loop starts
Ed=allED(45,6,lc);
  3 commentaires
Image Analyst
Image Analyst le 14 Déc 2014
Maybe you need to define Ed as a cell before the loop
Ed = cell(1, lc);
Hamid
Hamid le 14 Déc 2014
excellent, thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by