MATLAB三维绘图(matlab二维绘图代码)

0| 前言

数据可视化(data visualization)技术指的是运用计算机图形学和图像处理技术,将数据转换为图形或图像在屏幕上显示出来,并进行交互处理的技术。它涉及计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。

学习目标:

(1)熟悉并掌握简单二维图形显示与绘图函数;

(2)熟悉图形显示的特征控制语句,包括颜色控制、线型控制、线条粗细控制、坐标控制等;

(3)了解其他二维图形显示函数 在 MATLAB中绘制二维图形,

通常包括以下步骤:

(1)准备数据;

(2)设置当前绘图区;

(3)绘制图形;

(4)设置图形中曲线和标记点格式;

(5)设置坐标轴和网格线属性;

(6)标注图形;

(7)保存和导出图形。

【例1】下面通过示例来演示绘图步骤:在同一坐标轴上绘制cos(x)、cos(2x)和cos(3x)这三条曲线

程序命令如下:

clear all;%准备数据x = 0:0.01:3*pi;y1 = cos(x);y2 = cos(2*x);y3 = cos(3*x);% 设置当前绘图区figure%绘图plot(x,y1,x,y2,x,y3);%设置坐标轴和网格线属性axis([0 8 -2 2]);grid on;%标注图形xlabel('x');ylabel('y');title('演示绘图基本步骤')

运行结果如图1所示。

MATLAB|二维绘图

图 1


1 基本的二维绘图

plot函数是最基本、最常用的绘图函数,用于绘制线性二维图。有多条曲线时,循环使用由坐标轴颜色顺序属性定义的颜色,以区别不同的曲线;之后再循环使用由坐标轴线型顺序属性定义的线型,以区别不同的曲线。它的多种语法格式如下:

(1)plot(Y):若Y是一维数组时,plot(Y)是把(i,X(i))各点顺次连接起来,其中i的取值范围从1到length(X);若Y是普通的二维数组时,相当于对Y的每一列进行plot(Y(:,i))画线,并把所有的折线累叠绘制在当前坐标轴下。

(2) plot(X,Y):若X和Y都是一维数组时,功能和line(X,Y)类似;但plot函数中的X和Y也可以是一般的二维数组,这时候就是对X和Y的对应列画线。特别的,当X是一个向量,Y是一个在某一方面和X具有相同长度的二维数组时,plot(X,Y)则是对X和Y的每一行(或列)画线。

(3)plot(X1,Y1,X2,Y2,…,Xn,Yn):表示对多组变量同时进行绘图,对于每一组变量,其意义同前所述。

(4)plot(X1,Y1,LineSpec,…):其中LinSpec是一个指定曲线颜色、线型等特征的字符串。可以通过它来指定曲线的线型、颜色以及数据点的标记类型,如表1所示。这在突出显示原始数据点和个性化区分多组数据的时候是十分有用的。

MATLAB|二维绘图

表 1

【例2】 绘制矩阵的图形

程序命令如下:

clear all;t =[0:0.15:24];medium =[t,t,t] + i*[cos(- t/4),sin(3*t+3),log(1+t)];plot(medium,'LineWidth',2);xlabel('t')ylabel('Y ');legend('cos(- t/4)','sin(3*t+3)','log(1+t)');

MATLAB|二维绘图

图 2

【例3】利用line函数绘制cos函数图形

程序命令如下:

clear all;x=0:0.15:1.5*pi;y=log(x);line(x,y);axis([0 7 -1.5 1.5]);xlabel('x');ylabel('y');

运行结果如图3所示。

MATLAB|二维绘图

图 3

【例4】画同心圆。

程序命令如下:

clear all;theta=linspace(0,3*pi,50); %圆心角的采样点设置r=0.4:0.24:1.74;x=1+cos(theta)'*r;y=2+sin(theta)'*r;plot(x,y,1,2,'+');axis([-1 3 0 4]);axis equal;xlabel('x');ylabel('y');

运行结果如图4所示。

MATLAB|二维绘图

图 4

【例5】利用plot函数绘制函数效果图,并对其进行线型设置。

程序命令如下:

clear all;x = -pi:pi/9:pi;y = cos(cos(x))-cos(sin(x));plot(x,y,'--rs','LineWidth',2,...               'MarkerEdgeColor','w',...               'MarkerFaceColor','r',...               'MarkerSize',9)               

运行结果如图5所示。

MATLAB|二维绘图

图 5

2 figure函数与 subplot函数

在 MATLAB中, figure函数用于创建一个新的图形对象。图形对象会在屏幕上单独的窗口中输出。

subplot函数用于生成与控制多个坐标轴把当前图形窗口分隔成几个矩形部分,不同的部分是按行方向以数字进行标号的。每一部分有一坐标轴,后面的图形输出于当前的部分中。 subplot函数的用法有以下几种

(1)h=subplot(m,n,p)/subplot(m n p):将 figure划分为m*n块,在第p块创建坐标系,并返回它的句柄。当m、n、p<10时,可以简化为 subplot(m n p)或者 subplotmnp。

subplot是将多个图画到同一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个 figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指要把曲线画到 figure中哪个图上,如果是1表示是从左到右第一个位置。

