How to sum the product between a matrix and 2 vectors

1 Ansicht (letzte 30 Tage)
Sara  Crosetto
Sara Crosetto am 17 Dez. 2020
Beantwortet: Karan Singh am 31 Jan. 2025
I need to solve a system of differential equation written as:
For each equation I should solve a summation like:
where K_Br is a matrix previously calculated and n is a vector as the solution of the differential equation system.
For example, for i=3:
I wrote the system of differential equation as:
function ndot = System_ni (t,n)
ndot = zeros(M,1);
ndot(1) = -n(1)*sum(K_Br(1,1:M)*n(1:M));
for i = 2:M
ndot(i) = 1/2*sum(K_Br(1:i-1,i-1:1)*n(i-1:1)*n(1:i-1))-n(i)*sum(K_Br(i,1:M)*n(1:M));
end
end
but summation seems not to work.
Thank you in advance for any help.
  3 Kommentare
Sara  Crosetto
Sara Crosetto am 18 Dez. 2020
I reported the initial equation wrong.
Actually, the equation is:
VBBV
VBBV am 8 Apr. 2024
@Sara Crosetto the terms in equation shown are dependent on another implicit summing variable i
You need two for loops instead of one for such summation to work.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Karan Singh
Karan Singh am 31 Jan. 2025
Hi Sara,
I think you are not performing the element-wise operation correctly. How about using " .* " instead of " * " for element-wise multiplication? This MATLAB answer might be of help:What does mean .* and ' ? - MATLAB Answers - MATLAB Central for you to carry out the process.

Kategorien

Mehr zu Creating and Concatenating Matrices 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