inserting values in between two successive values in an array

I have an array 10X1
-7.55
-7.62
-7.59
-7.75
-7.78
-7.69
-7.63
-7.69
-7.58
-7.95
Now, i want to insert values in between two successive values as (-7.585) in between ( -7.55 -7.62) and so on, so that my array become 19X1.

 采纳的回答

This should get the job done:
data=[-7.55;-7.62;-7.59;-7.75;-7.78;-7.69;-7.63;-7.69;-7.58;-7.95];
newdata=interp1(...
1:numel(data),... create x values
data,... treat the data as y values
1:0.5:numel(data),... create the new x values to sample
'linear'); % force the use of a linear interpolation
disp(newdata)
-7.5500 -7.5850 -7.6200 -7.6050 -7.5900 -7.6700 -7.7500 -7.7650 -7.7800 -7.7350 -7.6900 -7.6600 -7.6300 -7.6600 -7.6900 -7.6350 -7.5800 -7.7650 -7.9500

3 个评论

It is working thank you, If i want to get one more value after the 10th value, What should I do, Please help
What exactly do you mean by 'after the 10th value'? Do you want to extrapolate after the array you have? If you want that, you will have to find the pattern in your numbers.
plot(data)
I don't see any pattern. Can you predict what value should be at x=10.5?
oK. I understood, thanks for your answer.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Interpolation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by