MATLAB函数画图

合集下载

matlab的plot函数用法

matlab的plot函数用法

matlab的plot函数用法MATLAB中的plot函数是最常用的绘图函数之一,用于创建二维图形。

以下是一些基本的plot函数用法和示例:基本用法:matlab复制代码plot(X, Y)其中,X和Y是等长的向量,分别表示x轴和y轴上的数据点。

例如:matlab复制代码X = [01234];Y = [014916];plot(X, Y);这将绘制一个y = x^2的图形。

2. 多条曲线:matlab复制代码plot(X1, Y1, 'LineSpec1', X2, Y2, 'LineSpec2', ...) 其中,LineSpec是一个字符串,用于指定线条的颜色、线型等。

例如:matlab复制代码X = [01234];Y1 = [014916];Y2 = [00.81.63.24.8];plot(X, Y1, 'r-', X, Y2, 'b--');这将绘制红色的实线和蓝色的虚线。

3. 添加标题、轴标签和图例:matlab复制代码plot(X, Y)title('标题')xlabel('x轴标签')ylabel('y轴标签')legend('图例1', '图例2', ...) 例如:matlab复制代码X = [01234];Y1 = [014916];Y2 = [00.81.63.24.8];plot(X, Y1, 'r-', X, Y2, 'b--');title('y = x^2 和y = 0.8x^2')xlabel('x')ylabel('y')legend('y = x^2', 'y = 0.8x^2') 其他选项:1.使用grid on或grid off来打开或关闭网格。

MATLAB 常用函数3 绘图函数及命令

MATLAB 常用函数3 绘图函数及命令

MATLAB 常用函数3 绘图函数及命令By D. J. Liu1绘图函数(1) plot (二维线图)plot (x, y, ‘r*-’, ‘linewidth’, 5, ‘markersize’, 5)linewidth 设置线条的宽度markersize 设置点的大小(2) plot3 (三维线图)plot3 (X, Y, Z, ‘r*-, ‘linewidth’, 5, ‘markersize’, 5)linewidth 设置线条的宽度markersize 设置点的大小(3) scatter (二维散点图)scatter (X, Y, ‘S’)S设置点的形式、大小及颜色等属性(4) scatter3 (三维散点图)scatter3 (X, Y, Z, ‘S’)S设置点的形式、大小及颜色等属性(5) subplot (子图绘制)subplot(m,n,p)m行, n列, p当前位置(将一个窗口分成m×n个小窗口)(6) mesh (三维网格图)mesh (X, Y, Z)注意:X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m×n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))。

(7) surf (三维曲面图)surf (X, Y, Z)surf的调用方法与mesh命令类似,不同的是mesh函数绘制的图像是一个网格图,而surf命令绘制得到的是着色的三维曲面。

着色的方法是在得到相应的网格后,对每个网格依据该网格所代表的节点的色值来定义这一网格的颜色。

注意:第一,surf只支持笛卡尔坐标系(直角坐标系)。

第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入shading interp,这样matlab就会进行相应插值。

注意:X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m×n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))(8) pie3(X)(三维饼图)pie3(X) 用X中的数据画一个三维饼形图(百分比例),X中的每一个元素代表三维饼形图中的一部分。

第三章 利用MATLAB绘制函数图形

第三章 利用MATLAB绘制函数图形

四、特殊平面图形的绘制
五、三维曲线图形
plot3
如果输入自变量是三个大小相同的矩阵 x、y、z,那么 plot3 会
依序画出每个行矢量在三维空间所对应的曲线
格式:plot3(x1,y1,z1,S1, x2,y2,z2,S2,…) 说明:一次和绘制多条曲线
ezplot3
空间曲线的简易绘图命令
polar(theta,rho,'--r')

% 进行极坐标绘图
用ezpolar作图,输入: ezpolar('5*(1-sin(theta)')
四、特殊平面图形的绘制
hist指令
绘制统计直方图,对大量的资料,显示资料的分布情况和统计特性 格式:hist(Y, n) %n是一个标量,表明使用n个箱子. 将资料依大小分成数堆,将每堆的个数画出 例12:>> x=randn(500,1); %产生500个正态分布随机数 hist(x,25) %将数据绘制成25个直方
>> x= 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x)); subplot(2, 2, 2); plot(x, cos(x)); subplot(2, 2, 3); plot(x, exp(-x/3)); subplot(2, 2, 4); plot(x, x.^2);
注:还可直接输入 ezplot3('x','x*sin(x)*cos(x)','x*cos(x)*cos(x)',[0,20]).
举例—三维绘图
例15:同时绘制两条空间曲线. >> t = linspace(0, 10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t); % 同时画两条曲线

Matlab二维绘图函数(plot类)

