i need help on solve function

9 ビュー (過去 30 日間)
MD.MASHRAVI SHAMS
MD.MASHRAVI SHAMS 2020 年 3 月 31 日
回答済み: Deepak 2024 年 11 月 14 日 10:10
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)

回答 (1 件)

Deepak
Deepak 2024 年 11 月 14 日 10:10
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.

カテゴリ

Help Center および File ExchangeNumeric Solvers についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by