matlab如何绘制两幅图(如何用Matlab画出你想要的图)
matlab如何绘制两幅图(如何用Matlab画出你想要的图)
2024-11-21 05:31:05  作者:盛夏的尽头  网址:https://m.xinb2b.cn/life/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-11-22联想智能手机都有哪些联想全智能手机?乐PHONE安卓的系统的看看手机的运行系统是不是智能的就OK了会上网提问就能会上联想官网查查看,下面我们就来聊聊联想全智能手机?以下内容大家不妨参考一二希望能帮到您!联想全智能手机乐P。
  • 直流稳压脉冲电源(可编程直流电源)
  • 2024-11-22可编程直流电源可编程直流电源直流稳压电源深圳市拓沃得科技有限公司(注册商标“拓沃得”)是一家专注于测试设备制造的高新技术企业,崇尚自主创新,依托电力电子技术平台,融合软件仿真算法与测控技术,为众多行业提供专业、可靠。
  • 一手烂牌打出精彩人生(一手烂牌打出王炸)
  • 2024-11-22一手烂牌打出王炸由索尼哥伦比亚影片公司与索尼3000影视公司联合出品,改编自全球现象级畅销小说的女性必看爱情成长佳作《沼泽深处的女孩》正在全国热映中今日,影片发布“野蛮生长”特辑,“野女孩”基娅自由坚韧的成长故事震撼。
  • 荒野大镖客ol每日任务刷新时间(荒野大镖客OL新更新内容)
  • 2024-11-22荒野大镖客OL新更新内容今日《荒野大镖客OL》更新,为自由模式加入了一个全新竞技:钓鱼挑战玩家可以在三种不同的水域中,互相比拼谁钓到的鱼总重量最高,包括湖泊,河流和沼泽下一次全面更新前将在《荒野大镖客OL》测试版上线的内容:。
  • 民间真实的投案故事(凭着姥爷留下的半本残书)
  • 2024-11-22凭着姥爷留下的半本残书“徐大师,钱已经转过去了,你看看”女人斜靠在沙发里,狐媚的眼睛像是蒙了一层水雾,有些迷茫,却又风情万种的看着我我掏出手机,看看上面银行发来的短信,点点头:“到账了,谢谢惠顾”出了门,上了我的‘七手’Q。
  • 黄金变黑了怎么清洗(有什么方法)
  • 2024-11-22有什么方法可以用牙刷蘸取一些牙膏来刷洗黄金类的首饰,在刷洗的过程中,力度不要太大如果有死角处,会有一些污垢的话,可以用牙签把它挑出来,如果不挑出来清洗的话会越来越脏的,最后可以用温水冲洗一下戒指,洗过后的戒指的。
  • 10个例句带你看懂(30个常用俗语解释)
  • 2024-11-2230个常用俗语解释俗语是通俗并广泛流行的定型的语句,简练而形象化,大多数是劳动人民创造出来的俗语反映人民生活经验和愿望用到我们写作的作文里可以提高作文亮点,为你的作文加分下面是小编为同学们准备的30个常用俗语,作文必备。
  • 荣耀50与荣耀v40参数比较(前沿天玑1000)
  • 2024-11-22前沿天玑1000昨天下午,联发科天玑1100和天玑1200正式发布关于这两颗全新5GSoC和之前的天玑1000Plus相比有哪些区别,性能提升如何大家应该也挺关心的如上图所见,天玑1200是联发科本次的主打产品,不同。
  • 汉中龙头山冬天旅游攻略(陕西汉中龙头山景区)
  • 2024-11-22陕西汉中龙头山景区龙头山森林公园位于陕川交界处米仓山主梁国有碑坝林场龙头山营林区,东至红军路,西临小南海镇小坝村,南接米仓山国家森林公园,北连小南海镇秦家坝村,最高海拔2336米景区内自然资源丰富,现已探明有汉王台、仙。
  • 预防包皮炎有什么方法(出现包皮炎怎么办)
  • 2024-11-22出现包皮炎怎么办包皮炎这个疾病一旦出现,就需要及时护理,不然很容易导致病情加重,那么你知道包皮炎的护理方法有哪些吗?包皮炎患者不仅仅需要好的食疗方法,还需要配合有效的男性包皮炎的护理方法,这样才能更有效的治疗病情,远。
  • 推荐某首歌的理由(点评一首歌)
  • 2024-11-22点评一首歌最近海来阿木的《不过人间》火了!歌词就是跳动的字符,撞击着现代社会人们压力山大、受伤的心扉!这首歌处触及到曾经失败、正在失败,曾经痛苦、正在痛苦的心灵悲怆!该首歌最动听的是“月亮月亮你别睡”的旋律,最。