文档库 最新最全的文档下载
当前位置:文档库 › matlab上机习题6 MATLAB7.0三维绘图

matlab上机习题6 MATLAB7.0三维绘图

matlab上机习题6  MATLAB7.0三维绘图
matlab上机习题6  MATLAB7.0三维绘图

实验六MATLAB7.0三维绘图实验目的:

①掌握绘制三维图能形的方法;

②掌握图形修饰处理方法;

③知道图像处理方法,了解动画制作方法。

实验要求:给出程序和实验结果。

实验内容:

一、绘制三维曲线

sin()

cos()

sin()cos()

x t

y t

z t t t

=

?

?

=

?

?=

?

二、绘制三维曲面图z=sin(x+sin(y))-x/10。

三、绘制z=x2+y2的三维网线图形;

四、绘制三维陀螺锥面;

(仅供参考:

t1=0:0.1:0.9;

t2=1:0.1:2;

r=[t1 -t2+2];

[x,y,z]=cylinder(r,30);

surf(x,y,z);

grid

五、在xy平面内选择区域[-8,8]×[-8,8],利用mesh、meshc、meshz和surf绘

制/

z=

六、绘制光照处理后的球面,取三个不同的光照位置进行比较。(提示:可以利用函数sphere和light)

七、利用peaks产生数据,绘制多峰曲面图。

八.

2

2y

x

xe

z-

-

=,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同

一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。

九绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。

十、用sphere函数产生球表面坐标,绘制不透明网线图、透明网线图、表面图和带剪孔的表面图。

十一、将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。

实验结果:

1

t=0:0.1:10;

x=sin(t);

y=cos(t);

z=t.*sin(t).*cos(t);

plot3(x,y,z)

-1

1

2

[x,y]=meshgrid(0:0.1:10); z=sin(x+sin(y))-x/10; mesh(x,y,z)

10

3

[x,y]=meshgrid(0:0.1:10); z=y.*y+x.*x; mesh(x,y,z)

10

4

t1=0:0.1:0.9; t2=1:0.1:2; r=[t1 -t2+2];

[x,y,z]=cylinder(r,30); surf(x,y,z); grid

-1

1

5

x=-8:0.1:8; y=x;

[x,y]=meshgrid(x,y); m=sqrt(x.^2+y.^2); z=sin(m)./m; subplot(2,2,1); mesh(x,y,z); subplot(2,2,2); meshc(x,y,z); subplot(2,2,3); meshz(x,y,z); subplot(2,2,4); surf(x,y,z);

6

[x,y,z]=sphere(25); subplot(1,2,1);

surf(x,y,z);

axis equal;

light('posi',[0,1,0]); shading interp; hold on;

plot3(0,1,1,'p'); text(0,1,1,'light'); subplot(1,2,2);

surf(x,y,z);

axis equal;

light('posi',[1,0,1]); shading interp; hold on;

plot3(1,0,1,'p'); text(1,0,1,'light');

1

1

7

[x,y,z]=peaks(10); surf(x,y,z)

-4

4

8

[x,y]=meshgrid([-2:0.1:2]); z=x.*exp(-x.^2-y.^2); subplot(2,2,1); plot3(x,y,z) subplot(2,2,2); mesh(x,y,z); subplot(2,2,3); surf(x,y,z); subplot(2,2,4); surf(x,y,z),shading interp

22

2

2

-0.500.5

22

2

2

-0.500.5

9

surf(peaks(30));

30

colormap(hot)

30

colormap(cool)

30

colormap(lines)

30

10

[x,y,z]=sphere(30);

mesh(x,y,z)

-1

1

[x,y,z]=sphere(30); mesh(x,y,z),hidden

off

-1

1

-1

1

-1

1

11 axis square

1

-1

matlab基础练习题带答案

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

2011全国大学生数模竞赛A题三维立体绘图MATLAB代码

2011全国大学生数模竞赛A题 三维立体绘图MATLAB代码及图像 下载两个数据文件保存到MATLAB工作目录中,同时将下面的程序拷贝到一个M文件里面运行即可。 MATLAB代码和数据文件请到这里下载:https://www.wendangku.net/doc/a91497112.html,/thread-19793-1-1.html A题城市表层土壤重金属污染分析 随着城市经济的快速发展和城市人口的不断增加,人类活动对城市环境质量的影响日显突出。对城市土壤地质环境异常的查证,以及如何应用查证获得的海量数据资料开展城市环境质量评价,研究人类活动影响下城市地质环境的演变模式,日益成为人们关注的焦点。 按照功能划分,城区一般可分为生活区、工业区、山区、主干道路区及公园绿地区等,分别记为1类区、2类区、……、5类区,不同的区域环境受人类活动影响的程度不同。 现对某城市城区土壤地质环境进行调查。为此,将所考察的城区划分为间距1公里左右的网格子区域,按照每平方公里1个采样点对表层土(0~10 厘米深度)进行取样、编号,并用GPS记录采样点的位置。应用专门仪器测试分析,获得了每个样本所含的多种化学元素的浓度数据。另一方面,按照2公里的间距在那些远离人群及工业活动的自然区取样,将其作为该城区表层土壤中元素的背景值。 附件1列出了采样点的位置、海拔高度及其所属功能区等信息,附件2列出了8种主要重金属元素在采样点处的浓度,附件3列出了8种主要重金属元素的背景值。 现要求你们通过数学建模来完成以下任务: (1) 给出8种主要重金属元素在该城区的空间分布,并分析该城区内不同区域重金属的污染程度。 (2) 通过数据分析,说明重金属污染的主要原因。 (3) 分析重金属污染物的传播特征,由此建立模型,确定污染源的位置。 (4) 分析你所建立模型的优缺点,为更好地研究城市地质环境的演变模式,还应收集什么信息?有了这些信息,如何建立模型解决问题?

MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,:));plot(x,y) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