Matlab二维绘图函数(plot类)

Matlab⼆维绘图函数(plot类)plot功能绘制⼆维图形的最基本函数。

语法//x为向量时,以x的元素值为纵坐标,x的序号为横坐标绘制曲线。

//x为矩阵时,以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。

polt(x)//以x 元素为横坐标值,y 元素为纵坐标值绘制曲线plot(x,y)//以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线plot(x,y1,x,y2,…)其他属性参数:符号作⽤符号作⽤符号作⽤符号作⽤y黄-实线.点<⼩于号m紫:点线o圆s正⽅形c青-.点划线x叉号d菱形r红⾊–虚线+加号h六⾓星g绿*星号p五⾓星b蓝v向下三⾓形w⽩^向上三⾓形k⿊>⼤于号egclear;clc;clf;x = linspace(0,2*pi,50);y = sin(x);plot(x,y)xlabel('x轴')ylabel('y轴')title('题⽬')gtext('正弦曲线') %图形上出现⼗字线,⿏标控制其移动,单击⿏标显⽰⽂字ezplot功能⽆需数据准备,直接画出函数图形语法//在默认区间[-2pi,2pi]上绘制函数f=f(x)ezplot(f)//在区间min < x < max上绘制函数 f = f(x)ezplot(f,[min,max])//对于隐式定义的函数f = f(x,y):ezplot(f)绘制的是 f(x,y) = 0ezplot(f,[xmin,xmax,ymin,ymax])//绘制含参函数 x = x(t)和y = y(t) 默认区间: 0 < t < 2pi.ezplot(x,y)//绘制含参函数 x = x(t)和y = y(t) 区间:tmin < t < tmax.ezplot(x,y,[tmin,tmax])//在指定的区域,在figure窗⼝绘制通过handle figure指定的函数ezplot(...,figure_handle)fplot功能通过MATLAB平台内部设置的⾃适应来动态决定⾃变量的离散间隔,当函数值变化缓慢时离散间隔取⼤些,当函数值变化剧烈时,离散间隔取⼩⼀些。

MATLAB绘图函数代码及图形

MATLAB绘图函数代码及图形

')
case 2,result = M1-M2; case 3,result = M1*M2; case 4,result = M1/M2; end disp('The result is :'); disp(result); end %End function 第三题 矩阵的操作 function y=f3 while(1) disp('--------------------------------------'); disp('1 - 转置'); disp('2 - 求秩'); disp('3 - 求逆'); disp('4 - 行列式'); disp('0 -Exit'); ch = input('Choose an item to continue:'); if( ch == 0) return; end M = input('Enter the Matrix:'); switch(ch) case 1,result = M'; case 2,result = rank(M); case 3,result = inv(M); case 4,result = det(M); end disp('The transform result is :'); disp(result); end %End function end end end 第四题 向量的判定 function y=f4(vec_1,vec_2,dem_1) vec_1=input(' 第一个向量:') vec_2=input(' 第二个向量:') Sel_2=input(' 选择: 1 -判断两向量是否共线 2 -判断三向量是否共面') if Sel_2==1 A=[vec_1;vec_2] if rank(A)==1 disp(' 两向量共线!') else disp(' 两向量不共线!') end else if Sel_2==2

matlab多变量绘图函数(类似ggplot2)

matlab多变量绘图函数(类似ggplot2)

matlab多变量绘图函数(类似ggplot2)1.多变量绘图由于在matlab绘图时遇到多个变量,需要逐⼀绘制(还没找到别的好⽅法),在此过程中使⽤hold on保持图形,⽐较繁琐,所以将其封装成为以下函数,简化该过程。

⽬的是以更接近统计学的思维去绘图,当然还⼗分粗糙,和ggplot2没得⽐,不过出发点是向着它努⼒的。

