Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Amit
Amit il 19 Gen 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 Commento
Pragathi
Pragathi il 27 Gen 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.

Accedi per commentare.

Più risposte (1)

Paul
Paul il 19 Gen 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.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by