Solving An Equation - Linear Algebra

Hello,
I would like to solve the following equation:
eqn = Ff == Kff*uf + Kfs*us; % I want to solve for uf knowing that
Kff =
3.0240 0.7680
0.7680 3.2427
Kfs =
0 0 -1.0240 -0.7680 -2.0000 0
0 -2.6667 -0.7680 -0.5760 0 0
Ff =
0
0
us =
0
-25
0
0
0
0
The problem is that I'm getting an error from MATLAB saying that uf is not defined, uf is supposed to be a 2x1 matrix but I want to solve for it. How can I do that?

 Accepted Answer

Star Strider
Star Strider on 21 Nov 2018
Edited: Star Strider on 22 Nov 2018
Straightforward:
KFF = Kff \ -(Kfs*us)
KFF =
5.5556
-21.8750
Another option is to use fsolve:
[UF, fval] = fsolve(@(uf) Kff*uf + Kfs*us, [1; 1])
UF =
5.5556
-21.8750
fval =
-7.1054e-015
-14.2109e-015

5 Comments

Thank you!
But what does [1; 1] refer to at the end of the function?
Also, what Ff was, say, [100 ; 200]?
How can the equation be adjusted as then?
My pleasure.
But what does [1; 1] refer to at the end of the function?
The ‘[1;1]’ is an initial parameter estimate. The fsolve function needs to have an initial guess at the value to solve for.
Also, what Ff was, say, [100 ; 200]?
Ff = [100; 200]
[UF, fval] = fsolve(@(uf) Kff*uf + Kfs*us - Ff, [1; 1])
Kfsus = Kfs*us;
UF = Kff \ -((Kfs*us) - Ff)
yield respectively:
UF =
24.0742
35.4160
fval =
0
0
UF =
24.0742
35.4160
Thanks again for your quick and helpful reply!
My pleasure.
If my Answer helped you solve your problem, please Accept it!

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!