函数如下:function mulplot(data,nums,p,legfun)%data:待绘图的数据,每列⼀个变量%nums:绘图所⽤数据所在列1×3,依次为颜⾊、横坐标、纵坐标%p:绘制类型,'l'代表线条,'p'代表散点%legfun:⼀个函数,⽤于修饰图例u=unique(data(:,nums(1)));for i=1:length(u)subdata=data(data(:,nums(1))==u(i),:);if p=='l'plot(subdata(:,nums(2)),subdata(:,nums(3)));elseif p=='p'scatter(subdata(:,nums(2)),subdata(:,nums(3)));endhold on;endhold off;leg=num2cell(string(u));for i=1:length(u)leg{i}=legfun(leg{i});endlegend(leg);end测试如下:n=5;a=1:n;x=repmat(a,1,n);y=repelem(a,1,n);z=x./(y+1);data=[x',y',z'];legfun=@(x) strcat("x=",x);mulplot(data,[1,2,3],'l',legfun);xlabel('y');ylabel('z');得到图像如下:2.⾊盲友好⾊函数之前在这⾥提到了⾊盲友好⾊:https:///dingdangsunny/p/15305232.html#_label2但是我们虽然知道了这些颜⾊的RGB,每次⽤起来还是不⽅便,总要⼿动操作⼀番,所以写成函数,⽅便使⽤。

matlab极坐标绘图函数

matlab极坐标绘图函数

matlab极坐标绘图函数Matlab是一款功能强大的数值计算软件,其中的极坐标绘图功能可以用于绘制各种复杂的极坐标图。

极坐标图是一种特殊的坐标系,它的坐标系原点不是原点,而是圆心。

在Matlab中,有一组特殊的函数,可以实现极坐标绘图的功能。

下面介绍一些Matlab中的极坐标绘图函数。

1. polar:这个函数用于绘制一个极坐标图,并用极轴来绘制线条。

它接受两个参数,分别代表极坐标图中的极轴和线条参数。

它可以用来绘制一些复杂的多边形和折线曲线等。

2. polarplot:这个函数用于绘制极坐标图,并绘制线条,点和曲线等。

它接受三个参数,分别代表极坐标图中的极轴和线条及点参数。

它可以用来绘制一些复杂的曲线和图形,也可以用来比较不同数据点之间的关系。

3. pcolor:这个函数用于绘制一个彩色极坐标图。

它接受两个参数,分别代表极坐标图中的极轴和彩色图。

它可以用来表示复杂彩色图形,并可以将数据与极坐标图联系起来。

4. polarhist:这个函数用于绘制极坐标图上的直方图,接受两个参数,分别代表极坐标图中的极轴和直方图参数。

它可以用来绘制一些统计比较相关的图形,并与极坐标图联系起来。

以上就是Matlab中的极坐标绘图函数,它们能够提供极大的帮助,以绘制出各种复杂的极坐标图形,使用者可以根据需要,选择合适的函数进行绘图。

极坐标图在一定程度上比普通坐标图更容易解决数学统计问题。

例如,极坐标图可以用来识别曲线或函数中的极大值和极小值点,以及相关统计信息。

另外,由于极坐标图可以创建出多边形图形,因此它们也可以用来绘制一些特殊的几何图形,使得数学几何模型更加清晰明了。

此外,Matlab中的极坐标绘图函数还可以与其他绘图函数结合使用,例如,可以使用polarplot函数绘制极坐标图,然后使用Matlab 自带的函数实现曲线拟合。

这样,用户可以通过Matlab自己的函数,将极坐标图转换为普通坐标图,从而更加灵活的探索数据和发现更多的统计规律。

MATLAB画图——基础篇

MATLAB画图——基础篇

MATLAB画图——基础篇MATLAB画图——基础篇在MATLAB使⽤的过程中,学会画图是⼀项必要的技能。

在这⾥,我总结了部分简单的画图函数,同时附上代码(本⽂中的程序为了⽅便给出的数据都很简单,⼤家可以⾃⼰去尝试其他数据)。

这对刚刚开始接触MATLAB的⼩⽩来说,我认为还是很有帮助的。

⽂章⽬录⼀、plot()函数1.⼆维图形(1)绘图选项线型颜⾊标记符号-实线b蓝⾊.点s⽅块:虚线g绿⾊o圆圈d菱形.-点划线r红⾊x叉v朝下三⾓符号-双划线c青⾊+加号^朝上三⾓符号m品红*星号<朝左三⾓符号y黄⾊>朝右三⾓符号p五⾓星k⿊⾊h六⾓星w⽩⾊(2)图形的辅助标注和窗⼝的分割title(图形说明)xlabel(x轴说明)ylabel(y轴说明)text(x,y图形说明)——在x,y轴处添加⽂字说明legend(图例⼀,图例⼆,…)subplot(m,n,p)——将绘图区域分割成m*n个⼦区域,并按照⾏从左⾄ 右,从上⾄下依次编号。

p表⽰第p个绘图⼦区域。

注意:如果是要两个图画到同⼀个坐标⾥⾯,则在两个plot函数之间添加⼀⾏hold on(3)格式plot(x)——缺省⾃变量绘图格式plot(x,y)——基本格式。

以y(x)的函数关系作图。

如果y是n*m的矩 阵,则x为⾃变量,作出m条曲线。

plot(x1,y1,x2,y2,…,xn,yn)——多条曲线绘图格式plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)——含选项的绘图格式x1=[1 2 3 4 5 6 7 8 9];x2=[2 4 6 8 10 12 14 16 18];y1=[1 4 9 16 25 36 49 64 81];y2=[18 16 14 12 10 8 6 4 2];subplot(4,1,1);plot(x1);title('例⼀');xlabel('⾃变量');ylabel('因变量');subplot(4,1,2);plot(x1,y1);title('例⼆');xlabel('⾃变量');ylabel('因变量');subplot(4,1,3);plot(x1,y1,x2,y2);title('例三');xlabel('⾃变量');ylabel('因变量');subplot(4,1,4);plot(x1,y1,'m+',x2,y2,'c*');title('例四');xlabel('⾃变量');ylabel('因变量');2.三维图形(1)格式plot3(x1,y1,z1,‘选项⼀’,x2,y2,z1,‘选项⼆’,…)x,y,z是长度相同的向量:⼀条曲线x,y,z是维度相同的矩阵:多条曲线(2)⽹格矩阵⽣成函数:meshgrid[X,Y]=meshgrid(x,y)x,y是给定的向量,X,Y是⽹格划分后得到的⽹格矩阵注意,这个函数⽤来⽣成⽹格矩阵,不是直接⽤来画图的,配合mesh使⽤。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB函数画图(2)MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。

