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

2 ビュー (過去 30 日間)
Paul Stacey
Paul Stacey 2018 年 11 月 15 日
コメント済み: Paul Stacey 2018 年 11 月 15 日
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 Center および File Exchange2-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