matlab例题

五、某公司投资2000万元建成一条生产线。投产后,在时刻t 的追加成本和追加收益分别为3/225)(t t t G ++=(百万元/年),3/218)(t t H -=(百万元/年)。试确定该生产线在何时停产可获最大利润?最大利润是多少? 提示:利用函数?=T G H t R 0t 20-d ))t (-)t (()((百万元),由于H (t )-G (t )单调 下降,所以H (t )=G (t )时,R (t )取得最大利润。 5.解:构造函数f(t)=H(t)-G(t)=13-t-3t 2/3=0 ; 令t 1/3=x,则f(t)=-t 3-3t 2+13 可得矩阵P=[-1,-3,0,13] 求最佳生产时间的源程序如下: p=[-1,-3,0,13]; x=roots(p); t=x.^3 运行结果如下: t = 3.6768 +21.4316i 3.6768 -21.4316i 4.6465 再分别将t 的三个值带入函数f(t),比较大小后,得到最大利润与最佳生产时间。 求最大利润的程序代码如下: ① t=3.6768 +21.4316i; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 25.2583 ② t=3.6768 -21.4316i; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 25.2583 ③ t=4.6465; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 26.3208 比较以上三组数据,可知最佳生产时间t=4.6465年,可获得的最大利润 26.3208(百万元/年)。 clear; close; fplot('18-t^(2/3)',[0,20]);grid on;hold on; fplot('5+t+2*t^(2/3)',[0,20],'r');hold off; %发现t 约为4

matlab三维二维离散曲面画图教程

傅里叶变换 img=imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %img=double(img); f=fft2(img); %傅里叶变换 f=fftshift(f); %使图像对称 r=real(f); %图像频域实部 i=imag(f); %图像频域虚部 margin=log(abs(f)); %图像幅度谱,加log便于显示 phase=log(angle(f)*180/pi); %图像相位谱 l=log(f); subplot(2,2,1),imshow(img),title('源图像'); subplot(2,2,2),imshow(l,[]),title('图像频谱'); subplot(2,2,3),imshow(margin,[]),title('图像幅度谱'); subplot(2,2,4),imshow(phase,[]),title('图像相位谱'); https://www.wendangku.net/doc/a91497112.html,/s/blog_1667198560102wmzu.html 傅里叶变换 I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像 I = rgb2gray(I);%将图像进行灰度处理 J = fft2(I);%将图像实行傅里叶变换 figure,imshow(I);%这里能得到频谱图 J = fftshift(J); figure,imshow(log(abs(J)),[]); %将频谱平移 J(abs(J)<5)=0;%不必要的过滤掉 figure,imshow(log(abs(J)+eps),[]); J = ifftshift(J);K = ifft2(J);figure,imshow(K,[0 255]);%傅里叶逆变换 自己所写的代码 I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像 J = fft2(I); %将图像实行傅里叶变换figure,imshow(I); %这里能得到频谱图 J = fftshift(J); figure,imshow(log(abs(J)),[]); %将频谱平移 J(abs(J)<5)=0; %不必要的过滤掉figure,imshow(log(abs(J)+eps),[]); J = ifftshift(J);K = ifft2(J); ss=real(ifft2(J));sss=uint8(ss);subplot(1,2,2); imshow(sss) figure,imshow(K,[0 255]); %傅里叶逆变换

matlab典型例题

【例】水资源系统规划调度常应用系统分析方法处理,以一个水资源分配问题为例,讨论线性规划问题。例:有甲、乙两个水库同时给A、B、C三个城市供水,甲水库的日供水量为28万m3/d,乙水库的日供水量为35万m3/d,三个城市的日需水量分别为A≥10万m3/d,B≥15万m3/d,C≥20 万m3/d。由于水库与各城市的距离不等,输水方式不同,因此单位水费也不同。各单位水费分别为c11=2000元/万m3、c12=3000元/万m3、c13=4000元/万m3、c21=4500元/万m3、c22=3500元/万m3、c23=3000元/万m3。试作出在满足对三个城市供水的情况下,输水费用最小的方案。

设甲水库向三城市日供水量分别为x ll、x12、x13,乙水库向三城市日供水量分别为x2l、x22、x23。 建立约束条件: x11 + x21 ≥10 x12 + x22 ≥15 x13 + x23 ≥20 x11 + x12 + x13 ≤28 x21 + x22 + x23 ≤35 x11,x12,x13,x21,x22,x23,≥0 目标函数: fmin=c11x11+c12x12+c13x13+c21x21+c22x22+c23x23

这样的问题单纯求解是非常繁琐的,而MLTLAB求解是十分简单的,只要在命令行输入: 》f=[0.2 0.3 0.4 0.45 0.35 0.3]’; 》A=[-1 0 0 -1 0 0;0 -1 0 0 -1 0;0 0 -1 0 0 -1;1 1 1 0 0 0; 0 0 0 1 1 1]; 》B=[-10 -15 -20 28 35]; 》lb=zeros(6,1); 》[X,Zmin]=linprog(f,A,B,[],[],lb,[]) 最后得出x=[10 15 0 0 0 20]万m3,Zmin=12.5万元。

matlab习题

1、标点符号;可以使命令行不显示运算结果,%用来表示该行为注释行。 2、x为0~4pi,步长为0.1pi的向量,使用命令x=0:0.1*pi:4*pi创建。4、输入矩阵A= 错误!未找到引用源。 ,使用全下标方式用A(2,2)取出元素 “-5”,使用单下标方式用A(5)取出元素“-5”。 5、符号表达式sin(2*a+t)+m中独立的符号变量为t。 6、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义。 7. 设x是一维数组,x的倒数第3个元素表示为 ______x(_end-2_)________________;要在x的第36和37个元素之间插入一个元素154,使用的命令(集)为_x=x(_1:36,[154],37:end)_;设y为二维数组,要删除y 的第34行和48列,可使用命令_y(34,:)=[];y(:,48)=[]_; 8. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令__save _x_;将Excel文件data.xls读入WorkSpace并赋值给变量x,可使用命令 _x=xlsread('data.xls')_; 9. 在while表达式,语句体,End 循环语句中,表达式的值__非零__时表示循环 条件为真,语句体将被执行,否则跳出该循环语句; 10. 打开Matlab的一个程序文件fname.m,以添加的方式进行读写,应当使用命 令_fid= fopen('fname.m','w+'); 11.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令__x=input(…Who is she??,?s?)_;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件wt.txt,使用的命令(集)为fid = fopen(…wt.txt?,??,_); fprintf () ;12.设A= 错误!未找到引用源。,和B= 错误!未找到引用源。 和 C=错误!未找到引用源。均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=

实验五MATLAB的基本绘图方法

实验三MATLAB的基本绘图方法 一、实验目的 1.二维平面图形的绘制 2.三维立体图形的绘制 3.隐函数作图 二、实验地点:A404 三、实验日期: 四、实验内容 (一)二维平面图形的绘制 1、Plot的使用方法介绍 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m×n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,…元素为纵坐标值绘制多条曲线。 例1:画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 注:在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MA TLAB 软件专门提供了这方面的参数选项,我们只要在每个坐标后加上相关字符串,就可实现它们的功能。具体参见教材。 2、图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 图形修饰函数表如下: 函数含义 grid on (/off) 给当前图形标记添加(取消)网络 xlable(‘string’) 标记横坐标 ylabel(‘string’) 标记纵坐标 title(‘string’) 给图形添加标题 text(x,y,’string’) 在图形的任意位置增加说明性文本信息 gtext(‘string’) 利用鼠标添加说明性文本信息 axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值 例2、给例1的图形中加入网络和标记。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab 部分实验结果 目录 实验一MATLAB基本操作..................................................................... .......................1 实验二Matlab 编程..................................................................... ...............................5 实验三Matlab 底层图形控制..................................................................... .....................6 实验四控制系统古典分析...................................................................... .......................12 实验五控制系统现代分析..................................................................... . (15) 实验六PID 控制器的设计..................................................................... ......................19 实验七系统状态空间设计...................................................................... .......................23 实验九直流双闭环调速系统仿真..................................................................... . (25) 实验一MATLAB基本操作

matlab总练习题(完整版)

>> vpa('pi',20) ans = 3.1415926535897932385 >> vpa('exp(1)',20) ans = 2.7182818284590452354 >> x=linspace(-pi,pi,21); >> y=sin(x) y = Columns 1 through 6 -0.0000 -0.3090 -0.5878 -0.8090 -0.9511 -1.0000 Columns 7 through 12 -0.9511 -0.8090 -0.5878 -0.3090 0 0.3090 Columns 13 through 18 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 19 through 21 0.5878 0.3090 0.0000 >> k=1:1000; >> kk=1./k; >> kkk=kk./k; >> res=sum(kkk)-(pi^2)/6 res =

-9.9950e-04 %承接上题 >> sum(kk)-log(1000) ans = 0.5777 >> power(1+eps,1/eps) ans = 2.7183 >> a=rand(2,3) a =

0.8147 0.1270 0.6324 0.9058 0.9134 0.0975 >> x=a(1,:) x = 0.8147 0.1270 0.6324 >> y=a(2,:) y = 0.9058 0.9134 0.0975 >> norm(x) ans = 1.0391 >> norm(y) ans = 1.2900 >> acos(dot(x,y)/norm(x)/norm(y)) ans = 0.8189 >> rand(3,3) ans = 0.2785 0.9649 0.9572 0.5469 0.1576 0.4854 0.9575 0.9706 0.8003 >> det(ans) ans =

matble课程论文(MATLAB在三维作图中的应用)

《MATLAB》课程论文 MATLAB在三维作图中的应用 姓名: 学号: 专业: 班级: 指导老师: 学院: 完成日期:

MATLAB在三维作图中的应用 [摘要]MATLAB提供了一系列的绘图函数,用户不仅不许考虑绘图细节,只需给出一些基本的参数就能得到所需要的图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件。其实MATLAB的高层绘图函数都是利用低层绘图函数建立起来的。所以MATLAB的计算准确、效率高、使用快捷等优点常被广泛应用于科学和工程领域. [关键字]MATLAB语言三维图形图像处理绘制 一,问题的提出 MATLAB语言是当前国际学科界应用很广泛的一种软件,强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,利用它强大的图像处理来绘制三维图形既简单而且也很方便。在绘制三维图形的过程中也用到了MATLAB语言的其他功能,绘制三维图形时用到了它提供的一些函数,利用这些函数可以方便的生成一些特殊矩阵,因此可生成一个坐标平面。MATLAB语言强大的功能也在二维三维绘图中的得到了很广泛的应用,利用它所提供的精细的图像处理功能,如MATLAB还提 供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件,还可以对所绘制的三维图形作一个修饰的处理。MATLAB语言具有强大的以图形化显示矩阵和数组的能力,同时它给这些图形增加注释并且可以对图形进行标注和打印。MATLAB的图形技术包括三维的可视化、图形处理、动画等高层次的专业图形的高级绘图,例如图形的光照处理、色度处理以及四维数据的表现等。那么,如何把它强大的功能应用于实际应用中,下面我们将用实例说明MATBLE在三维作图中的应用。 二,MATLAB的主要功能及特点 MATLAB近几年广泛用于图像处理和识别, 使用MATLAB设计模式识别应用软件将使设

实验Matlab三维作图的绘制

实验9 三维绘图 一、实验目的 学会MATLAB软件中三维绘图的方法。 二、实验内容与要求 1.三维曲线图 格式一:plot3(X,Y,Z,S). 说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10. 【例1.79】绘制螺旋线. >>t=0:pi/60:10*pi; >>x=sin(t); >>y=cos(t); >>plot3(x,y,t,’*-b’) >>grid on 图形的结果如图1.16所示. 格式二:comet3(x,y,z). 说明:显示一个彗星通过数据x,y,z确定的三维曲线. 【例1.80】 >>t=-20*pi:pi/50:20*pi; >>comet3(sin(t),cos(t),t) 可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线. 格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色. 图1.16 例1.79图形结果图1.17 例1.81图形结果 【例1.81】

>>X=[2,1,2;9,7,1;6,7,0]; >>Y=[1,7,0;4,7,9;0,4,3]; >>Z=[1,8,6;7,9,6;1,6,1]; >>C=[1,0,0;0,1,0;0,0,1] >>fill3(X,Y,Z,C) >>grid on 图形的结果如图1.17所示. 问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何? 2.三维网格图 格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图. meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图. meshz(X,Y,Z,C) ℅画出带有底座的三维网格图. 说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配. 在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y. 格式:[X,Y]= meshgrid(x,y). 说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值. 【例1.82】 >> x=1:4; >> y=1:5; >> [x,y]=meshgrid(x,y) x = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 y = 1 1 1 1

MATLAB_的两种基本绘图功能:二维平面图形和三维立体图形绘制

本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是 说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m× n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,…元素为纵坐标值绘制多条曲线。 例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实现它们的功能。 表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点< 小于号 m 紫:点线o 圆s 正方形 c 青-. 点划线x 叉号 d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑> 大于号 例如,在上例中输入 >> plot(x,y1,'r+-',x,y2,'k*:')

上机习题6_MATLAB7.0三维绘图

实验六 MATLAB7.0三维绘图实验目的: ①掌握绘制三维图能形的方法; ②掌握图形修饰处理方法; ③知道图像处理方法,了解动画制作方法。 实验要求:给出程序和实验结果。 实验容: 一、绘制三维曲线 sin() cos() sin()cos() x t y t z t t t = ? ? = ? ?= ? 二、绘制三维曲面图z=sin(x+sin(y))-x/10。 三、绘制z=x2+y2的三维网线图形; 四、绘制三维陀螺锥面; (仅供参考: t1=0:0.1:0.9; t2=1:0.1:2; r=[t1 -t2+2]; [x,y,z]=cylinder(r,30); surf(x,y,z); grid ) 五、在xy平面选择区域[-8,8]×[-8,8],利用mesh、meshc、meshz和surf绘 制z= 六、绘制光照处理后的球面,取三个不同的光照位置进行比较。(提示:可以利用函数sphere和 light) 七、利用peaks产生数据,绘制多峰曲面图。 八. 2 2y x xe z- - =,当x和y的取值围均为-2到2时,用建立子窗口的方法在同一 个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。 九绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分

布情况。 十、用sphere函数产生球表面坐标,绘制不透明网线图、透明网线图、表面图和带剪孔的表面图。 十一、将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。 实验结果: (1) (2)

(3) (4)

Matlab绘图-很详细,很全面

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一.二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 一.绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t);

matlab基础练习题(带答案)

Matlab基础练习题 常量、变量、表达式 1、MATLAB中,下面哪些变量名是合法的?() (A)_num (B)num_ (C)num- (D)-num 2、在MATLAB中,要给出一个复数z的模,应该使用()函 数。 (A)mod(z) (B)abs(z) (C)double(z) (D)angle(z) 3、下面属于MATLAB的预定义特殊变量的是?() (A)eps (B)none (C)zero (D)exp 4、判断:在MATLAB的内存工作区中,存放一个英文字符 'a' 需要 占用1个字节,存放一个中文字符‘啊’需要占用2个字节。(错,都是2个字节) 5、判断:MATLAB中,i和j都是虚数单位,它们之间没有什么区别。 (对) 6、判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面 还有很多位小数)

