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 Comments

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.
per isakson
per isakson on 12 Sep 2021
Edited: per isakson on 12 Sep 2021
You haven't provided information enough for us help. Proposal
Anjani
Anjani on 12 Sep 2021
Edited: Anjani on 12 Sep 2021
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

Sign in to comment.

 Accepted Answer

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 Comments

Anjani
Anjani on 12 Sep 2021
Edited: Anjani on 12 Sep 2021
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.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 12 Sep 2021

Commented:

on 12 Sep 2021

Community Treasure Hunt

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

Start Hunting!