کلیدستان

نسخه‌ی کامل: بهینه سازی سرعت اجرای برنامه ها در متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام،
برنامه ای نوشتم که شامل چندین حلقه for تو در تو هست و در هر حلقه باید مقادیری به فایل سیمولینک ارسال و سیمولینک اجرا شود ،تعداد کل حالات بالا می باشد و زمان شبیه سازی را بسیار افزایش داده، برای اجرای سریعتر برنامه باید از پردازش موازی استفاده کنم یا باید از کامپیوتر های دانشگاه؟
با تشکر

کد:
clc;
tic;
load matlab;
A(1)=1000;
B(1)=1000;
C(1)=1000;
D(1)=1000;
E(1)=1000;
F(1)=1000;
G(1)=1000;
H(1)=1000;
o=1;

for i1=1:10
A(i1+1)=A(i1)-100;

for i2=i1:10
B(i2+1)=B(i2)-100;

for i3=i2:10
C(i3+1)=C(i3)-100;

for i4=i3:10
D(i4+1)=D(i4)-100;

for i5=i4:10
E(i5+1)=E(i5)-100;

for i6=i5:10
F(i6+1)=F(i6)-100;

for i7=i6:10
G(i7+1)=G(i7)-100;

for i8=i7:10
H(i8+1)=H(i8)-100;

% L1=A(i1);
% L2=B(i2);
% L3=C(i3);
% L4=D(i4);
% L5=E(i5);
% L6=F(i6);

% simout=sim('pv_model_subsystem_simulink_R2006b');
clc;

% Pow{o}=power;
% Volt{o}=voltage;
% Curr{o}=current;
% Q{o}=[A(i1) B(i2) C(i3) D(i4) E(i5) F(i6) G(i7) H(i8)];

o=o+1;
end
end
end
end
end
end
end
end



toc
سلام.
شما پردازش موازی را برای کدها انجام بدهید (بازنیسی کدها بر اساس پردازش موازی)، آنگاه ببینید که کدام کامپیوتر از نظر زمان، برای شما مناسب تر است (البته بستگی به تعداد هسته های cpu کامپیوتر هم دارد، زیرا باید در کدها تعیین کنید که از چند هسته از cpu برای پردازش موازی استفاده شود).
برای پردازش موازی، کلید زیر بخوانید :

http://www.kelidestan.com/keys/keys.php?key=156

در کلید فوق، نکات مربوط به پردازش موازی برای کدهای شامل حلقه for شرح داده شده است (آن بخش را با دقت بخوانید).
همچنین موضوع زیر را هم بخوانید :

http://www.kelidestan.com/forum/showthread.php?tid=6