MATLAB编程:循环、符号与时间效率优化
一、绘图命令对计算时间的影响
在MATLAB编程中,绘图相关的命令,如 plot() 、 label{} 和 legend() ,虽然不会影响计算的准确性,但会显著减慢计算过程。因此,在可能的情况下,应避免在循环中绘制计算数据。
例如,在计算函数$F(t,\mu)=\sin(2t)\sqrt{\sin(\mu t\sqrt{t + t^{2}+t^{3}})}$,其中$t = 0\cdots\pi$($\Delta t=\frac{\pi}{1000}$),$\mu = 1\cdots7$时,使用 for...end 和 while...end 循环进行计算,并在循环中使用 plot() 命令绘制图形。以下是具体的代码:
% [FOR ... END]
mu=1:7; t=0:pi/1e3:pi;
F=zeros(numel(mu), numel(t)); % 内存分配
for mu=1:7
for ii=1:numel(t)
F(mu, ii)=sin(2*t(ii))*sqrt(sin(mu*t(ii)*sqrt(t(ii)+t(ii)^2+t(ii)^3)));
end
plot(t, F(mu,:)), hold all
end
xlabel('t'), ylabel('F'), title('Sine waves'), grid on
%% [WH
超级会员免费看
订阅专栏 解锁全文
1245

被折叠的 条评论
为什么被折叠?



