Re: help needed with mathematical calculation
- To: mathgroup at smc.vnet.net
- Subject: [mg33357] Re: [mg33336] help needed with mathematical calculation
- From: BobHanlon at aol.com
- Date: Sun, 17 Mar 2002 05:33:09 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 3/16/02 3:46:55 AM, dsalman at itee.uq.edu.au writes:
>The formula I have to program is
>
>P = ((M/2)/(M-1))* sum (k=1) to (M-1)
>[ binomial(M-1,k) *( ((-1)^(k+1)) /(1+k+k*K*X) )]
>
>where M =64
>
>K=log2(M)
>
>XdB = 0:5:30 ( dB values)
>
>X = 10^(XdB/10)
>
>I need the semilog plot of XdB and P.
>
>I plotted the formula in Mathematica.
>
>For M = 2,4,8,16 and 32, I get smooth curves, which are correct.
>
>When i go for M=64, there is some error or overflow that causes incorrect
>curve to be displayed.
>
Needs["Graphics`Graphics`"];
P[Xdb_?NumericQ, M_?NumericQ] :=
Module[
{X=10^(Xdb/10), K=Log[2,M]},
((M/2)/(M-1))*Sum[Binomial[M-1, k]*
(((-1)^(k+1))/(1+k*(1+K*X))),
{k,M-1}]];
Use higher precision
DisplayTogether[
LinearLogPlot[Evaluate[Table[
P[Xdb, 2^m], {m,5}]], {Xdb, 0, 20},
PlotStyle->Table[
{AbsoluteDashing[{5,6}],
Hue[(m-1)/8]},{m,5}]],
LinearLogListPlot[Table[
{Xdb, N[P[Xdb, 64],50]},
{Xdb, 0, 20,1/2}],
PlotJoined->True,
PlotStyle->Hue[0]]];
There is very little difference between M=32 and M=64
Bob Hanlon
Chantilly, VA USA