Effacer les filtres
Effacer les filtres

Trouble with using the function 'solve' to obtain decision boundary

2 vues (au cours des 30 derniers jours)
nazneen
nazneen le 3 Fév 2015
Commenté : Star Strider le 20 Fév 2015
I need to find the point where the decision boundary occurs for a single feature of the iris data set. I am certain i need to solve the equation P(x/SWL) = P(x/VWL) and obtain the solutions for x.I get an error for the code i tried below. The error states x is an undefined variable. Can you tell me where i am going wrong?
load fisheriris
SWL=meas(1:50,1)
VWL=meas(51:100,1)
V1 = var(SWL);
V2 = var(VWL);
M1 = mean(SWL);
M2 = mean(VWL);
P1 = (1/(sqrt(2*pi*V1))*(exp(((x-M1)^2)/(2*V1))));
P2 = (1/(sqrt(2*pi*V2))*(exp(((x-M2)^2)/(2*V2))));
solve(P1-P2);

Réponse acceptée

Star Strider
Star Strider le 3 Fév 2015
The easiest way is to use the fzero function:
P1 = @(x) (1/(sqrt(2*pi*V1))*(exp(((x-M1)^2)/(2*V1)))); % ‘P1’ As Anonymous Function
P2 = @(x) (1/(sqrt(2*pi*V2))*(exp(((x-M2)^2)/(2*V2)))); % ‘P2’ As Anonymous Function
X = fzero(@(x) P1(x)-P2(x), 1) % Create Anonymous Funciton, Solve For ‘x’
produces:
X =
3.0804
  6 commentaires
nazneen
nazneen le 20 Fév 2015
Thank you
Star Strider
Star Strider le 20 Fév 2015
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by