Not enough input arguments

Hi, i need help. When i try to run this line of code,
function [prob, mean_val, one_std, two_std, area] = calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2)
% Integrate the probability density function over the interval [a, b] to get the probability
prob = integral(pdf, a, b);
An error shows which says,
>> calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2)
Error using pdf
Requires at least two input arguments.
Im not sure where im going wrong.

6 comentarios

Stephen23
Stephen23 el 12 de Dic. de 2023
calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2)
What values are you using for PDF, A, B, MU1, SIGMA1, MU2, and SIGMA2 ?
Dyuman Joshi
Dyuman Joshi el 12 de Dic. de 2023
Is pdf a function handle of a single independent variable?
Sumayya
Sumayya el 12 de Dic. de 2023
No values were given, You should not define a specific pdf, but allow the function to work for an arbitrary pdf.
Torsten
Torsten el 12 de Dic. de 2023
Editada: Torsten el 12 de Dic. de 2023
But if you test the code, you cannot call the function without specific inputs for pdf, a, b, mu1, sigma1, mu2, sigma2. Maybe it was that you just wrote calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2) in the editor without defining inputs before which caused the error ?
Sumayya
Sumayya el 12 de Dic. de 2023
That makes sense, if i did have the values, would i put it after or before
function [prob, mean_val, one_std, two_std, area] = calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2)
Torsten
Torsten el 12 de Dic. de 2023
% Script part
pdf = ...
a = ...
b = ...
mu1 = ...
sigma1 = ...
mu2 = ...
sigma2 = ...
[prob, mean_val, one_std, two_std, area] = calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2)
% function part
function [prob, mean_val, one_std, two_std, area] = calcProbs(pdf, a, b, mu1, sigma1, mu2, sigma2)
...
end

Iniciar sesión para comentar.

Respuestas (1)

Aiswarya
Aiswarya el 18 de Dic. de 2023

0 votos

Hi Sumayya,
I understand that you want to create a function which calculate probabilities based on a probability density function ("pdf") given as input. The error "Error using pdf. Requires at least two input arguments." is because you haven't defined the variables for your inputs before calling the function. So the term 'pdf' refers to the following inbuilt function in MATLAB : https://www.mathworks.com/help/stats/prob.normaldistribution.pdf.html
This function gets invoked when you use the term 'pdf'. The minimum number of arguments for this function is 2 and hence the error.
This can be solved by initializing the variable 'pdf' properly before calling the function 'calcProbs' or a better alternative would be to rename the variable.
Also, you should define your all input arguments in the workspace before calling your function, in order for your function call to work.

Categorías

Más información sobre Statistics and Machine Learning Toolbox en Centro de ayuda y File Exchange.

Productos

Versión

R2023b

Etiquetas

Preguntada:

el 12 de Dic. de 2023

Respondida:

el 18 de Dic. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by