Matlab基本绘图 您所在的位置:网站首页 matlab画图两个图 Matlab基本绘图

Matlab基本绘图

2023-06-22 14:03| 来源: 网络整理| 查看: 265

解析

1.

A=rand(4,5); %取一个4*5的矩阵备用 B=0; %初始化B矩阵为0 for i=1:2 for j=1:5 %设置两次循环来遍历矩阵 if A(i,j)>0.3 B = [B,A(i,j)]; %判断题目条件并对矩阵递增 end end end B(:,[1])=[]; %因为所取得第一列为0,所得矩阵要删掉他。使用B(:,[x])=[];指的是删除第x列 %B([x],:)=[];指的是删除第x行

2.

x = linspace(0,2*pi,125); %使用linspace生成线性间距向量 %y = linspace(x1,x2) 返回包含 x1 和 x2 之间的 100 个等间距点的行向量。 %y = linspace(x1,x2,n) 生成 n 个点。这些点的间距为 (x2-x1)/(n-1)。 %linspace 类似于冒号运算符“:”,但可以直接控制点数并始终包括端点。“linspace”名称中的“lin”指示生成线性间距值而不是同级函数 logspace,后者会生成对数间距值。 y = cos(0.5+3*sin(x)./(1+x.^2)); %函数 plot(x,y) %绘图

结果

 3.

z=-45:0.01:45; %取z的取值范围 x=z.*sin(3.*z); y=z.*cos(3.*z); %写出函数 plot3(x,y,z) %plot3用来画出三维点或线图

结果

 

plot3(X,Y,Z) 绘制三维空间中的坐标。 

要绘制由线段连接的一组坐标,请将 X、Y、Z 指定为相同长度的向量。

要在同一组坐标轴上绘制多组坐标,请将 X、Y 或 Z 中的至少一个指定为矩阵,其他指定为向量。

 plot3(X,Y,Z,LineSpec) 使用指定的线型、标记和颜色创建绘图。

plot3(X1,Y1,Z1,...,Xn,Yn,Zn) 在同一组坐标轴上绘制多组坐标。使用此语法作为将多组坐标指定为矩阵的替代方法。

plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn) 可为每个 XYZ 三元组指定特定的线型、标记和颜色。您可以对某些三元组指定 LineSpec,而对其他三元组省略它。例如,plot3(X1,Y1,Z1,'o',X2,Y2,Z2) 对第一个三元组指定标记,但没有对第二个三元组指定标记。

plot3(___,Name,Value) 使用一个或多个名称-值对组参数指定 Line 属性。在所有其他输入参数后指定属性。有关属性列表,请参阅 Line 属性。

plot3(ax,___) 在目标坐标区上显示绘图。将坐标区指定为上述任一语法中的第一个参数。

p = plot3(___) 返回一个 Line 对象或 Line 对象数组。创建绘图后,使用 p 修改该绘图的属性。有关属性列表,请参阅 Line 属性。

4. 

x=-2:0.1:2; y=-2:0.1:2; %写出下x,y的定义域 [X,Y]=meshgrid(x,y); %meshgrid用来表述二维或者三维网格 %[X,Y] = meshgrid(x,y) 基于向量 x 和 y 中包含的坐标返回二维网格坐标。 %X 是一个矩阵,每一行是 x 的一个副本;Y 也是一个矩阵,每一列是 y 的一个副本。 %坐标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列。meshgrid(列,行) Z=X.^2.*exp(-X.^2-Y.^2); surf(Z) %画出空间曲面

若为三维,则有[X,Y,Z] = meshgrid(x,y,z) 返回由向量 x、y 和 z 定义的三维网格坐标。X、Y 和 Z 表示的网格的大小为 length(y)×length(x)×length(z)(行*列*高)。

结果

 5.

x=-2:0.1:2; y=-2:0.1:2; [X,Y]=meshgrid(x,y);%同上 z= X.^2*exp(-X.^2-Y.^2); z1=0.05.*X-0.05.*Y+0.1; surf(z);hold on;surf(z1) &使用surf画出z之后,hold on表示在添加新绘图时保留上图,再使用surf画z1

结果

 ps:

plot3 三维曲线图;

mesh 三维网格图;

meshc 除了生成网格图外,还在xy平面生成曲面的等高线;

meshz 除了生成网格图外,还在曲线下面加上个矩形垂帘;

surf   三维着色曲面图;

surfc  同时画出三维着色曲面图与等高线;

surfl   带光照的三维着色曲面图。

6.

n=2; t=0:pi/20:2*pi; x=cos(t); >> >> a=0; y=sin(n*t+a); subplot(2,2,1); %使用subplot划分成2*2区域,根据a的值的不同进行画图 plot(x,y); >> a=pi/3; y=sin(n*t+a); subplot(2,2,2); plot(x,y); >> a=pi/2; y=sin(n*t+a); subplot(2,2,3); plot(x,y); >> a=pi; y=sin(n*t+a); subplot(2,2,4); plot(x,y);

subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。MATLAB® 按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区。

结果

 7.

res=[]; for i=1:40 if(isprime(feibonaqi(i))==true) %isprime(x) 返回与 X 大小相同的逻辑数组。如果 X 为质数,则 isprime(x) 的值为 true。否则,值为 false。 res=[res,feibonaqi(i)]; end end res %脚本文件 function a=feibonaqi(n) if n==1 a=1; return end if n==2 a=2; return else a=feibonaqi(n-1)+feibonaqi(n-2); return end end %使用feibonaqi函数来判断是否为质数。

结果

res =

     2           3           5          13          89         233        1597       28657            514229

8. 

n = 1:20; f = arrayfun(@fibonacci, n); %@表示函数句柄,用arrayfun使得@fibonacci与n一一对应。 semilogy(n, f, 'o-'); %对数画图自动将f转化为ln(f),效果等同于plot(n,log(f),'o-'); p=polyfit(n,log(f),1); %使用最小二乘法将多项式拟合,所得到的第一个值为曲线斜率 slope=p(1) %脚本 function f = fibonacci(n) if n == 1 || n == 2 f = 1; else f = fibonacci(n-1) + fibonacci(n-2); %用函数递归写出斐波那契数列 end

结果

 

slope =

    0.4782



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有