On 12/26/2012 5:03 PM, maryam wrote: > dpb <email@example.com> wrote in message <firstname.lastname@example.org>... >> On 12/26/2012 12:29 PM, maryam wrote: >> ... >> > how could I interpolate rows of a matrix so that original value of rows >> > don't change? >> >> Didn't we do this before the holidays????? >> >> doc interp1 >> >> >> X = 0:10; V = sin(X); Xq = 0:.25:10; >> >> Vq = interp1(X,V,Xq); >> >> all(Vq(Xq==fix(Xq))==V) >> ans = >> 1 >> >> >> >> >> What else do you need???? > --------------------------------------------------- > This question has already been answered? > I searched but I didn't find it > thank you very much for your answer but I mean we have a matrix n-by-m: > assume M= [a b c;d e f; g h i] > I want to interpolate its rows so that is equal to > M=[a a+d a+2d a+3d ... 7d b b+d ... b+7d c... c+7d ; d... d+7d... f+7d ; > g ... i+7d] > Can you explain me how I could do it?
I'm virtually certain you asked this same question some days ago and I told you then the same thing...
Use interp1() as the above example w/ an interpolating vector of the points at which you want interpolants. Here's why I think I remember the question and the response, as I pointed out then, since interp1() works on columns you'll need to transpose, interpolate, then transpose back.
I can't interpret the above [a a+d a+2d ... ) precisely but assuming d here is a different 'd' than that of the value in the original M(2,1) and is just a delta then the interpolant would seem to be linspace(0,N*d,N+1) where N is the number of intervals (7 above) added to a, b, c, ..., etc.