How do I stop data being rounded when plotting a graph with 2 y-axis?

7 次查看(过去 30 天)
I have 2 sets of data, both of which are sine waves. The sine waves are slightly out of phase, and I'm trying to plot them so they're in phase so I can compare them. To do this I'm effectively ignoring the first 100us of data for the output wave, and also ignoring the last 100us of the input wave. When I do this, it looks like this:
Both.png
As you can see the orange value is being rounded to some discrete values, rather than being a perfect sine wave.
If I plot the output data on its own, this is what I get:
Single.png
Anyone have any ideas how I can stop this happening? This is the code I'm using to import and plot the 2 y-axis graph:
Amp = csvread('Amp_Out.csv',1,1);
CIN = csvread('Capacitor_Value.csv',1,1);
yyaxis left
plot(Time(1:36428),CIN(1:36428))
ylabel('Capacitance Value')
yyaxis right
plot(Time(1:36428),Amp(1969:38396))
ylabel('Amp Out')
xlabel('Time')
title('Capacitance and Output')

回答(1 个)

madhan ravi
madhan ravi 2018-11-15
Fit the curve using interp1() with the method 'spline' then you should get a perfect curve
  1 个评论
Paul Stacey
Paul Stacey 2018-11-15
Does this just fix the graph, or does it fix the data? My end goal is to test linearity between the two sets of data - but when I plot them against each other its again being set to discrete values

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by