7、在MATLAB中,若想计算的值,那么应该在MATLAB的指令窗中输 入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、在MATLAB中,a = 1,b = i,则a占_8__个字节,b占_16_个字 节,c占________字节。 9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结 果不定)___。 数组 1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有 元素按原来次序的逆序排列输出,应该使用下面的()指令。 (A)X[end:1] (B)X[end:-1:1] (C)X (end:-1:1) (D)X(end:1) 2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应 该使用的MATLAB的命令是()。 (A)class(A) (B)sizeof(A) (C)size(A) (D)isa(A) 3、在MATLAB中,用指令x=1:9生成数组x。现在要把x数组的第二 和第七个元素都赋值为0,应该在指令窗中输入() (A)x([2 7])=(0 0) (B)x([2,7])=[0,0]

最新matlab各种三维绘图及实例

1 Matlab绘制三维图形 2 三维曲线 3 plot3函数与plot函数用法十分相似,其调用格式为: 4 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 5 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。6 当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同7 维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。 8 例绘制三维曲线。 9 程序如下: 10 t=0:pi/100:20*pi; 11 x=sin(t); 12 y=cos(t); 13 z=t.*sin(t).*cos(t); 14 plot3(x,y,z); 15 title('Line in 3-D Space'); 16 xlabel('X');ylabel('Y');zlabel('Z'); 17 18 三维曲面 19 1.产生三维数据 20 在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格21 式为: 22 x=a:d1:b; y=c:d2:d;

