F=Kff*uf - Matrix operation

4 visualizaciones (últimos 30 días)
BioZ
BioZ el 11 de Mayo de 2021
Comentada: Rik el 11 de Mayo de 2021
Greetings everyone, I am trying to do some simple matrix operation in Matlab.
I have equation: Ff=Kff*Uf where Ff is 3x1 matrix, Kff is 3x3 matrix and Uf is 3x1 matrix. As in the following picture.
How can I solve this to find U1,U2,U3 in matlab?
When I attempt solving this with matlab I get number of errors such as: (Error using / ).
Any help would be much appreciated. Thank you.
clc
clear
F = [383.02;
321.39;
0;];
Kff = [634.8 -191.2 -353.6;
-191.2 447.3 353.6;
-353.6 353.6 683;];
%%Uf = F./Kff

Respuesta aceptada

Rik
Rik el 11 de Mayo de 2021
You were almost there:
F = [383.02;
321.39;
0;];
Kff = [634.8 -191.2 -353.6;
-191.2 447.3 353.6;
-353.6 353.6 683;];
Uf=Kff\F
Uf = 3×1
0.8703 1.2431 -0.1930
fprintf('%.5f\n',F-Kff*Uf)%check if they are indeed equal (within a rouding error)
0.00000 0.00000 -0.00000

Más respuestas (1)

EmirBeg
EmirBeg el 11 de Mayo de 2021
Maybe like this?
F = [383.02;
321.39;
0;];
Kff = 10^2* [634.8 -191.2 -353.6;
-191.2 447.3 353.6;
-353.6 353.6 683];
Uf = F'/Kff; % You used a dot but u need to use ' to transpose
  1 comentario
Rik
Rik el 11 de Mayo de 2021
Almost. You would have to transpose the result again to make sure Uf is a column vector.
F = [383.02;321.39;0];
Kff = 10^2* [634.8 -191.2 -353.6;-191.2 447.3 353.6;-353.6 353.6 683];
Uf = (F.'/Kff).'
Uf = 3×1
0.0087 0.0124 -0.0019
fprintf('%.5f\n',F-Kff*Uf)%check if they are indeed equal (within a rouding error)
0.00000 -0.00000 0.00000

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by