MATLAB图像修饰讲义.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB图像修饰讲义

当一张图中的曲线过多时, 除了可以采取用颜色或者线型区分外,还可以用定点标记来区别。matlab可以很轻松地做到这一点。 下面通过定点标记,来给出明显的区分。 命令中的s代表方块,也就是说第一条曲线用方块画出; 命令中的*表示星号,也就是说第二条曲线用星号画出。 从图中一眼就可以分辨出来。 s 方块 ?* 星号 ?x 叉号 +加号 .黑点 ? o小圆圈 ?p 五角星 ?h六角星 朝右的三角形 ?朝左的三角形 d 菱形 (还有一个朝上的三角形,由于百度经验无法打出,是键盘6号建上面的那个符号) 如果这时直接继续画y2=sin^2(x)的图形,则在另一张图中画,为了在同一张图中画两个函数图,输入下面代码: hold on 再输入绘图命令: plot(x,y2) 按回车,则在同一张图上画出了这两个函数的图形。可以通过菜单栏中的insert添加坐标名称,文本等。 其他函数的画法类似! 为其添加一个图名。 命令形式为:title(‘名字’)。 功能是为当前图形顶端加上名字。 为其添加坐标轴标注。 xlabel(‘x轴名’)或者ylabel(‘y轴名’)或者zlabel(‘z轴名’)。 功能是在当前图形的x或y或z轴旁边加上标注。 为其添加图形标注。 命令形式为:text(x,y,标注名)或者text(x,y,z,标注名) 功能是在(x,y)点或者(x,y,z)点加上文字‘标注名’。 为其添加图例标注。 命令形式为:legend(‘标注1’,‘标注2’,。。。) 功能是对当前图形进行图例标注。 数据准备: 关于MATLAB曲线拟合,我写了一系列的经验,为了相互统一,采用下面的数据: x=[0 ? ?0.3000 ? ?0.6000 ? ?0.9000 ? ?1.2000 ? ?1.5000 ? ?1.8000 ? ?2.1000 ? ?2.4000 ? ?2.7000 ? ?3.0000] y=[2.0000 ? ?2.3780 ? ?3.9440 ? ?7.3460 ? 13.2320 ? 22.2500 ? 35.0480 ? 52.2740 ? 74.5760 ?102.6020 ?137.0000] 由函数y=4*x^3+3*x^2+2 产生。 函数命令拟合: MATLAB为我们提供了多项式拟合函数命令polyfit,下面我们就用这个函数命令进行拟合。 在MATLAB主窗口中输入 y1=polyfit(x,y,3),回车 我们会看到下面结果: y1 = ? ? 4.0000 ? ?3.0000 ? ?0.0000 ? ?2.0000 函数的说明: y1=polyfit(x,y,N),这里函数polyfit第一个参数传递的是拟合数据的自变量,第二个参数是因变量,第三个参数是拟合多项式的阶数,这个由我们给定。如下图。我们可以给定不同的N,运用不同的多项式进行拟合。 输出结果: 在上面的例子中我们看到输出的结果是: y1 = ? ? 4.0000 ? ?3.0000 ? ?0.0000 ? ?2.0000 对照原始的函数y=4*x^3+3*x^2+2 ,我们可以看到,y1其实输出的是拟合函数的系数,并且由高次到低次由左到右输出。 4 多项式阶数N的确定: 阶数确定方法二: 这种方法方法可以取代用cftool进行判断的过程,具体实现代码如下: for i=1:5 ? ? y2=polyfit(x,y,i); ? ? Y=polyval(y2,x);%计算拟合函数在x处的值。 ? ? if sum((Y-y).^2)0.1 ? ? ?? ? ? ? ? c=i ? ? ? ? ? break; ? ? end end 运行以上程序,结果如下: c=3 假设我们的误差平方和精度范围为0.1,那么通过以上程序,我们可以看到用3阶函数拟合,就可以达到精度要求。在多项式进行拟合的时候这个值我们在程序执行的过程中就直接可以调用。 说明:至于说用plot函数进行画图,肉眼观察拟合程度的那种笨方法,我们不推荐,这里也不赘述。 步骤阅读 在MATLAB主窗口中输入 syms x f(x) f(x)=poly2sym(y2,x) 我们会看到输出如下结果: f(x) = ? 4*x^3 + 3*x^2 + (5822273280258613*x)/1267650600228229401496703205376 + 2 这就是我们拟合出来的多项式。 这里我们看到一次项的系数并不是0,这里5822273280258613/1267650600228229401496703205376=4.5930e-15,这个数量级我们完全可以忽略,认为是0。 拟合结果

您可能关注的文档

文档评论(0)

441113422 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档