我试图从一个csv文件中绘制数据,我已经成功地将csv文件上传为每一列的数组,然后我试图找到每一列的峰,然后我需要将每一个的峰值绘制成一个时间常数我得到了一个错误,我需要有相同大小的向量来绘制,我还试图在一个图上绘制所有的数据集,并为每个数据集拟合曲线。请帮助我!代码如下
Array=csvread("D:\Grad Lab\NMR\Data\T1 Data\compiledT1nolabel.csv");
tau = Array(:,1);
Water= Array(:,2);
Mineral_Oil = Array(:,3);
Glycerol = Array(:,4);
CuSO4_1=Array(:,5);
CuSO4_2=Array(:,6);
CuSO4_3=Array(:,7);
CuSO4_4=Array(:,8);
CuSO4_5=Array(:,9);
pks1 = findpeaks(Water);
pks2 = findpeaks(Mineral_Oil);
pks3 = findpeaks(Glycerol);
pks4 = findpeaks(CuSO4_1);
pks5 = findpeaks(CuSO4_2);
pks6 = findpeaks(CuSO4_3);
pks7 = findpeaks(CuSO4_4);
pks8 = findpeaks(CuSO4_5);
plot(pks1,tau)
1条答案
按热度按时间f3temu5u1#
问题是
pks
向量和您试图绘制的相应数据数组的大小不同:对不同大小的向量调用plot
函数会产生错误。在下面的示例脚本中,
data
包含一组值。使用两个输出(即locs
和pks
)调用findpeaks
允许存储位置和峰值。现在我们可以使用locs
和pks
以及plot
标记峰值,如下所示:生成以下图:
或者,如果只是对打印感兴趣,可以使用
无任何输出:它将生成如下图:
对于OP的特定情况,我将他的脚本修改如下(仅涵盖一组峰,模式应清晰):