Filter löschen
Filter löschen

picking numbers with specific difference in matlab

2 Ansichten (letzte 30 Tage)
Usama Bin Khalid
Usama Bin Khalid am 15 Mär. 2021
Kommentiert: Usama Bin Khalid am 15 Mär. 2021
I have a data set...like say CAD from 212 to 550 say with a differnce of 1 and have corresponing SA values to these CAD values
But I want to pick numbers at a specific distance and in a specific sequence ..like 212,212.3,212.7,213,213.3,213.7.....so that later on i can interpolate the SA values on these CAD values.
How can i do that!! if there was single difference between numbers that would be simple as i did here picking data with a differenc of 0.5:
CAD= data(:,1);
SA= data(:,2);
CADQ=CAD(1):0.5:CAD(end);
vq = interp1 (CAD, SA, CADQ);
here i was able to pick 212,212.5,213,213.5....and was able to interpolate SA on these CAD values.
now how can i do that..picking CAD data in the sequence 212,212.3,212.7,213,213.3,213.7,214,214.3.....
  1 Kommentar
Rik
Rik am 15 Mär. 2021
I don't understand your question well enough to answer it, but it sounds as if ismember will be helpful.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Steven Lord
Steven Lord am 15 Mär. 2021
One way is to take advantage of implicit expansion.
x = 212:215;
y = [0; 0.3; 0.7];
z = reshape(x+y, 1, [])
z = 1×12
212.0000 212.3000 212.7000 213.0000 213.3000 213.7000 214.0000 214.3000 214.7000 215.0000 215.3000 215.7000
  5 Kommentare
Rik
Rik am 15 Mär. 2021
Create an array where you repeat 0.3 0.5 enough times, set your starting offset as the first value and then use cumsum to calculate the cumulative sum.
x=repmat([0.3 0.5],1,5)
x = 1×10
0.3000 0.5000 0.3000 0.5000 0.3000 0.5000 0.3000 0.5000 0.3000 0.5000
x(1)=213
x = 1×10
213.0000 0.5000 0.3000 0.5000 0.3000 0.5000 0.3000 0.5000 0.3000 0.5000
x=cumsum(x)
x = 1×10
213.0000 213.5000 213.8000 214.3000 214.6000 215.1000 215.4000 215.9000 216.2000 216.7000
Usama Bin Khalid
Usama Bin Khalid am 15 Mär. 2021
Yes it worked perfectly...so we can use this code to interpolate any repetitive values....Thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by