MATLAB Answers

solving equation written in the functions

1 view (last 30 days)
I want to solve three equations with three unknowns.
Force_x(x,y,z) == 0, Force_y(x,y,z) == 0, Force_z(x,y,z) == 0
vpasolve is not working here because Force_x works only when x y z are numbers, while vpasolve is passing symbols.
Help me with any other method or any modification.
my code:
[XX, YY] = vpasolve([Force_x(x,y,z)==0, Force_y(x,y,z)==0, Force_z(x,y,z)==0], [x, y, z], [0, 0, 0]);
error: Invalid arguments specified in evaluating the interpolant.
this error is due to symbols passed by Force_x.

  2 Comments

KSSV
KSSV on 28 Oct 2020
There should be some relation involving x,y,z right? Simply F_x = 0 ...will not work.
Vijay Shankar Dwivedi
Vijay Shankar Dwivedi on 28 Oct 2020
Force_x(x,y,z) is a function defined in anothe file which involves x, y, z.

Sign in to comment.

Accepted Answer

Aman Vyas
Aman Vyas on 3 Nov 2020
Edited: Aman Vyas on 3 Nov 2020
Hi,
You can try following code:
syms x y z Force_x Force_y Force_z
[X Y Z] = vpasolve([Force_x==0,Force_y==0,Force_z ==0],[x y z],[0 0 0])
This would start produce generic output as shown :
X =
Empty sym: 0-by-1
Y =
Empty sym: 0-by-1
Z =
Empty sym: 0-by-1
See this if it matches the requirement in output. Once you start calling function Force_x and other two then it should start outputting correct value.
Hope it helps !

  0 Comments

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by