How to multiply an inverse matrix (nxn) by an array (nx1) using for loop

4 Ansichten (letzte 30 Tage)
Gabriel Sheets
Gabriel Sheets am 8 Feb. 2022
Bearbeitet: James Tursa am 8 Feb. 2022
I am new to Matlab and am trying to figure out an alternative way to multiply an inverse matrix J (2x2) by some f (2x1) other than using J\f. Here is what I have so far, however when I run it, it says that H is an unrecognized function or variable:
J_inv=inv(J);
for i=1:iter
H(J_inv,f)=J_inv*f;
end
Thanks in advance!

Antworten (1)

James Tursa
James Tursa am 8 Feb. 2022
Not sure why you have a for-loop at all. Maybe you can explain this. If you just want to multiply the explicit inverse by a vector, just do it:
J_inv = inv(J);
f = your column vector
H = J_inv * f;
  3 Kommentare
Gabriel Sheets
Gabriel Sheets am 8 Feb. 2022
It definitely is not the most efficient way but a way nonetheless.
James Tursa
James Tursa am 8 Feb. 2022
Bearbeitet: James Tursa am 8 Feb. 2022
If you want a loop, then this outline:
m = size(J_inv,1); % number of rows of J_inv
for k=1:m
H(k) = ____; % insert dot product of J_inv k'th row and f vector here
end
I've left a bit of coding for you to do.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by