文章目录
- 0 开局一张图,PS打开另存为jpg格式的图像。
- 第一步,右键图片用windows图片编辑器打开图。然后用白色画笔覆盖,留一条曲线出来就行。
- 第二步,打开getdata软件。
- 第三步,打开图像。
- 第四步,设置坐标。
- 第五步,取出数据。
- 第六步 导出数据 可以用getdata自带的,麻烦。提倡直接鼠标拉取想要的数据。拉取选好后 ctrl+C复制
- 第七步 桌面新建一个txt文件, ctrl+V把刚才的数据粘贴进去。保存后关闭记事本。
- 第八步,复制粘贴wada.txt到matlab工作空间。
- 第九步,写脚本画曲线。
- 第十步 得到曲线
- 第11步 间隔取点画线
- 第12步 平滑曲线,修正噪声数据。我用着效果不是很好,这工具用来修正噪声数据的 不是很适合我。
- 第13步 多项式拟合
- 第14步 取出自己想要的坐标点
0 开局一张图,PS打开另存为jpg格式的图像。
目标:图里2个曲线,提取出x和y线。
第一步,右键图片用windows图片编辑器打开图。然后用白色画笔覆盖,留一条曲线出来就行。
比如我留了黑色那一条:
第二步,打开getdata软件。
第三步,打开图像。
第四步,设置坐标。
四个点标定。
第五步,取出数据。
细分程度设置:
拉取图像区域
得到
第六步 导出数据 可以用getdata自带的,麻烦。提倡直接鼠标拉取想要的数据。拉取选好后 ctrl+C复制
第七步 桌面新建一个txt文件, ctrl+V把刚才的数据粘贴进去。保存后关闭记事本。
第八步,复制粘贴wada.txt到matlab工作空间。
第九步,写脚本画曲线。
rawdata=importdata('wada.txt');
x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列
plot(x,y)
第十步 得到曲线
第11步 间隔取点画线
rawdata=importdata('wada.txt');
x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列
x=reshape(x.',1,[]); %flatten效果 拉成一条线
y=reshape(y.',1,[]); %flatten效果 拉成一条线
x=x(1:5:length(x)) % 间隔取点
y=y(1:5:length(y)) % 间隔取点
plot(x,y)
第12步 平滑曲线,修正噪声数据。我用着效果不是很好,这工具用来修正噪声数据的 不是很适合我。
https://www.cnblogs.com/rjjhyj/p/8878357.html
第13步 多项式拟合
rawdata=importdata('wada.txt');
x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列
x=reshape(x.',1,[]); %flatten效果 拉成一条线
y=reshape(y.',1,[]); %flatten效果 拉成一条线
x = x(1:5:length(x)); % 间隔取点
y = y(1:5:length(y)); % 间隔取点
p=polyfit(x,y,5); %5次多项式拟合 返回拟合系数
y_fit=polyval(p,x); %拟合数
plot(x,y_fit)
第14步 取出自己想要的坐标点
rawdata=importdata('wada.txt');
x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列
x=reshape(x.',1,[]); %flatten效果 拉成一条线
y=reshape(y.',1,[]); %flatten效果 拉成一条线
x = x(1:5:length(x)); % 间隔取点
y = y(1:5:length(y)); % 间隔取点
p=polyfit(x,y,5); %5次多项式拟合 返回系数
x_new=180:5:260 %180到260 间隔5取一个点
y_new=polyval(p,x_new) %拟合数
plot(x_new,y_new)
双击数据即可获取