how to calculate the average of two values data that side by side and place it between those two values

1 vue (au cours des 30 derniers jours)
i want to calculate the average of two values data that side by side and placed it between those two values after that, the last values data will be divided by 2 and placed at the end of the array
for example, if i have
A=[4 2 8 10 6]
then the average of those data that side by side is [3 5 9 8]
after that, the last values of A (=6) will be divided by 2 and equal 3
then i want it to become
B=[4
3
2
5
8
9
10
8
6
3]

Réponse acceptée

darova
darova le 26 Fév 2020
Modifié(e) : darova le 26 Fév 2020
Use interp1
A=[4 2 8 10 6];
x = 1:length(A); % 1 2 3 4 5
xx = linspace(x(1),x(end),length(A)*2-1); % 1 1.5 2 2.5 3 3.5 4 4.5 5
A1 = interp1(x,A,xx);
plot(x,A,'.-r')
hold on
plot(xx,A1,'ob')
hold off
A1(end+1) = A1(end)/2; % just divide last element

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by