用matlab画频谱图如何画一个三维透明图

  这学期公选课选的是MATLAB,所以准备把这学期所学习的整理到博客上,作为记录,哇咔咔~
一、三维函数图:
x=cos(t), y=sin(t), z=t
%0&t &4*pi
t=0:0.001:4*
%t的取值范围
x=cos(t);y=sin(t);z=t;
plot3(x,y,z)
xlabel('x轴'),ylabel('y轴'),zlabel('z轴')
%为坐标轴加上标签
%为图像加上网格
  三维函数的绘制一般使用plot3()函数,其三个基本参数是三个参数函数,第四个参数可以改变函数的颜色,或者虚实线,如plot3(x, y, z, 'r:'),其绘制的函数图像则为红色虚线的,上述脚本的运行结果如下:
&二、三维饼图:
pie3([4 3 6 8 9])
&  直接调用上述脚本既可以绘制出一个饼图,如果这样调用pie3([4 3 6 8 9], [0 0 1 0 0]),则在第二个向量中值为1的部分会在饼图中以突出的方式显示,上述脚本运行结果如下:
三、绘制空间多边形:
y1=rand(3,5);
y2=rand(3,5);
y3=rand(3,5);
fill3(y1,y2,y3,'m');
plot3(y1,y2,y3,'yo')
  首先rand(3, 5)产生了一个3 * 5 的随机数矩阵,上述脚本中先产生了y1,y2, y3三个3 * 5 的随机矩阵,其中
  A = ( y1[0][0], y2[0][0],y3[0][0] ),
  & B = ( y1[1][0], y2[1][0], y3[1][0] ), &&
& & & C = ( y1[2][0], y2[2][0], y3[2][0] )
& & 分别是第一个三角形的三个顶点,其他以此类推。所以fill3(y1,y2,y3,'m'); 共产生了5个三角形,并以粉色填充,plot3(y1,y2,y3,'yo')语句是在每个三角形的顶点加上黄色的小圈,而由于之前加上了 所以前面的粉色三角形不会被覆盖,运行效果如下:
四、三维网格图:
  1、mesh()函数生成网格图:
h2=[1 1;1 -1]
h4=[h2 h2;h2 -h2]
h8=[h4 h4;h4 -h4]
  上面由迭代生成一个8*8的矩阵,即:
&  mesh()函数以矩阵的下标为x,y坐标,生成一个网格图,运行效果如下:
  2、meshgrid()函数:
[A,B]= meshgrid(a,b)
  上述生成了A,B两个矩阵:
  命令等效于:A=ones(size(b))*a; &B=b'*ones(size(a))
  3、利用meshgrid()函数和mesh()函数生成网格图:
x=-5:5; y=x;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2 ;
mesh(X,Y,Z)
  上述脚本先使用meshgrid()函数生成11 * 11的矩阵,再使用mesh()生成网格图;
五、三维曲面图:
  首先三维曲面图和三维网格图不同,其区别有: 
    (1)网线图:线条有颜色,内部是无颜色
    (2)曲面图:线条是黑色的,内部有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化)
  1、使用peak()函数: 
   为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:&
z = 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)
  2、surfc()函数:
[X,Y,Z]=peaks(20);
surfc(X,Y,Z)
  上述脚本先调用peaks()函数,再使用surfc()函数便可得出下列图形:
  3、colormap()函数:
    &matlab 的颜色数据集合为红、绿、蓝三颜色矩阵 [R,G,B],维数m&3,R,G,B在[0 1]区间连续取值,理论上颜色种类可达无穷多种,然后我们使用colormap()就可以设置图像颜色,如colormap([0.5 0.7 0.8]),当然,matlab也有常用颜色数据,见下表:  
jet && 饱和值色图II
hsv && 饱和值色图
gray && 线性灰度色图
hot && 暖色色图
cool && 冷色色图
bone && 兰色调灰色图
copper && 铜色色图
pink && 粉红色图
prism && 光谱色图
flag && 红、白、蓝交替色图
   &如我们调用 就可得到相应的线性灰度色图。
六、图像修饰方法:
  1、shading:
  我们可以使用colormap()函数进行颜色的修饰,还可以使用shading来控制表面和块等图形对象颜色的渲染:
