Help with Smooth graph interpolation

I have two columns of data imported from excel in workspace labelled as "Sample 1". How can I take those columns and make a smooth graph? They are both 88 rows long with column 1 being my X values and column 2 being my Y values. Thank you!

 采纳的回答

I have no idea what your data are, and I am not certain what defines ‘smooth’.
With that proviso, try this:
xq = linspace(min(Sample_1(:,1)), max(Sample_1(:,1)), numel(Sample_1(:,1))*10);
yq = interp1(Sample_1(:,1), Sample_1(:,2), xq', 'pchip');
figure
plot(Sample_1(:,1), Sample_1(:,2), 'xb')
hold on
plot(xq, yq, '-r')
hold off
grid
Experiment with the interp1 function 'method' arguments to get different results.
.

6 个评论

Hmm I'm getting this error message "Error using min
Invalid data type. First argument must be numeric or logical."
Apparently, ‘Sample_1’ is not numeric. I need to know what it is to help.
The variable is called Samples106 with column 1 in the data set being labelled "strain" and column 2 being labelled "Column1". Both columns start with 0 and continue in an increasing, non-linear order for 88 rows. Is that what you are looking for or is it something else?
Something else. It could be a cell array, in which case it would require different indexing. The easiest way to solve this would be for you to attach it as a .mat file.
Hopefully this helps. Sorry for the confusion!
No worries!
The ‘y’ field (the one that matches your description) is a table. It requires a bit of code to get its data.
Experiment with this:
D = load('Graph data.mat');
y = D.y;
vx = y.Column1;
vy = y.strain;
mult = 0.25;
xq = linspace(min(vx), max(vx), numel(vx)*mult);
yq = interp1(vx, vy, xq', 'pchip');
figure
plot(vx, vy, 'xb')
hold on
plot(xq, yq, '-r')
hold off
grid
Change the value of ‘mult’ and the interp1 'method' (here, 'pchip') to get the result you want.
.

请先登录,再进行评论。

更多回答(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