matlab如何绘制两幅图(如何用Matlab画出你想要的图)
matlab如何绘制两幅图(如何用Matlab画出你想要的图)
2024-09-27 10:34:14  作者:盛夏的尽头  网址:https://m.xinb2b.cn/tech/jil421625.html

强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,我们可以通过在在Matlab右上角的搜索界面输入"Types of MATLAB Plots",然后打开"Types of MATLAB Plots"文档,我们就能看到Matlab能够绘制如下图所示的各种图形。


Matlab不仅可以绘制二维的图像还可以绘制三维图像,甚至是动画,让你的学习、科研和工作中的画图简单又好看。下面三种不同类型的图像就是通过Matlab绘制的。




在确定要绘制什么图形的时候,最初不用太过于考虑图像中的细节问题,选好我们所需的绘图函数即可。确定绘图函数后,通过给定或者我们自己导入的基本数据和参数就能得到我们想要的图形。当然,Matlab是可以直接对图形的每个元素,如坐标轴、曲线(颜色、粗细)、文字等一系列的对象进行单独操作。在设定好图像的呈现方式(通过绘图函数实现)并不断调节好图形中的各个元素后,你就可以将属于你自己的绘图代码保存下来,以后只用导入数据就能够一键画好你想要的图像。在这里我以那个三维曲面动画图为例来讲解如何在Matlab中画图的。

三维曲面动图分解看来肯定是由一张一张的三维曲面图连续变化得到的,那么我们首先肯定是来制作单独的三维曲面图。通过到上面提到的Matlab图形类型文档中查看,我们可以在“表面和网格画图”(Surface and Mesh Plot)一栏中找到surf 还有mesh等函数来绘制三维曲面。在这里我们选取surf来进行绘制,那么surf这个函数是如何使用的呢?点开surf的文档介绍,里面有详细的surf的使用说明。通过Matlab自带的使用说明、示例或者在网上查看别人使用的方法。我们基本可以明确无论是使用surf(Z)还是surf(X,Y,Z)来进行三维平面画图,Z都是最关键的。假如Z是一个m行✖n列的矩阵,那么surf(Z)相当于是逐个把矩阵Z中的每个元素投射到三维空间中形成一个点,点的高度(z,同样也代表了颜色)就是元素具体的数值,x和y坐标则对应了元素在矩阵中索引位置。最然后把相邻的点用线连接起来,来组成一个一个细小的三维曲面,并最终绘制成看上去平滑的三维曲面。

比如,我们用想要画出f(x,y)=x^2 y^2的三维图,其中x和y的范围在-5到5之间。我们可以通过以下的代码来实现:

x=-5:0.25:5;%设定x的取值范围和精度

y=x;%y的取值范围和精度和x相同

[X,Y]=meshgrid(x,y);%返回和x与y相关的网格矩阵

Z=X.^2 Y.^2;%生成f(x,y)=x^2 y^2在区间范围内的所有值

surf(X,Y,Z);%绘制三维曲面图

最终我们得到了下面这张图


那么最后我们在这个图的基础上来绘制一个三维曲面动图吧!动画效果是曲面向下变平,继续往下弯曲到和往上弯曲时一样的程度,随后返回到初始状态。这个过程中实际上变动的是高度,也就是Z值,那么我们依次取N个不同的Z值并进行画图,然后把每一个图像连接在一起就行了。在Matlab中可以同生成gif格式的动图来实现以上功能。具体代码和效果图如下:

x=-5:0.25:5;%设定x的取值范围和精度

y=x;%y的取值范围和精度和x相同

[X,Y]=meshgrid(x,y);%返回和x与y相关的网格矩阵

Z=X.^2 Y.^2;%生成f(x,y)=x^2 y^2在区间范围内的所有值

fact=2*sin(0:0.1*pi:2*pi);%设定Z的变化因子,这里用了周期函数sin,并取了一整个周期的值

for k=1:length(fact)

surf(X,Y,fact(k)*Z);

axis([-5 5 -5 5 -100 100])%设定坐标轴范围

caxis([-120 120])%设定坐标取色范围

axis off%隐藏坐标轴

title('三维动画');%设定图像名称

frame=getframe(gcf); %获取当前画面

im=frame2im(frame);%制作gif文件,图像必须是index索引图像

[I,map]=rgb2ind(im,256);%转成gif图片,只能用256色

if k==1

% 第一张直接保存到目录

