Elementwise division in matrix notation
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hylke Dijkstra
le 28 Jan 2022
Commenté : Image Analyst
le 28 Jan 2022
Dear all,
I am trying to write the following code in matrix notation:
A = B. / C;
A, B and C are column vectors with 1435 rows.
I have already managed to do this with multiplication, i.e.:
D = E.*F;
This is equivalent to
D = diag(F)*E;
Also in this case D, E and F are also column vectors with 1435 rows.
I want to do this because it is more foolproof and does not give results if the dimensions do not match.
Best,
Hylke
6 commentaires
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 28 Jan 2022
Modifié(e) : Image Analyst
le 28 Jan 2022
Try getting rid of the space between the dot and the slash:
A = B ./ C;
If the length of B and C don't match, you might want to consider if you even want to divide them. Like, WHY don't they match? If one is shorter to you want to just assign the "left over" elements to something specific, like 0 or 1 or B or C or something?
4 commentaires
Image Analyst
le 28 Jan 2022
Not using diag() will also give an error. Look:
B = rand(10, 1);
C = rand(2, 1);
A = B ./ C;
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!