How to plot an equation with two independent and one dependent variable?

5 vues (au cours des 30 derniers jours)
Pragathi
Pragathi le 19 Jan 2014
Commenté : Pragathi le 27 Jan 2014
p= 0.5 * ( (-1)^i * (w!/(i!*(w-i)!))*(1-(2*f*i)/w)^k-1)
where ∑ is between i=0 to w, f= w^2/(4*l), l=any prime number greater than 53, k varies between 1 to 100, w varies between 5 to 40.
i want to plot a graph 'k vs p' with w=fixed value eg.w=9
l=53 w=9 f= w^2/(4*l); for k=1:100 for i=0:w temp1=(-1)^i*nchoosek(w,i)*(1-(1-(2*f*i)/w)^k-1); temp(1,i+1)=temp1; end; temp2=0.5 * sum(temp); temp3(1,k)=temp2; end; plot(k,temp3);
though this code is not showing error the plot generated is wrong. the p values must be in the order of 10^-4 to 10^-12 for k ranging from 1 to 100.

Réponse acceptée

Amit
Amit le 19 Jan 2014
There is one difference between the equation and your code (however that does not fixes the issue though).
l=53;
w=30;
f= w^2/(4*l);
temp3 = zeros(1,100);
for k=1:100
temp = 0;
for i=0:w
temp1=((-1)^i)*(nchoosek(w,i))*((1-(2*f*i)/w)^k-1); % This line was different from the equation
temp= temp + temp1;
end;
temp3(1,k)=0.5 * temp;
end;
plot(1:100,temp3);
For small values of K, the order comes down to what you mentioned. Are you sure about the equation? or the values of K in which this order appear is 10 instead of 100?
  1 commentaire
Pragathi
Pragathi le 27 Jan 2014
Dear sir,
I think the difference you found between the code and the equation may be using nchoosek(w,i) line for (w!/(i!*(w-i)!)).If so, as far as i know i think both will give same answer.
The value of k varies between 1 to 100 but when i changed w=30 to w=9 and used semilogy in place of plot function in your answer i could get my plot (though it is not exact).
Thank you very much for the help.

Connectez-vous pour commenter.

Plus de réponses (1)

Paul
Paul le 19 Jan 2014
it plots only points in vertical line because when you plot k has only a single value, namely 100. Add k=1:100; before the plot command, then it should plot what you want.

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by