(2)subplot(m,n,p,'replace''):创建新坐标系来替换已存在的所指定的坐标系。

(3)subplot(m,n,P):此时P为向量,表示将P中指定的小块合并成一个大块创建坐标系,P中指定的小块可以不连续,甚至不相连。

比如 subplot(2,3,[2 5])表示将第2和5小块连成一个大块; subplot(2,3,[2 6])由于2和6不连续也不相连,此时表示将第2、3、5和6四块连成一个大块,相当于 subplot(2,3,[2 3 5 6])。

(4)subplot(h):将坐标系h设为当前坐标系,相当于axes(h)

(5) subplot('Position',[left bottom width height])在指定位置创建一个新坐标系,等效于axes('Position',[left bottom width height])。

(6)subplot(…, propl, valuel,prop2 ,value2,…):在创建坐标系时,同时设置相关属性。

(7)h= subplot(…):返回所创建坐标系的句柄。

【例6】画出参数方程的图形。 程序命令如下:

clear all;t1=0:pi/4:3*pi;t2=0:pi/25:3*pi;x1=3*(log(t1)+t1.*sin(t1));y1=3*(sin(t1)-t1.*log(t1));x2=3*(cos(t2)+t2.*sin(t2));y2=3*(log(t2)-t2.*cos(t2));subplot(2,2,1);plot(x1,y1,'r.');subplot(2,2,2);plot(x2,y2,'r.');subplot(2,2,3);plot(x1,y1);subplot(2,2,4);plot(x2,y2);

运行结果如6所示。

MATLAB|二维绘图

图 6

【例 7】利用subplot(m,n, P)函数对图形进行分割。

程序命令如下。

%均匀分割figuresubplot(2,2,1)text(.5,.5,{'1'},...     'FontSize',20,'HorizontalAlignment','center')     subplot(2,2,2)text(.5,.5,{'2'},...     'FontSize',20,'HorizontalAlignment','center')         subplot(2,2,3)text(.5,.5,{'3'},...     'FontSize',20,'HorizontalAlignment','center')     subplot(2,2,4)text(.5,.5,{'4'},...     'FontSize',20,'HorizontalAlignment','center')    

运行结果如图7所示。

MATLAB|二维绘图

图 7

%左右分割figure subplot(2,2,[1 3])text(.5,.5,'[1 3]',...     'FontSize',20,'HorizontalAlignment','center')      subplot(2,2,2)text(.5,.5,'2',...     'FontSize',20,'HorizontalAlignment','center')      subplot(2,2,4)text(.5,.5,'4',...     'FontSize',20,'HorizontalAlignment','center')

运行结果如图8所示。


MATLAB|二维绘图

图 8

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 9月 9日 下午1:38
下一篇 2023年 9月 9日 下午1:44

相关推荐

  • 支付宝积分都能兑换些什么,支付宝积分有纯积分兑换礼品吗

    支付宝会员积分怎么用?年底积分就要过期清零啦,干净用掉啊,在支付宝会员页面就能看到能兑换的东西了,小伙伴们可以试试~ 支付宝积分有什么用处 1、抵钱类:红包 直接抵现金、提现免服务…

    2023年 2月 5日
  • 简单易做的创意贺卡,有创意的贺卡手工制作

    #挑战30天在头条写日记# 每到节日前夕都想有些仪式感,让孩子把祝福送给身边的老师和小朋友,所以一起开动脑筋想了几种贺卡图案,从创意到制作都自己动手,为了这个过程,还买了很多关于手…

    2023年 8月 21日
  • 怎么百度网盘的大文件,怎么下百度网盘的大文件

    众所周知,普通用户下载百度网盘的速度很慢,而IDM通过多线程下载技术下载文件,可以大幅提高文件的下载速度,那么如何利用idm下载百度网盘大文件呢?一起来看看吧。 一.获取直链 ID…

    2022年 12月 22日
  • 支付宝转账被骗举报能要回钱吗

    支付宝转账被骗举报能要回钱吗 1、支付宝转账被骗举报不能要回钱,当事人可以保留完整的证据材料报警处理 (此处已添加小程序,请到今日头条客户端查看) 2、法律依据:根据《中华人民共和…

    2023年 1月 23日
  • 如何免费音乐与(哪个音乐软件可以免费mp3)

    下面这个其实也算不上黑科技,只是一个小技巧吧,但估计还是有很多人不知道这个好用的技能。 现在大家都在手机端听音乐了,一般也不会有人采用这个方法,除非是要做视频音频的朋友,特别是鬼畜…

    2023年 6月 8日
  • 日本留学生考研,日本的大学生怎么考研究生

    日本留学之日本考研那些事:第一期:开场白 各位读者大家好,从今天起,我将发布系列文章《日本留学之日本考研那些事》,由日本的大学教授为您讲述有关日本考研的那些事。 本栏目以在日本的华…

    互联网 2022年 12月 31日
  • 青岛庭院花园设计风格(青岛中式庭院景观设计)

    一、规划庭院布局 在打造高端大气庭院之前,规划庭院布局是一个不可或缺的步骤。为了让庭院更加有层次感和丰富性,可以将庭院分为休闲区、花园区、娱乐区等不同的区域。在布局时,还需要考虑到…

    2023年 9月 2日
  • 风控对抗中的常规特征及处置选择原则

    在风控实战中,黑产为了获得收益会采取多种多样的手段进行攻击,笔者总结了风控对抗中的特征选择,并分析了相应的处罚手段。 做了很久的心理斗争,终于决定静下心来把这些年在风控的实战对抗中…

    2023年 7月 13日
  • 焦点访谈《重磅“双减”怎么减》

    央视网消息(焦点访谈):这个月,中小学生们迎来了“双减”政策实施一年后的新学期。“双减”指的是去年中办、国办印发《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》。一年…

    2023年 3月 10日
  • qq 年度报告来了,可查看注册时间,在线时长吗

    2022 年即将结束,现在各大平台都推出了年度报告,用户可查看你在这一年中的各种数据。不过今天我们不聊别的,只聊 QQ。 最近腾讯 QQ 也推出了“2022年度报告”,用户可在里面…

    2023年 1月 24日