Register to reply

Implement iterations on MATLAB

by sandy.bridge
Tags: implement, iterations, matlab
Share this thread:
sandy.bridge
#1
Jan24-12, 05:51 PM
P: 778
Hello all,
I am trying to play around with MATLAB so I can become familiar with it. I have absolutely no programming experience, si it's a bit confusing for me. I have this formula:
[tex]v(t)=10(1-e^{-t})[/tex]
and I want to implement iterations on MATLAB for 0<=t<=5.

I understand that I need to start "for loop", but I'm not entirely sure how to go about it. I know to start it,
"for i=0:n"

Any suggestions and explanations?
Phys.Org News Partner Science news on Phys.org
World's largest solar boat on Greek prehistoric mission
Google searches hold key to future market crashes
Mineral magic? Common mineral capable of making and breaking bonds
Number Nine
#2
Jan24-12, 06:56 PM
P: 772
Do you mean that you want to apply that function to each value of t from 1 to 5? There's no need to use a for loop.

t = 1:5;
v = 10*(1 - e.^(-t))
jhae2.718
#3
Jan24-12, 11:39 PM
PF Gold
jhae2.718's Avatar
P: 1,153
Try this:
t = linspace(0, 5, 1000); % Produces 1000 data points linearly spaced on [0,5].
v = 10*(1 - exp(-t));
v will then be in your workspace and you can do anything with it. For plotting, the more points you use the better the plot will be.

In MATLAB, you should always prefer using vectors to for loops, e.g. use this:
x = 0:.01:100;
y = x .^ 2;
instead of:
% BAD !!!
x = 0:.01:100;
for i = 1:length(x);
    y(i) = x(i) .^ 2;
end
Here is a quick program that tests the speed of a for loop versus a vector operation:
t = cputime;
e = tic;
x = 0:.01:1000000;
for i = 1:length(x);
    y(i) = x(i) .^ 2;
end
fprintf('for: cputime: %f elapsed: %f \n', [cputime - t, toc(e)]);
t = cputime;
e = tic;
x = 0:.01:1000000;
y = x .^ 2;
fprintf('vec: cputime: %f elapsed: %f \n', [cputime - t, toc(e)]);
On my computer it outputs:
for: cputime: 12.850000 elapsed: 12.723039 
vec: cputime: 1.270000 elapsed: 1.395663
As you can see, even with the small example, MATLAB is more efficient using vectors than loops.

sandy.bridge
#4
Jan25-12, 04:12 PM
P: 778
Implement iterations on MATLAB

Can you guys recommend a good book for beginners? I was also attempting to implement Euler's method for differentials.
jhae2.718
#5
Jan27-12, 12:13 AM
PF Gold
jhae2.718's Avatar
P: 1,153
I don't have any experience with MATLAB books, but the MathWorks documentation is invaluable: http://www.mathworks.com/help/techdoc/

To ask questions, try MATLAB Answers: http://www.mathworks.com/matlabcentral/answers/

Additionally, they have a series of MATLAB exercises you can try: http://www.mathworks.com/matlabcentral/cody


Register to reply

Related Discussions
Matlab R2011a's new feature: portable C/C++ code directly from MATLAB Math & Science Software 1
MATLAB: Trying to understand a MATLAB .m file Math & Science Software 0
Matlab: How to apply filters to and ECG signal using matlab? Math & Science Software 2
Matlab Missing Matlab operator Engineering, Comp Sci, & Technology Homework 2
Matlab help Math & Science Software 0