如何用matlab画平滑曲线?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab画平滑曲线?相关的知识,希望对你有一定的参考价值。

要利用实验后计数据画三维曲线图形,但是直接采用PLOT3 函数绘制的图形很粗糙,采用什么方法能画出光滑的曲线图,就是能够去掉曲线中毛刺。
我的这组数据类似于心电信号,成周期性的,X\Y\Z三个方向的数据间隔很小,数据存放在三组数组中,用PLOT3 绘制后图形就很粗糙,具体怎么操作 使图形光滑

x=[0.1 0.16 0.27 0.41 0.48 0.59 0.8];
y=[8 70 118 100 9 0 5];
以上是每一个X和Y对应的坐标,这个图形就像二次函数一样的
如果要在图中绘制一条直线加上y=70的直线,用不同颜色区分。
 x=[0 0.1 0.16 0.27 0.41 0.48 0.59 0.8];
y=[5 9 70 118 100 17 0 5];
y1=[22.8 22.8 22.8 22.8 22.8 22.8 22.8 22.8]; values1=spcrv([[x(1) x x(end)];[y(1) y y(end)]],3,1000); values2=spcrv([[x(1) x x(end)];[y1(1) y1 y1(end)]],3,1000); plot(values1(1,:),values1(2,:),\'r\',values2(1,:),values2(2,:),\'b\')

ans2: 代码如下:
x=[0.1 0.16 0.27 0.41 0.48 0.59 0.8];
y=[8 70 118 100 9 0 5];
xp=0:0.1:1; yp=interp1(x,y,xp);
plot(x,y,\'b-\',xp,yp,\'r-\')%红色为差值后的平滑图像
hold on y1=70; plot(xp,y1,\'c-\') %

ans3:
x=[0.1 0.16 0.27 0.41 0.48 0.59 0.8];
y=[8 70 118 100 9 0 5]; X=linspace(0,.9); Y=spline(x,y,X); plot(x,y,\'ro\',X,Y,X,70+0*X)

参考技术A 得用拟合或插值。
常用的拟合有多项式拟合POLYFIT
插值有INTERP1,SPLINE,LAGR1等。。。
参考技术B 比如
plot3(x,y,z,'b-')
就是线形的
如果要光滑的话最好让数组xyz的间隔变小
参考技术C shading faceted命令将每个网格片用其高度对应的颜色进行着色,但网格线仍保留着,其颜色是黑色。这是系统的缺省着色方式。
shading flat命令将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。
shading interp命令在网格片内采用颜色插值处理,得出的表面图显得最光滑。本回答被提问者和网友采纳
参考技术D help line

如何用R语言画ROC曲线图

参考技术A 上一篇 下一篇共151篇
R语言如何做ROC曲线2011年12月12日 19:37:26
ROC曲线,做分类时经常会用到的一种结果表现方法。诸如此类的工作,首选工具当然是R。在CRAN上搜了一下,找到一个叫ROCR的包。尽管这个包已经很久没更新了,但用起来还是很爽的。先看一下我画的ROC曲线。
里面是三份预测结果的ROC曲线。
ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个 prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对 performance用plot函数就能绘制出相应的ROC曲线。
1
2
3
4
5
6

plot a ROC curve for a single prediction run
and color the curve according to cutoff.
data(ROCR.simple)
pred lt;- prediction(ROCR.simple$predictions, ROCR.simple$labels)
perf lt;- performance(pred,tpr,fpr)
plot(perf,color

以上是关于如何用matlab画平滑曲线?的主要内容,如果未能解决你的问题,请参考以下文章

如何用HTML5技术画一条二维曲线

如何用matlab画正态分布曲线

如何用MATLAB画机器人手臂一个关节的速度曲线

如何用MATLAB绘制双曲线?

Matlab中如何在一幅图中画很多条曲线?

如何用Matlab画二元函数?