24小时热门版块排行榜    

查看: 863  |  回复: 1

opticspcs

金虫 (正式写手)


[交流] 【求助】matlab画曲线,为什么曲线有折回现象

用matlab画二维曲线,画出来的曲线有折回现象,一部分曲线来回画,很乱。如果手动的话,也就是一个一个点按顺序描,就不会出现这种情况。
   这种现象和我的数据有关,请问怎么样才能使画的曲线只有一条,我试过其它画图软件,好像也是出现这种情况。
    不知道matlab是按什么规律画图的,是一个一个点的按从左到右的顺序连接的吗
?

     数据如下:
          x=
4.878601828898092e-004
    5.346183336429460e-004
    4.918261326259877e-004
    4.902069809584126e-004
    4.845095943446531e-004
    4.821230408384473e-004
    4.918945962340895e-004
    4.866188715235996e-004
    4.828590679030466e-004
    5.194244388117345e-004
    4.833360419974371e-004
    4.980952409278793e-004
    5.821886453711071e-004
    4.931468225938758e-004
    4.811960170940698e-004
    5.345781195801821e-004
    5.021884472439029e-004
    4.801635190430373e-004
    4.885605300255543e-004
    5.368574651237964e-004
    5.802109221647190e-004
    5.804092251704563e-004
    4.838597787142920e-004
    4.899189454521057e-004
    4.818015604767613e-004
    4.834170062087813e-004
    4.875614066256569e-004
    4.811011817713416e-004
    4.849226455726068e-004
    5.343419107200862e-004
    4.901889509242703e-004
    4.888645615591174e-004
    5.101901998252371e-004
    5.064973838800504e-004
    4.919851140055429e-004
    5.047713507437757e-004
    5.114022929017983e-004
    5.085513775696282e-004
    5.618509860355616e-004
    9.335875882053691e-004
    1.137092515191809e-003
    7.424242763771150e-004
    9.425238259823276e-004
    1.138301564632843e-003
    1.483817552636460e-003
    1.984652876169874e-003
    2.736021838329032e-003
    3.747241517056418e-003
    5.193849133557685e-003
    7.244750885903926e-003

y=
    7.261268302302347e-002
    6.768094844770384e-002
    7.174606561054904e-002
    7.192949970100122e-002
    7.261691436255086e-002
    7.653103966931209e-002
    7.200169593372639e-002
    7.239669257410195e-002
    7.722589953180696e-002
    7.015423003407242e-002
    7.270680897980800e-002
    7.111330650162331e-002
    6.580938242140773e-002
    7.160872453969247e-002
    7.499548288281442e-002
    6.768488721443940e-002
    7.029620187819118e-002
    7.480893830739212e-002
    7.248004510244344e-002
    6.753123536717813e-002
    6.588058427805565e-002
    6.586519542762158e-002
    7.325042805565306e-002
    7.173522164348284e-002
    7.385999359337793e-002
    7.290611151274680e-002
    7.261598438693581e-002
    7.348395022261696e-002
    7.238674257136456e-002
    6.797596542514564e-002
    7.169797214345418e-002
    7.167641482591794e-002
    7.035735268237033e-002
    7.237729017641692e-002
    7.059922543616168e-002
    6.923987851844660e-002
    6.878944765926794e-002
    6.884149388301712e-002
    6.495064477829486e-002
    5.770684413763827e-002
    5.587103367879544e-002
    5.917615566287344e-002
    5.659517491763723e-002
    5.382296156447447e-002
    5.111830635139169e-002
    4.845614338465974e-002
    4.573916958848640e-002
    4.313349603466005e-002
    4.062565991778450e-002
    3.817577978036325e-002

    谢谢解答!
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

opticspcs(金币+10): 2011-01-16 18:51:25
wuming524(金币+1): 辛苦了 2011-01-16 22:28:25
引用回帖:
Originally posted by opticspcs at 2011-01-16 14:31:04:
用matlab画二维曲线,画出来的曲线有折回现象,一部分曲线来回画,很乱。如果手动的话,也就是一个一个点按顺序描,就不会出现这种情况。
   这种现象和我的数据有关,请问怎么样才能使画的曲线只有一条,我试过 ...

你的数据就是这样的,画出来当然有折线了。
可以用MATLAB自带的sort或sortrows函数先对x进行排列,然后绘图。
CODE:
xy = [ x, y ];
xy = sortrows( xy );
plot( xy( :, 1 ), xy( :, 2 ) )

2楼2011-01-16 15:13:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 opticspcs 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见