How to specify a variable (using linspace) like this?

Distance between first and second point and the distance between second last and last point is 0.5h. All other distances between the neighboring points is h. How to create a grid of say N points that do not include the first and the last point in the grid?

回答(2 个)

afirst = 2;
h = .5;
N = 5;
out = afirst + cumsum([0, .5*h,ones(1,N-1)*h,.5*h])
or
out = [afirst,linspace(afirst + .5*h,afirst + .5*h + (N-1)*h,N),afirst + N*h];
or
a = [2 6];
N = 5;
L = linspace(a(1),a(2),N+1)
L(2:end) = L(2:end)-diff(a)/N*.5
out = [L,a(end)];

2 个评论

He has asked "do not include the first and the last point". I think your solutions include the first and last points.
Thanks Andrei. You seem to have given me a lot of options. I think the second one looks more cogent.

请先登录,再进行评论。

N = 5;
h = (last - first)/N;
grid = linspace(first+h/2, last-h/2, N);

2 个评论

So if I need to call a matrix, say A = f(1) + f(3), how should I do it using your method? And should I specify the values of "first" and "last" as the end points of my domain?
The above piece of code needs 'N', 'last', and 'first' as input parameters. Also, I didn't get what you mean by 'calling a matrix'.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

提问:

2012-10-8

Community Treasure Hunt

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

Start Hunting!

Translated by