problem with assigning in a loop

5 ビュー (過去 30 日間)
Hamid
Hamid 2014 年 12 月 14 日
コメント済み: Hamid 2014 年 12 月 14 日
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

採用された回答

Image Analyst
Image Analyst 2014 年 12 月 14 日
編集済み: Image Analyst 2014 年 12 月 14 日
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 件のコメント
Image Analyst
Image Analyst 2014 年 12 月 14 日
Maybe you need to define Ed as a cell before the loop
Ed = cell(1, lc);
Hamid
Hamid 2014 年 12 月 14 日
excellent, thanks.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by