error warning "Explicit solution could not be found"

1 view (last 30 days)
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

Accepted Answer

Roger Stafford
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
benjamin
benjamin on 13 Aug 2014
thanks so much for your prompt replies. i tried to change the (i) but i do get an empty solution all the time
[a, b, c, d, e, f, g, h, z, t, 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*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=6*a',... '0.024*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=8*b',... '0.030*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=8*c',... '0.034*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=12*d',... '0.116*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=8*e',... '0.045*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=9*f',... '0.059*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=10*g',... '0.074*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=10*h',... '0.052*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=10*z',... '0.016*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=11*t',... '0.023*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=11*k',... '0.028*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=11*m',... '0.180*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=10*n',... '0.058*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=10*p',... '0.082*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=14*q',... '0.099*(6*a+8*b+8*c+12*d+8*e+9*f+10*g+10*h+10*z+11*t+11*k+11*m+10*n+10*p+14*q+14*s)=14*s', 'IgnoreAnalyticConstraints',true);
Roger Stafford
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".)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!