error warning "Explicit solution could not be found"
1 view (last 30 days)
Show older comments
benjamin
on 13 Aug 2014
Commented: Roger Stafford
on 13 Aug 2014
hello am trying to solve 16 equations with 15 variables as shown below but am having an error "Explicit solution could not be found".
[a, b, c, d, e, f, g, h, i, j, k, m, n, p, q, s]... = solve('0.073*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/a=6', ...
'0.024*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/b=8', ...
'0.030*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/c=8', ...
'0.034*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/d=12', ...
'0.116*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/e=8', ...
'0.045*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/f=9', ...
'0.059*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/g=10', ...
'0.074*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/h=10', ...
'0.052*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/i=10', ...
'0.016*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/j=11', ...
'0.023*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/k=11', ...
'0.028*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/m=11', ...
'0.180*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/n=10', ...
'0.058*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/p=10', ...
'0.082*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/q=14', ...
'0.099*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*i+11*j+11*k+11*m+10*n+10*p+14*q+14*s)/s=14', 'IgnoreAnalyticConstraints',true);
The solution we get is shown below;
Warning: 16 equations in 15 variables. > In C:\Program Files\MATLAB\R2013a\toolbox\symbolic\symbolic\symengine.p>symengine at 56 In mupadengine.mupadengine>mupadengine.evalin at 97 In mupadengine.mupadengine>mupadengine.feval at 150 In solve at 172 In super16 at 1 Warning: Explicit solution could not be found. > In solve at 179 In super16 at 1
0 Comments
Accepted Answer
Roger Stafford
on 13 Aug 2014
If you were to multiply each equation by the respective values 'a', 'b', etc. these would be a set of homogeneous linear equations whose only solution is likely a zero value for all sixteen unknowns. However, since the unknowns are used as divisors, there would be no solutions at all. That would account for the "Explicit solution could not be found" message.
As to the erroneous "15 variables" warning - there are actually 16 - I speculate that using the predefined 'i' to denote a variable caused confusion in mupad. The symbol 'i' ordinarily denotes the imaginary square root of minus one, not an unknown variable.
4 Comments
Roger Stafford
on 13 Aug 2014
One method that comes to mind is to convert your equation into standard linear equation form and obtain the 16 x 16 matrix of its coefficients - call it A. If you have adjusted those initial coefficients I mentioned earlier so that their sum is exactly 1, then A should be a singular matrix - that is, its determinant should be zero. By applying matlab's 'null' function to A you should obtain a single vector as the result. The elements of this vector would be one solution, and any common multiple of them is also a solution - that is, any "point" along the direction the vector points to will also be a solution, (and of course there are infinitely many such "points".)
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!