error warning "Explicit solution could not be found"

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

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

I notice that the sum of the coefficients at the beginning of each equation, 0.073+0.024+..., is very nearly 1 (to be exact the sum is 0.993.) If it were exactly 1, instead of no solutions, there would be infinitely many solutions. These would be: a = 0.073/6, b = 0.024/8, c = 0.030/8, etc. or any common multiple of these values, of which there are of course infinitely many. However, as it stands, there are no solutions, strictly speaking.
thanks so much cus i did the same and have an of zero but do you know any other method that i can use to solve the equations. your suggestion will be highly appreciated.
thnx
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);
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!