Double the resolution of a vector
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Luis Isaac
am 2 Aug. 2016
Bearbeitet: Azzi Abdelmalek
am 2 Aug. 2016
Dear
I would like to double the resolution of a vector in an efficient way (i.e. vectorizing) I mean, for example for the vector [0 2 5 10 12] the result is [0 1 2 3.5 5 7.5 10 11 12]
Calculate the new values is easy, for example:
a=[0 2 5 10 12];
b=a(1:length(a)-1)+diff(a)/2;
But I don't know how to insert the new values in the original vector
Many thanks,
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 2 Aug. 2016
Bearbeitet: Azzi Abdelmalek
am 2 Aug. 2016
a=[0 2 5 10 12]
b=sort([a a(1:end-1)+diff(a)/2])
You can also use interp1 function
a=[0 2 5 10 12]
b=interp1(1:numel(a),A,1:.5:numel(A))
2 Kommentare
Azzi Abdelmalek
am 2 Aug. 2016
Luis Isaac commented
Many thanks The first solution works in this case but it not satisfactory for me because asume that a vector is in ascending order
But the second way is pefect!!
Azzi Abdelmalek
am 2 Aug. 2016
Bearbeitet: Azzi Abdelmalek
am 2 Aug. 2016
a=[0 2 5 10 12]
b= a(1:end-1)+diff(a)/2
c=zeros(1,2*numel(a)-1)
c(1:2:end)=a
c(2:2:end)=b
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Vector Fields finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!