Matlab如何画3维网状图

Matlab如何画3维网状图,第1张

对于这种不规则的数据,一般有两种方法。一种是用trimesh画三角网格,一种是用griddata先生成网格点的数据再画网格图。至于数据导入,文本文件有load、textread、dlmread等,Excel用xlsread,具体用法可以自己看help。

假设文本文件testtxt的数据如下:

42156 0 265

42176 015 266

42195 020 278

42214 025 264

42233 025 266

42252 024 267

42271 018 265

4229 025 265

4231 053 271

42329 019 265

42348 023 267

42367 027 265

42386 025 265

42405 008 264

42424 005 267

42443 014 267

42462 019 267

42482 025 266

42501 023 268

4252 025 272

42539 043 265

42558 036 270

42577 025 266

下面是程序:

%读入数据

A=load('testtxt');

%三角网格

plot3(A(:,1),A(:,2),A(:,3),'ro');

hold on;

tri = delaunay(A(:,1),A(:,2));

trimesh(tri,A(:,1),A(:,2),A(:,3))

%生成网格上的数据,再画网格图

figure;

plot3(A(:,1),A(:,2),A(:,3),'ro');

hold on;

[x,y]=meshgrid(linspace(421,426,50),linspace(0,6,50));

z = griddata(A(:,1),A(:,2),A(:,3),x,y);

mesh(x,y,z)

使用gplot函数,很容易就能画出图 gplot(A,XY); A是邻接矩阵,大小是nxn,(n个节点的邻接矩阵) XY是各点的坐标,是nx2的矩阵,存放n个点的x,y坐标 gplot会连根据A连接点

数学实验MATLAB迭代可视化问题,即蜘蛛网图。蜘蛛网图主要反映迭代计算x0,y0,x1,y1,······的一系列变化过程。利用蜘蛛网图求解分式线性函数的不动点,可以按照下列思路求解。

第一步:将分式线性函数(第二问),以迭代的方式,写出迭代式,即

y(k)=(x(k)+m^2)/(x(k)+m)

第二步:利用迭代的遍历性,自定义迭代函数,即func(m,x0,k,n),其中m——分式线性函数中的系数, x0——迭代初值,k——第k步开始迭代,n——第n步结束迭代

第三步:确定m,x0,k,n值。如m=1;x0=01;k=1;n=100。

第四步:执行func(m,x0,k,n)函数,得到图解

最后,根据上述思路编程,运行可以得到如下结果。运行结果表明,当m=1时,该分式线性函数的不动点y=1;当m=05时,该分式线性函数的不动点y=080902。

通过对膨胀 *** 作使用最小值填充和对腐蚀 *** 作使用最大值填充,可以有效地消除边界效应(输出图像靠近边界处的区域与图像其它部分不连续)。

否则,如果腐蚀 *** 作使用最小值进行填充,则进行腐蚀 *** 作后,输出图像会围绕着一个黑色边框。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12175309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存