imwrite(I,map,strcat('C:\toutiao\20180718\','3D-Animation2','.gif'),'gif','Loopcount',inf,'DelayTime',0.1);

else% 剩下的每张图续接上一个图,每张图间隔为0.1秒

imwrite(I,map,strcat('C:\toutiao\20180718\','3D-Animation2','.gif'),'gif','WriteMode','Append','DelayTime',0.1);

end

end


以上就是今天介绍的Matlab的画图功能,虽然只涉及到了一个画图函数,但具体如何去使用函数文中已做过介绍(代码里也写了备注),其他所有的函数也是如此。希望本文对你有所帮助,如果有什么想学的东西可以在下面留言,只要我知道的话会尽量回答。

  • 挖野菜需要说三遍吗(朋友圈流传挖野菜攻略)
  • 2024-09-28朋友圈流传挖野菜攻略春季万物复苏,又到了春菜集中上市的时候,一些市民耐不住“春馋”,也有市民误认为野菜营养价值高,将目标瞄准了小区里的野菜解放日报·上观新闻记者注意到,近日,网上开始流传一些“封控小区挖野菜攻略”“野菜大。
  • 什么筷子最健康又好用(哪种筷子最健康又好用)
  • 2024-09-28哪种筷子最健康又好用竹筷子,这种筷子是中国人使用最多的一种筷子,整体手感受比较轻便,而且不滑手,重要的是竹子是可再生资源,而且生长的速度特别快,也就不用担心会破坏树木有没有发现快餐筷子一般都是竹制的红木筷子,许多珍贵的红。
  • 共享电动车可租可卖 共享电动车仍能租
  • 2024-09-28共享电动车可租可卖 共享电动车仍能租法制晚报讯(记者张婷)上月,因不符合本市上牌标准存在安全隐患,共享电动单车被交管部门叫停近日,有市民反映,共享电动单车再次“现身”法晚记者昨日采访发现,一款名为“E-ZEBRA电斑马”的手机APP可以。
  • 维也纳华尔兹换步女士如何甩头
  • 2024-09-28维也纳华尔兹换步女士如何甩头维也纳华尔兹换步女士甩头的方法是先向右转头,然后左脚向左移动,右脚在原地旋转,接着右脚再向左移动,左脚在原地旋转,同时头部向左转,达到甩头的效果这种换步技巧可以让舞蹈更加流畅、优美需要注意的是,要保持。
  • 辣条吃多了会引起肺炎吗(辣条吃多会导致肝衰竭)
  • 2024-09-28辣条吃多会导致肝衰竭因为便宜又美味,辣条已经成了零食界的“网红”,甚至红出了国门,到国外摇身一变卖出了十几美元一包的高价但自辣条红遍市场后,它的负面消息就从未停止过你是否也时不时地听到网上爆出有人因吃辣条吃出了肝衰竭、肠。
  • 雁荡山从哪个角度拍最美?雁荡山最美的是灵峰
  • 2024-09-28雁荡山从哪个角度拍最美?雁荡山最美的是灵峰灵峰与灵岩、大龙湫并称为雁荡三绝景区内层峦叠嶂,奇峰环拱,千形万状,美不胜收灵峰夜景,移步换形,变幻多姿,妙不可言两大奇洞:观音洞、北斗洞为游人所必至合掌峰是雁荡山的代表景观之一峰内的观音洞建有九叠危。
  • 藏族和尚的生活日常(一对藏族夫妇的第53个)
  • 2024-09-28一对藏族夫妇的第53个来源:中国新闻网中新社拉萨5月31日电题:一对藏族夫妇的第53个“佛月”中新社记者贡桑拉姆5月31日是藏历四月初一,也是藏传佛教一年一度传统的“萨嘎达瓦”宗教活动首日当日清晨,太阳跃山顺着拉萨大昭寺金。
  • 鄂尔多斯羊绒99元5件(好看又保暖的羊绒怎么挑)
  • 2024-09-28好看又保暖的羊绒怎么挑每年都有几个超级购物节,平时觉得不舍得的东西现在都有了理由去买,打折只是一个借口,让生活充满仪式感才是个中真谛这不一年一度的淘金节即将到来,你是否摩拳擦掌要买买买了呢?别着急,淘金节的王者攻略,了解一。
  • 苹果怎么隐藏个别软件(苹果隐藏个别软件操作步骤)
  • 2024-09-28苹果隐藏个别软件操作步骤首先在手机上找到并打开【设置】的软件图标进入到设置的主页面,继续点击【屏幕使用时间】,点击【内容和隐私访问限制】接着输入密码,然后点击允许的应用最后点击想要隐藏起来的系统应用右边的按钮即可。