Hi!
I have two different ways of calculating a factorial of any number, for this program its 150!. I want to time the two functions and compare how much time they require in a plot.
This is my code so far:
clear all, close all, clc n=150;t1=zeros(1,n);t2=zeros(1,n);A=zeros(1,n);B=ones(1,n);f=1; tic; for i=1:n f=f*i; A(1,i)=f; t1(i)=toc; end; tic; for i=2:n B(i)=B(i-1)*i; t2(i)=toc;end; plot(t1,A,t2,B)
I do get a plot with the correct graphs, however I am concerned that the times are not correct since first of all, the first for-loop is faster than the second one and I think it should be around. Also, I have tried changing their places in the program and I get different results when I do.
How can I change this to get Matlab to time these functions accurately? Also, if you have a suggestion I would be very thankful if you could also point out what I am doing wrong.
Thank you!
Best Answer