Plotting a function of determinant values vs n values.

11 visualizaciones (últimos 30 días)
Odom Seng
Odom Seng el 30 de Jun. de 2016
Editada: José-Luis el 1 de Jul. de 2016
Hi, so I have a function s(n), that spits out a n*n matrix. What I want to do is plot the determinant of each s(n) matrix that my s function makes and plot it against n from 1 to 32. I think I have to make a for loop, but I'm not entirely sure how to go about it.
Here's my code for the s function:
if true
% code
function[output]=s(n)
output=zeros(n);
for i = 1:n
for j=1:n
output(i,j)=sqrt(2./n)*sin((pi*(i-.5)*(j-.5))./n);
end
end
end
end

Respuestas (3)

KSSV
KSSV el 1 de Jul. de 2016
Editada: KSSV el 1 de Jul. de 2016
I didn't get your question exactly. I understand the following:
You want to display the output of the above function s.
For a given n the above function gives output a matrix of size nXn. As it is a matrix, you can view it using surf, pcolor.
Eg.
K = s(100) ;
surf(K) ; shading interp ;
pcolor(K) ; shading interp ;

Torsten
Torsten el 1 de Jul. de 2016
for k=1:32
index(k) = k;
output = s(k);
determinant(k) = det(output);
end
plot(index,determinant)
Best wishes
Torsten.

José-Luis
José-Luis el 1 de Jul. de 2016
Editada: José-Luis el 1 de Jul. de 2016
I'm on a one liner spree, and you don't actually need those loops:
myFun = @(x) det(bsxfun(@(ii,jj) sqrt(2./n)*sin((pi*(ii-.5)*(jj-.5))./n),1:x,(1:x)'));
fplot(myFun,[1 32])

Categorías

Más información sobre Graphics Performance en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by