[X,Y,Z]=sphere(50);
surfc(X,Y,Z)
colormap cool
shading interp
axis equal&
  上述脚本中,我们画了一个球:
  shading有多种选项,常用为:faceted /&flat /&interp, 等等。
  //To Be Continued.
阅读(...) 评论()您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
经典教程---matlab三维图形的绘制.pdf 35页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
经典教程---matlab三维图形的绘制
你可能关注的文档:
··········
··········
第十八章 三维图形
为了显示三维图形,MATLAB提供了各种各样的函数。有一些函数可在三维空
间中画线,而另一些可以画曲面与线格框架。另外,颜色可以用来代表第四维。当
颜色以这种方式使用时,由于它不再象照片中那样显示信息的自然属性 色彩,而
且也不是基本数据的内在属性,所以它称作伪彩色。为了简化对三维图形的讨论,
对颜色的介绍推迟到下一章。在这一章,主要讨论绘制三维图形的基本概念。
18.1 函数plot3
plot3命令将绘制二维图形的函数plot的特性扩展到三维空间。函数格式除了包
括第三维的信息(比如 方向)之外,与二维函数
一般语法调用
plot3(x ,y ,z ,S ,x ,y ,z ,S , ) x ,y
和 是向量或矩阵, 是可选的字
符串,用来指定颜色、标记符号和或线形。/
总的来说,plot3可用来画一个单变量的三维函数。如下为一个三维螺旋线例子:
>>t=0:pi/50:10*
>>plot3(sin(t),cos(t),t)
>>title(‘ Helix ‘ ),xlabel(‘ sint(t) ‘ ),ylabel( ‘ cos(t) ‘ ),zlabel( ‘ t ‘ )
>>text(0,0,0, ‘ Origin ‘ )
输出见图18.1.
图18.1 螺旋线图
从上例可明显看出,二维图形的所有基本特性在三维中仍都存在。
只是返回 轴界限( 和 ),在数轴向量中增加两个元素。函数
z轴的数据名称,函数grid在图底绘制三维网格。函数test(x,y,z, ‘ string ‘ )在由三
维坐标x,y,z所指定的位置放一个字符串。另外,子图和多图形窗口可以直接应用到
三维图形中。
在最后一章可以看到,通过指定plot命令的多个参量或使用hold命令,可以把
多条直线或曲线重叠画出。plot3以及其它的三维图形函数都可以提供相同的能力。
例如,增加维数的plot3命令可以使多个二维图形沿一个轴排列起来,而不是直接
将二维图形叠到另一个的上面。
>>x=linspace(0,3*pi); % x-axisdata
>>z1=sin(x); % plotinx-zplane
>>z2=sin(2*x);
>>z3=sin(3*x);
>>y1=zeros(size(x)); % spreadoutalongy-axis
>>y3=zeros(size(x)); % bygivingeachdiffenty-axisvalues
>>y2=y3/2;
>>plot3(x,y1,z1,x,y2,z2,x,y3,z3);
>>grid,xlabel( ‘ x-axis ‘ ),ylabel( ‘ y-axis ‘ ,abel( ‘ z-axis ‘ )
>>title( ‘ sin(x),sin(2x),sin(3x) ‘ )
输出见图18.2.
图18.2 正弦曲线图
上述图形也可以沿另外方向
正在加载中,请稍后...豆丁微信公众号
君,已阅读到文档的结尾了呢~~
matlab-三维曲面的自动绘制,matlab绘制三维曲面,matlab三维曲面拟合,matlab画三维曲面图,matlab画三维曲面,matlab 三维曲面,matlab三维曲面图,matlab绘制曲面,matlab绘制三维图,matlab绘制三维散点图
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
matlab-三维曲面的自动绘制
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口只需一步,快速开始
扫一扫,访问微社区
查看: 2362|回复: 6|关注: 0
MATLAB怎么画三维立体图
<h1 style="color:# 麦片财富积分
新手, 积分 14, 距离下一级还需 36 积分
想用搜集好的34个散点图画出三维立体图,如图
clc,clear
load tjbz.txt
x=tjbz(:,1);
y=tjbz(:,2);
z=tjbz(:,3);
y1=vpa(y,14);
x1=vpa(x,14);
[x2,y2]=meshgrid(x1,y1);
z1=griddata(x1,y1,z,x2,y2,'v4');%插值
figure,surf(x2,y2,z1)%三维曲面
semilogy(x2,y2,z1);复制代码
画出的差别太大,应该怎么修改
论坛优秀回答者
关注者: 82
你说差别大,有什么依据?
<h1 style="color:# 麦片财富积分
本帖最后由 小小电炉 于
13:39 编辑
把图发上去了,差别很大
<h1 style="color:# 麦片财富积分
我程序画出来就是这样的
MATLAB 基础讨论版块优秀回答者
<h1 style="color:#6 麦片财富积分
关注者: 46
你没数据 ,没法看
<h1 style="color:# 麦片财富积分
你没数据 ,没法看
x& && && && && && && && && && && && && && & y& && && && && && && && && &&&z
117.15& &&&39.00& && & 6
117.00& && &&&39.60& && && &6
117.00& && &&&39.90& && && &2
117.00& && &&&39.40& && && &2
117.00& && &&&39.20& && && &15
117.00& && &&&39.30& && && &0
117.00& && &&&39.50& && && &5
117.00& && &&&39.00& && && &4
117.00& && &&&39.60& && && &3
117.00& && &&&39.30& && && &0
117.00& && &&&39.00& && && &0
117.00& && &&&39.10& && && &7
117.00& && &&&39.40& && && &0
117.00& && &&&39.50& && && &0
117.00& && &&&117.00& && && &0
117.00& && &&&39.90& && && &0
117.00& && &&&39.50& && && &2
117.00& && &&&39.50& && && &0
117.00& && &&&39.50& && && &0
117.00& && &&&39.00& && && &0
117.00& && &&&39.20& && && &0
117.00& && &&&39.60& && && &1
117.00& && &&&39.60& && && &0
117.00& && &&&39.20& && && &0
117.00& && &&&39.10& && && &1
117.00& && &&&39.80& && && &1
117.00& && &&&39.60& && && &1
117.00& && &&&39.50& && && &1
117.00& && &&&39.40& && && &1
117.00& && &&&39.20& && && &1
117.00& && &&&39.50& && && &1
117.00& && &&&39.20& && && &0
117.00& && &&&39.10& && && &5
是因为我数据的问题吧,以上那个图应该要大量并且相近的点是么
MATLAB 基础讨论版块优秀回答者
<h1 style="color:#6 麦片财富积分
关注者: 46
好像z范围不行。。应该使用griddata函数可以试下。
本帖最后由
20:52 编辑
你数据维度不行。不过也能画出来。。。
x=a;y=b;z=c;
%scatter(x,y,5,z)%散点图
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值
%pcolor(X,Y,Z);shading interp%伪彩色图
%figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z)%三维曲面
shading interp
站长推荐 /3
Simulink工具定制实现高效模型验证
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区如何采用MATLAB画出一个三维曲面函数的图_百度经验
&&&&&&&&&电脑软件如何采用MATLAB画出一个三维曲面函数的图听语音12345
百度经验:jingyan.baidu.com在我们对函数进行分析的过程中,往往需要要画出一个空间函数的图片,但是MATLAB是一种数值计算的好手,但对与符号运算很少有人用,其实也是可以采用符号运算的了,下面小编一个画出一个空间函数z=exp(x)+exp(-y);为例来说明如何画这种曲面。百度经验:jingyan.baidu.comMATLAB软件win7系统百度经验:jingyan.baidu.com1打开MATLAB软件,如图所示,采用的是2012a版本的,也可以使用其他版本的;2建立两个符号变量,如图所示;代码如下:3输入我们的的函数,在MATLAB中敲入自己要画的函数,代码如下:z=exp(x)+exp(-y);4接着,输入画图指令,和要变量的范围,其中x和y的取值范围都是-1到1;代码:ezsurf(z,[-1 1 -1 1]);5查看画图的结果,看看是不是可以了。END百度经验:jingyan.baidu.com如有疑问可以留言分享可以使我们懂得更多经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(2)已投票(2)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验0161800热门杂志第1期你不知道的iPad技巧3803次分享第1期win7电脑那些事6656次分享第2期新人玩转百度经验1418次分享第1期Win8.1实用小技巧2661次分享第1期小白装大神1941次分享◆请扫描分享到朋友圈}

我要回帖

更多关于 matlab patch 透明 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信