if nargin == 0
N = 30; M = 100;
t1 = zeros(1,N);
t2 = zeros(1,N);
t3 = zeros(1,N);
for n=1:N
n
for m=1:M
A = rand(n);
tic; inv(A); t1(n)=t1(n)+toc;
tic; sqrtm(A); t2(n)=t2(n)+toc;
tic; mpower(A,0.5); t3(n)=t3(n)+toc;
end
end
end
t1 = t1/M; t2=t2/M; t3=t3/M;
n = 1:N;
loglog(n, t1, 'rx-', n, t2, 'bo-', n, t3, 'g+-')
legend('inv', 'sqrtm', 'mpower','Location','NorthWest');
hold on
p1=polyfit(log(n),log(t1),1);
p2=polyfit(log(n),log(t2),1);
p3=polyfit(log(n),log(t3),1);
f1 = @(x)(p1(1)*log(x)+p1(2));
f2 = @(x)(p2(1)*log(x)+p2(2));
f3 = @(x)(p3(1)*log(x)+p3(2));