本节将介绍MA TLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。

plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。

下例可画出一条正弦曲线:close all; x=linspace(0, 2*pi, 100); % 100个点的x座标y=sin(x); % 对应的y座标plot(x,y);====================================================小整理:MATLAB基本绘图函数plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度====================================================若要画出多条曲线,只需将座标对依次放入plot函数即可:plot(x, sin(x), x, cos(x));若要改变颜色,在座标对后面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态(Line style),也是在座标对后面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');====================================================小整理:plot绘图函数的叁数字元颜色字元图线型态y 黄色. 点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线====================================================图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:axis([0, 6, -1.2, 1.2]);此外,MA TLAB也可对图形加上各种注解与处理:xlabel('Input Value'); % x轴注解ylabel('Function Value'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显示格线====================================================我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

====================================================小整理:其他各种二维绘图函数bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形polar 极座标图hist 累计图rose 极座标累计图stairs 阶梯图stem 针状图fill 实心图feather 羽毛图compass 罗盘图quiver 向量场图====================================================以下我们针对每个函数举例。

当资料点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗x=1:10;y=rand(size(x));bar(x,y);====================================================如果已知资料的误差量,就可用errorbar来表示:下例以单位标准差来做资料的误差量:x = linspace(0,2*pi,30);y = sin(x);e = std(y)*ones(size(x));errorbar(x,y,e)====================================================对于变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围====================================================若要产生极座标图形,可用polar:theta=linspace(0, 2*pi);r=cos(4*theta);polar(theta, r);====================================================对于大量的资料,我们可用hist来显示资料的分布情况和统计特性。

下面几个命令可用来验证randn产生的高斯乱数分:x=randn(5000, 1); % 产生5000个?=0,?=1 的高斯乱数hist(x,20); % 20代表长条的个数====================================================rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离:x=randn(1000, 1);rose(x);stairs可画出阶梯图:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);====================================================stems可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);====================================================stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,'b'); % 'b'为蓝色====================================================feather将每一个资料点视复数,并以箭号画出:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);feather(z);==================================================== compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);compass(z);基本XYZ立体绘图命令在科学目视表示(Scientific visualization)中,三度空间的立体图是一个非常重要的技巧。

本章将介绍MATLAB基本XYZ三度空间的各项绘图命令。

mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。

下列命令可画出由函数形成的立体网状图:====================================================x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵mesh(xx, yy, zz); % 画出立体网状图====================================================surf和mesh的用法类似:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵surf(xx, yy, zz); % 画出立体曲面图为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:====================================================要画出此函数的最快方法即是直接键入peaks:peaksz = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...- 1/3*exp(-(x+1).^2 - y.^2)====================================================亦可对peaks函数取点,再以各种不同方法进行绘图~meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);axis([-inf inf -inf inf -inf inf]);====================================================waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);axis([-inf inf -inf inf -inf inf]);====================================================下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');axis([-inf inf -inf inf -inf inf]);====================================================meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);axis([-inf inf -inf inf -inf inf]);====================================================surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);axis([-inf inf -inf inf -inf inf]);====================================================contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);axis([-inf inf -inf inf -inf inf]);====================================================contour画出曲面等高线在XY平面的投影:contour(peaks, 20);====================================================plot3可画出三度空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t);====================================================亦可同时画出两条三度空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos====================================================提供一个MATLAB的下载地址吧,绿色精简版的,5.6/soft/softdown.asp?softid=50629/m/matlab5375M.rar第四章MA TLAB的图视化功能1. MA TLAB的图视化概论数据图视化能使人们用视觉器官直接感受到数据的许多内在本质。

相关文档
最新文档