How to sum the product between a matrix and 2 vectors

1 view (last 30 days)
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 Comments
Sara  Crosetto
Sara Crosetto on 18 Dec 2020
I reported the initial equation wrong.
Actually, the equation is:
VBBV
VBBV on 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.

Sign in to comment.

Answers (1)

Karan Singh
Karan Singh on 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.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!