How to sum the product between a matrix and 2 vectors
Afficher commentaires plus anciens
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 commentaires
James Tursa
le 18 Déc 2020
It is not clear to me what
is in your equation. Is the n indexing 1-based?
Sara Crosetto
le 18 Déc 2020
VBBV
le 8 Avr 2024
You need two for loops instead of one for such summation to work.
Réponses (1)
Karan Singh
le 31 Jan 2025
0 votes
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.
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!