MATLAB: Problem with ‘solve’ function to solve a set of equations

solve

Hi, everyone Is there anybody knowing how to solve issue of using 'solve' in matlab? I always have trouble using 'solve' in matlab. Here is a set of equations I am trying to solve with function 'solve' in matlab, but anyhow I can't get the desired result. In another word, matlab doesn't provide complete answers. Following is part of my code:
syms theta_A theta_B
p=-987614208*theta_A^24*theta_B^9*(theta_A – 1)^6*(theta_B – 1)^11;
[theta_A,theta_B]=solve('diff(P,theta_A)==0','diff(P,theta_B)==0','theta_A','theta_B');
The result that matlab gives is [0, 0];
I simple don't understand how this come. Because obviously theta_A=1 and theta_B=1 would satisfy the equations. Also there are more answers to be found.
Please help me out.
Greatly appreciate it!

Best Answer

You didn’t say what MATLAB version you’re using. The single-quote syntax is no longer appropriate in R2016b.
Otherwise, know that MATLAB is case-sensitive, so p~=P. Changing that gives the sort of result you likely want:
syms theta_A theta_B
P=-987614208*theta_A^24*theta_B^9*(theta_A - 1)^6*(theta_B - 1)^11;
[theta_A,theta_B]=solve(diff(P,theta_A)==0,diff(P,theta_B)==0,[theta_A,theta_B]);
theta_A =
4/5
0
0
1
theta_B =
9/20
0
1
0