Create a triangular matrix

4 vues (au cours des 30 derniers jours)
stelios loizidis
stelios loizidis le 2 Déc 2021
Modifié(e) : Image Analyst le 2 Déc 2021
Hello,
I have the following issue. I have a matrix A with dimensions 3x500 and I want to calculate the matrix B which is triangular of A. Below is the code I wrote:
% A: 3X500
B=zeros(length(A));
for i=1:length(B)
for j=1:length(B)
B(i,j)=exp(-(A(:,i)-A(:,j).^2)/5);
end
end
The following error occurs:
Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is
3-by-1.
How is this problem solved? Your help is important.

Réponses (1)

Image Analyst
Image Analyst le 2 Déc 2021
Modifié(e) : Image Analyst le 2 Déc 2021
You're subtracting the ith and jth column, which gives a whole column (3 values). Then you're trying to stuff those 3 values into a single location at B(i,j). You can't stuff 3 numbers into a position meant for one number. Not really sure what you want to do so not sure how to fix it.
For triangular matrices, see the functions tril() and triu().

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by