How to speed up the while loop?

I have this while loop in the matlab when I try to run the code it is taking forver to run it.

6 个评论

Did you intend to write
while t_i < Tmax
rather than
while t < Tmax
I tried that as well but still it takes forever to run
What does the profiler say?
It does not end so it hard to tell... like it keeps running and i have to stop the run.
You haven't provided information enough for us help. Proposal
Anjani
Anjani 2021-9-12
编辑:Anjani 2021-9-12
I have uplaoded the text file of the code. So basically we had to create the subroutine files to calculate the A and B matrix and the Force as 2x1 vector

请先登录,再进行评论。

 采纳的回答

You didn't test the code before uploading!
I modified the input lines
z = 1; % input('Enter zeta, z = ');
w = 1; % input('Enter omega, w = ');
dt = 0.1; % input('Enter delta_t,dt = ');
Tmax = 10; % input('Enter T_max, Tmax = ');
Added
t_i = t;
before the while-loop. And commented out
% Excit;
since it only contained comments. And modified the last statement in the while-loop
t_i = t_i+dt;
Now it runs in no time
>> tic, main, toc
Elapsed time is 0.005256 seconds.

2 个评论

Anjani
Anjani 2021-9-12
编辑:Anjani 2021-9-12
As part of the assignemtns we have to add the values for w,z, and dt in the command line since it will change in the future. This is the first time I did the coding so I am pretty new to this game.
"w,z, and dt in the command line" I guess that means you should convert the script to a function, see Scripts vs. Functions.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by