Vectorization of for/loop
1 回表示 (過去 30 日間)
古いコメントを表示
I have the following code:
for ii = 1: length(angles)
laminate.ply(ii).angle = angles(ii)/180*pi;
laminate.ply(ii).t = thickness(ii);
laminate.ply(ii).material = mat_ex3_ge();
end
How to impliment it without for/loop?
0 件のコメント
採用された回答
Andrei Bobrov
2014 年 5 月 18 日
編集済み: Andrei Bobrov
2014 年 5 月 18 日
laminate.ply = struct('angles',num2cell(angles(:)/180*pi),...
't',num2cell(thickness(:)),...
'material',repmat({mat_ex3_ge()},numel(angles),1));
その他の回答 (1 件)
Matt J
2014 年 5 月 18 日
There's no way without a for-loop or equivalent.
But regardless, it's a bad way to organize your data. It splits the angles(ii), thickness(ii), etc... data in an inefficient way. Store all data in one field instead,
laminate.ply.angles=angles*180/pi;
laminate.ply.t=thickness;
laminate.ply.material(1:length(angles))=mat_ex3_ge();
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!