23 [X,Y]=meshgrid(x,y); 24 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,25 矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。 26 2.绘制三维曲面的函数 27 surf函数和mesh函数的调用格式为: 28 mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 29 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 30 一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点31 上的高度矩阵,c用于指定在不同高度下的颜色范围。 32 例绘制三维曲面图z=sin(x+sin(y))-x/10。 33 程序如下: 34 [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐35 标 36 z=sin(x+sin(y))-x/10; 37 mesh(x,y,z); 38 axis([0 4*pi 0 4*pi -2.5 1]); 39 此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面40 函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z 41 轴方向的等高线,meshz还在xy平面上绘制曲面的底座。 42 例在xy平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 43 程序如下: 44 [x,y]=meshgrid(-8:0.5:8); 45 z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);

matlab之基本绘图函数

matlab之基本绘图函数 clear:清空内存中的变量; figure:强制生成一个新的个绘图窗口; syms x y t :声明变量; fplot(函数表达式,绘图区间); plot(横坐标向量,纵坐标向量,颜色/线形等参数) ezplot(函数表达式):简单的fplot,easy fplot axis([xmin xmax ymin ymax ...]):设置坐标轴显示范围 求极限 limit: 例:limit(F,x,a,left);对表达式F求极限,变量为x,从左边趋近a。 inf:正无穷; -inf:负无穷。 - 作者:博客论坛成员2005年04月5日, 星期二14:13回复(0)|引用(0)加入博采求解线形方程 solve,linsolve 例: A=[5 0 4 2;1 -1 2 1;4 1 2 0;1 1 1 1]; %矩阵的行之间用分号隔开,元素之间用逗号或空格 B=[3;1;1;0] X=zeros(4,1);%建立一个4元列向量 X=linsolve(A,B) diff(fun,var,n):对表达式fun中的变量var求n阶导数。 例如:F=sym('u(x,y)*v(x,y)'); %sym()用来定义一个符号表达式

diff(F); %matlab区分大小写 pretty(ans) %pretty():用习惯书写方式显示变量;ans是答案表达式 非线性方程求解 fsolve(fun,x0,options) 其中fun为待解方程或方程组的文件名; x0位求解方程的初始向量或矩阵; option为设置命令参数 建立文件fun.m: function y=fun(x) y=[x(1)-0.5*sin(x(1))-0.3*cos(x(2)), ... x(2) - 0.5*cos(x(1))+0.3*sin(x(2))]; >>clear;x0=[0.1,0.1];fsolve(@fun,x0,optimset('fsolve')) 注: ...为续行符 m文件必须以function为文件头,调用符为@;文件名必须与定义的函数名相同;fsolve()主要求解复杂非线性方程和方程组,求解过程是一个逼近过程。 不定积分与定积分 不定积分:int(fun,var) 例:求∫sinaxsinbxsincxdx syms a b c x y=sin(a*x)*sin(b*x)*sin(c*x); int(y,x); pretty(ans) 定积分:int(fun,var,a,b) 其中a,b分别为上下限

相关文档