How to make an index of the points of a vector that can then be used in a matrix
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
This is the function I have generated: function [Points, Elements] = make1DGrid(Nel,L) %L (Lenght of domain) %Nel (Number of elements)
Points = linspace(0,L,Nel)
Elements = [Points(1:end-1);Points(2:end)] end
my function produces: Points = [0 0.33 0.66 1] Elements = [0 0.33; 0.33 0.66; 0.66 1]
But instead of creating a matrix (Elements) where the coordinates of the points are used I need to create a matrix where the index of the points are used i.e for Nel=3, and L=1 Points = [0 0.33 0.66 1] Elements = [1 2; 2 3; 3 4]
1 Kommentar
Antworten (1)
Jan
am 30 Sep. 2017
Bearbeitet: Jan
am 30 Sep. 2017
If you need the indices instead of the values, simply use the indices instead of the values :-)
function [Points, Elements] = make1DGrid(Nel,L)
Points = linspace(0, L, Nel);
Elements = [1:Nel-1; 2:Nel].'; % Instead of: [Points(1:end-1); Points(2:end)]
end
Siehe auch
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!