Функция распределения - C#
Формулировка задачи:
В маткад делал программу, там у меня считалась вероятность по формуле:
Pm(D) = 1-cnorm(X(D)/sig)
cnorm - это в маткаде оператор расчета функции распределения случайной величины.
D - изменяется от 0,01 до 10 с любым шагом.
Х(D) - некий параметр;
sig - еще некий параметр;
Как на C# перевести эту формулу и сделать расчет в цикле в зависимости от D?
Решение задачи: «Функция распределения»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Consoleterwer {
class Program {
static double Norm( double X, double M = 0, double S = 1 ) {
return Math.Exp( -( X - M ) * ( X - M ) / 2 / S / S ) / S / Math.Sqrt( 2 * Math.PI );
}
static double X( double D ) {
return D;
}
static double Pm( double D ) {
return 1 - Norm( X( D ) / Sig );
}
const double Sig = 1;
static void Main() {
for( double d = 0.01; d <= 10 + 1e-3; d += 1.11 ) {
Console.WriteLine( "F({0,5:F2}) = {0,6:F3}", d, Pm( d ) );
}
Console.ReadLine();
}
}
}