Azzera filtri
Azzera filtri

problem with assigning in a loop

1 visualizzazione (ultimi 30 giorni)
Hamid
Hamid il 14 Dic 2014
Commentato: Hamid il 14 Dic 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

Risposta accettata

Image Analyst
Image Analyst il 14 Dic 2014
Modificato: Image Analyst il 14 Dic 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 Commenti
Image Analyst
Image Analyst il 14 Dic 2014
Maybe you need to define Ed as a cell before the loop
Ed = cell(1, lc);
Hamid
Hamid il 14 Dic 2014
excellent, thanks.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by