Trouble with using the function 'solve' to obtain decision boundary
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
nazneen
am 3 Feb. 2015
Kommentiert: Star Strider
am 20 Feb. 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);
0 Kommentare
Akzeptierte Antwort
Star Strider
am 3 Feb. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!