matlab中plot实验数据plot绘图曲线如何圆滑?

matlab 实验一 特殊函数与图形
matlab 实验一 特殊函数与图形
& 特殊函数与图形
著名的Riemann函数大家都很熟悉了,但是关于它的图像你是否清楚呢?除了最上面那几点,其他都很难画吧?你想不想看看下面那些“挤在一起”的点是怎样分布的呢?还有几何中的马鞍面、单叶双曲面等是怎样由直线生成的,是不是也想目睹一下呢?这些,都离不开绘图.
实际上绘图一直是数学中的一种重要手段,借助图形,往往可以化繁为简,使抽象的对象得到明白直观的体现.比如函数的基本性质,一个图形常可以使之一目了然,非常有效.它虽不能代替严格的分析与证明,但在问题的研究过程中,可以帮助研究人员节约相当一部分精力.此外,它还可以使计算、证明、建模等的结果得到更明白易懂的表现,有时,这比科学论证更有说服力.
同时,数学的教学与学习过程也离不开绘图.借助直观的图形,常可以使初学者更容易接受新知识.如数学分析中有不少函数,其解析式着实让人望而生畏,即使对其性质作了详尽的分析,还是感到难明就里;但如果能看到它的图形,再配合理论分析,则问题可以迎刃而解.又如在几何的学习中,会遇到大量的曲线与曲面,也离不开图形的配合.
传统的手工作图,往往费力耗时,效果也不尽理想.计算机恰恰弥补了这个不足,使你可以方便地指定各种视角、比例、明暗,从各个角度进行观察.
本实验通过对函数的图形表示和几个曲面(线)图形的介绍,一方面展示它们的特点,另一方面,也将就Matlab软件的作图功能作一个简单介绍.大家将会看到,Matlab 的作图功能非常强大.
1.平面作图函数:plot,其基本调用形式:
plot(x,y,s)
以x作为横坐标,y作为纵坐标.s是图形显示属性的设置选项.例如:
x=-pi:pi/10:
plot(x,y,'--rh','linewidth',2,'markeredgecolor','b','markerfacecolor','g')
在使用函数plot时,应当注意到当两个输入量同为向量时,向量x与y必须维数相同,而且必须同是行向量或者同是列向量.
绘图时,可以制定标记的颜色和大小,也可以用图形属性制定其他线条特征,这些属性包括:
linewidth&&&&&&&&&&& 指定线条的粗细.
markeredgecolor&&&&& 指定标记的边缘色
markerfacecolor&&&&& 指定标记表面的颜色.
markersize&&&&&&&&&& 指定标记的大小.
若在一个坐标系中画几个函数,则plot的调用格式如下:
plot(x1,y1,s1,x2,y2,s2,……)
2.空间曲线作图函数:plot3,它与plot相比,只是多了一个维数而已.其调用格式如下:
plot3(x,y,z,s).例如:
x=0:pi/30:20*
y=sin(x);z=cos(x);
plot3(x,y,z)
得到三维螺旋线:
3.空间曲面作图函数:
(1)mesh函数.绘制彩色网格面图形.调用格式:
mesh(z),mesh(x,y,z)和mesh(x,y,z,c).
其中,mesh(x,y,z,c)画出颜色由c指定的三维网格图.若x、y均为向量,则length(x)=n,length(y)=m,[m,n]=size(z).
(2)surf在矩形区域内显示三维带阴影曲面图.调用格式与mesh类似.
(3)ezmesh用符号函数作三维曲面网格图.
调用格式:
ezmesh(x,y,z)
其中x = x(s,t), y = y(s,t),z = z(s,t).画图区域默认为: -2*pi & s & 2*pi 且-2*pi & t & 2*pi.
或者用格式:
ezmesh(x,y,z,[smin,smax,tmin,tmax])
(4)ezsurf用符号函数作三维曲面图.调用格式与ezmesh类似.
(5)sphere画球体命令.
4.meshgrid,调用格式:
[x,y]=meshgrid(m,n),
这里的m,n为给定的向量,可以定义网格划分区域和划分方法.矩阵x和矩阵y是网格划分后的数据矩阵.
5.图像的修饰与其他函数:
(1)axis equal 控制各个坐标轴的分度,使其相等;
(2)colormap设置绘图颜色.
调用格式:
colormap([r g b])&&
其中r,g,b都是0-1之间的数.
或者用格式:
colormap(s)
s为颜色映像.下面举几个常用的例子:
相应的颜色系
相应的颜色系
色调饱和色系
线性灰色系
黑红黄白色系
青和洋红色系
(3)grid网格函数&& grid on添加网格.grid off取消网格.
(4)find找出符合条件的元素在数组中的位置.调用格式:
y=find(条件)
例如:输入:
a=[4 &5 &78 &121 &4 &665 &225 &4 &1];
b=find(a&7)
&& 输出:b =3&&&& 4&&&& 6&&&& 7&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
数学分析中,特别是积分部分,我们接触了不少有趣的函数,由于其中有的不是一一对应的,用上面的方法无法画出它们的图像,这时就只能用参数了.
此外还有些图形只能用参数来画,比如空间曲线,在计算机上不接受“两个曲面的交线”这种表示,所以也只能用参数来实现.
用参数方式作图的关键在于找出合适的参数表示,尤其是不能有奇点,最好也不要用到开方.所以要找的参数最好是有几何意义的.当然这也不可一概而论,需要多积累经验.
1.利用函数plot在一个坐标系中画以下几个函数图像,要求采用不同颜色、不同线形、不同的符号标记.函数为:.
程序如下:
t=0:pi/20:2*
z=sin(2*t);
plot(t, x, '--k*', t, y, '-rs', t, z, ':bo')
图像如下:
2.绘制类似田螺线的一条三维螺线(方程自己设计).
程序如下:
t=0:.1:30;
x=2*(cos(t)+t.*sin(t));
y=2*(sin(t)-t.*cos(t));
plot3(x,y,-z)& %取 –z 主要是为了画图看起来更清楚
axis equal
图像如下:
3.利用函数,绘制一个墨西哥帽子的图形.
程序如下:
[a,b]=meshgrid(-8:.5:8);&&&& %先生成一个网格
c=sqrt(a.^2+b.^2)+
z=sin(c)./c;
mesh(a,b,z)
axis square
图像如下:
思考:这里的 eps 是什么?其作用是什么?
4.利用surf绘制马鞍面图形(函数为:).
程序如下:
&[x,y]=meshgrid(-25:1:25,-25:1:25);
z=x.^2/9-y.^2/4;
surf(x,y,z)
title('马鞍面')
图像如下:
5.分别用ezmesh和ezsurf各绘制一个圆环面,尝试将两个圆环面放在一个图形界面内,观察它们有什么不同之处.
&&&&&& 提示:圆环面的方程为: ,而圆环面的参数方程为:
程序参见附录1.
图像如下:
6.绘制黎曼函数图形,加深对黎曼函数的理解.
说明:黎曼函数的定义为
程序参见附录2.
图像如下:
1.作出下图所示的三维图形:
提示:图形为圆环面和球面的组合.
2.作出下图所示的墨西哥帽子及其剪裁图形:
3.画出球面、椭球面、双叶双曲面、单叶双曲面.
4.若要求田螺线的一条轴截面的曲边是一条抛物线:时.试重新设计田螺线的参数方程,并画出该田螺线.
5.作出下图所示的马鞍面(颜色为灰色,并有一个标题:“马鞍面”):
6.绘制图8所示的黎曼函数图形,要求分母的最大值的数值由键盘输入(提示:使用input语句).
发表评论:
馆藏&18687
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&查看: 1790|回复: 4|关注: 0
MATLAB中直线怎么变圆滑曲线
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
t=4:0.002:5;
a=22:0.04:42;
plot(t,a)我希望能是一条向上凸的圆滑曲线并且还是500个数据点,用什么语句
帖子最佳答案
关注者: 359
是否上凸是由你的数据源本身决定的。
你可以把 a 换成 a = t.^20 重新画图
<h1 style="color:# 麦片财富积分
winner245 发表于
是否上凸是由你的数据源本身决定的。
你可以把 a 换成 a = t.^20 重新画图
我希望a和t的范围不变,但是曲线是向上凸起,而且还是500个数据点,刚刚大神说的我试了一下是向下凹的
帖子最佳答案
关注者: 359
mengmengocean 发表于
我希望a和t的范围不变,但是曲线是向上凸起,而且还是500个数据点,刚刚大神说的我试了一下是向下凹的 ...
t=4:0.002:5;
a=22:0.04:42;
semilogy(t,a)
数据本身是线性的,你非要让它凸,你这不是为难matlab 吗?
<h1 style="color:# 麦片财富积分
winner245 发表于
t=4:0.002:5;
a=22:0.04:42;
semilogy(t,a)
t=0:0.002:4;
x=2*sin(2*pi*23*t+(2*pi)/3);
plot(t,x,'r')
t=0:0.002:4;
x=2*sin(2*pi*23*t-(2*pi)/3);
plot(t,x,'g')
t=0:0.002:4;
x=2*sin(2*pi*23*t);
plot(t,x,'b')
&&t=4:0.002:5;
&&a=2:0.002:3;
x=a.*sin(2*pi*12*t+(2*pi)/3);
plot(t,x,'r')
x=a.*sin(2*pi*12*t-(2*pi)/3);
plot(t,x,'g')
x=a.*sin(2*pi*12*t);
plot(t,x,'b')
t=5:0.002:10;
x=a.*sin(2*pi*12*t+(2*pi)/3);
plot(t,x,'r')
x=a.*sin(2*pi*12*t-(2*pi)/3);
plot(t,x,'g')
x=a.*sin(2*pi*12*t);
plot(t,x,'b')
axis([0,10,-10,10])
我的本意是x在4到5的时候,正弦函数能够圆滑点增加到3,但是整了两天都没整出来
站长推荐 /2
Powered by查看: 3562|回复: 14|关注: 0
怎么使曲线圆滑?
<h1 style="color:# 麦片财富积分
新手, 积分 26, 距离下一级还需 24 积分
关注者: 1
散点,plot出来的图如图所示,但是线很不光滑,怎么进行圆滑处理呢?
<h1 style="color:# 麦片财富积分
关注者: 1
多增加坐标点试试
<h1 style="color:# 麦片财富积分
这是拟合出来的曲线?
<h1 style="color:# 麦片财富积分
帖子最佳答案
关注者: 359
原始散点数据不平滑,这是你原始数据本身的问题。你可以进行椭圆拟合,得到平滑的拟合曲线
<h1 style="color:# 麦片财富积分
关注者: 1
阿兰若梦 发表于
这是拟合出来的曲线?
没有拟合,edge直接出来,就是这样的,怎么插值啊?我试了,总出错。。。求代码
<h1 style="color:# 麦片财富积分
关注者: 1
曹卫东 发表于
这样的,可以用用哪种插值???又不是一一对应的,
<h1 style="color:# 麦片财富积分
关注者: 1
本帖最后由 恋你的小王子 于
21:16 编辑
winner245 发表于
原始散点数据不平滑,这是你原始数据本身的问题。你可以进行椭圆拟合,得到平滑的拟合曲线 ...
只有先拟合,才可以平滑处理吗???不可以先圆滑处理,再拟合嘛???如果这个曲线是我们不规则的形状,(不是圆,椭圆,这些我们已知的形状)我怎么用什么拟合呢??有没有一种给出数据,就可以自动拟合的程序。。。因为这种曲线不是一一对应的,所以在cftool工具箱里好像拟合不出来,我反正没有拟合出来。。。求大神指教。。。我还发现,不是一一对应的数据,插值什么的也出错,求指教啊
帖子最佳答案
关注者: 359
|此回复为最佳答案
恋你的小王子 发表于
只有先拟合,才可以平滑处理吗???不可以先圆滑处理,再拟合嘛???如果这个曲线是我们不规则的形状, ...
拟合的过程本质上就是圆滑啊,既然要拟合,何必先圆滑?你的数据又不是抖动很大,有什么必要圆滑呢?一般而言,在曲线拟合之前,可能做的处理是先删除某些抖动范围很大的点,这个可以通过 excludedata 函数完成,待删除这些点后再拟合。
matlab里的拟合是你必须指定一个模型去拟合,matlab不会自动去搜索模型,然后完成拟合。cftool里要求一个x对应一个y,否则,就会出错。像一个 x 对应多个 y 拟合,一般是先找到数学模型,该模型是拟合参数的函数,即一个拟合参数,对应一个不同的函数值,数据 x、y 只是输入参数。
你这个问题是椭圆拟合,只要构造椭圆一般方程里所有的数据项:x^2&&y^2 x y x*y,再用线性最小二乘法即可求得椭圆参数
<h1 style="color:# 麦片财富积分
关注者: 1
winner245 发表于
拟合的过程本质上就是圆滑啊,既然要拟合,何必先圆滑?你的数据又不是抖动很大,有什么必要圆滑呢?一般 ...
你提到的excludedata函数我看了一下他的用法,他排除的点必须人为的给他一个范围,让他把范围内的点删除掉,但是我想要的是这个圆边缘线,排除边缘之外的点,怎么用excludedata呢?我是用的canny算子,除去边缘之外的点的,我发现对其他图同样处理的话,就会把一些点除掉
站长推荐 /2
Powered by&#xe621; 上传我的文档
&#xe602; 下载
&#xe60c; 收藏
毕业于医学院校,在医院工作,有相对丰富的护理经验
&#xe602; 下载此文档
正在努力加载中...
实验三 MATLAB绘图(含实验报告)
下载积分:1500
内容提示:实验三 MATLAB绘图(含实验报告)
文档格式:DOC|
浏览次数:21|
上传日期: 08:41:48|
文档星级:&#xe60b;&#xe612;&#xe612;&#xe612;&#xe612;
该用户还上传了这些文档
实验三 MATLAB绘图(含实验报告)
官方公共微信matlab实验一__曲线绘图_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
matlab实验一__曲线绘图
上传于||文档简介
&&m&#8203;a&#8203;t&#8203;l&#8203;a&#8203;b&#8203;数&#8203;学&#8203;实&#8203;验&#8203;系&#8203;列
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
你可能喜欢

我要回帖

更多关于 matlab中plot 的文章

 

随机推荐