Теми розрахунку за допомогою формули Бернуллі я уже торкався в темі
Завдання для виконання курсової роботи. Там, я навів звичайний спосіб розрахунку цієї формули в середовищі MATLAB. Цей варіант повністю задовільнив мої вихідні дані, тому я зупинився саме на ньому. Але, як виявилось, він не зовсім підходить для інших вихідних даних.
Як наслідок я вирішив його дещо вдосконалити, для цього я написав рекурентну формулу обчислення формули Бернуллі і оформив її як функцію середовища MATLAB.
Нижче я наведу текст цієї функції в середовищі MATLAB:
Код:
function mass=Bernoulli(N,y)
for k=0:N
if k==0
Pk=nchoosek(N,k)*(y^k)*(1-y)^(N-k);
else
Pk=((Pk*y)/((1-y)*k))*(N-k+1);
end;
mass(k+1)=Pk;
end
return
Як цим користуватись дивіться в темі
Як користуватись функцією написаною користвувачем в MATLAB?Також, для полегшення студентського життя я запропоную варіант побудови графіка за допомогою цієї функції:
Код:
N=900; at=250/3600; ac=4.1; %вихідні дані
y=ac*at; k=0:N;
mass=Bernoulli(N,y);
graf=plot(k, mass);
set(graf,'lineWidth',2,'Color',[1 0 0]);
title('Графік залежності Pk,(Розподіл Бернуллі)');
xlabel('k, кількість викликів');
ylabel('Pk, імовірність поступлення k викликів');
grid on;
Ось отриманий результат:
Приєднання файлів:
Bernulli.png [ 7.19 Кб | Переглянуто 3109 разів ]
Для побудови цього графіка спеціально було використано тіж самі вихідні дані, що і в запропонованому мною методі в темі
Завдання для виконання курсової роботи.
Порівнюючи отримані результати даним способом і попреднім, можна сказати, те, що вони є ідинтичними.
Різниця полягає лише в тому, що описаний тут метод піходить також для великих вихідних значень, чого не можна сказати про попередній метод.
П.С. Якщо у вас є якісь зауваження, або кращий варіант реалізації цієї функції, то пропонуйте їх в цій темі, адже вона призначена саме для цього.
