i need help on solve function

2 views (last 30 days)
MD.MASHRAVI SHAMS
MD.MASHRAVI SHAMS on 31 Mar 2020
Answered: Deepak on 14 Nov 2024
hi i have a code for
clc
syms x y z
format long
x= linspace(200,1400,10000);
y= linspace(100,900,10000);
z= linspace(7380,8046,10000);
a=588545.909;
b=10167.688;
c=150;
eqn = a.*x+b.*y+c.*z == 189900000;
s = solve(eqn,x,y,z)
but this code is giving error
Error using sym.getEqnsVars>checkVariables (line 92)
Second argument must be a vector of symbolic variables.
Error in sym.getEqnsVars (line 54)
checkVariables(vars);
Error in solve>getEqns (line 429)
[eqns, vars] = sym.getEqnsVars(argv{:});
Error in solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
Error in Untitled (line 11)
s = solve(eqn,x,y,z)

Answers (1)

Deepak
Deepak on 14 Nov 2024
The error occurs because the solve function is expecting symbolic variables as input, but numeric values are assigned to x, y, and z using linspace. This reassignment overrides the symbolic variables initially declared with syms. To resolve this issue, ensure that x, y, and z remain symbolic when passed to the solve function.
Remove the “linspace” statements to ensure parameters “x”, “y”, and “z” remains symbolic.
Here is the MATLAB code with the required changes:
clc;
syms x y z;
format long;
% Define the symbolic equation
a = 588545.909;
b = 10167.688;
c = 150;
eqn = a*x + b*y + c*z == 189900000;
% Solve the equation for the symbolic variables
s = solve(eqn, [x, y, z]);
disp(s);
For more information on the functions used refer to the following documentation:
I hope this will help resolving the issue.

Products

Community Treasure Hunt

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

Start Hunting!