How to make an index of the points of a vector that can then be used in a matrix

조회 수: 2 (최근 30일)
Ale
Ale 2017년 9월 30일
댓글: Ale 2017년 9월 30일
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개)

Jan
Jan 2017년 9월 30일
편집: Jan 2017년 9월 30일
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
  댓글 수: 1
Ale
Ale 2017년 9월 30일
Thanks so much. I thought it had to be Nel but every time I used it I kept getting errors because I wasn't using the correct syntax so you've helped a lot!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by