实验二MATLAB绘图

实验二MATLAB绘图
实验二MATLAB绘图

实验二MATLAB绘图

一.实验目的

掌握matlab二维图形和三维图形的绘制方法,并会对图形进行处理,掌握符号函数(显函数、隐函数和参数方程)的画图,掌握空间曲线和空间曲面的绘图,会对所绘图形进行加格栅,图例和标注等一些简单的处理.

二.实验原理与方法

(一).曲线图:

Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.命令格式为:plot(x,y,s)

其中x,y分别表示所取点集的横纵坐标,s指定线型及颜色.缺省时表示画的是蓝色实线.Plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn)

表示将多条线画在一起.

例在[0,2*pi]用红线画sin(x),用绿圈画cos(x). 解:x=linspace(0,2*pi,30);

y=sin(x);

z=cos(x);

plot(x,y,’r’,x,z,’g o’)

所得图形如下图所示

(二)符号函数(显函数、隐函数和参数方程)画图

(1) ezplot

ezplot(‘f(x)’,[a,b])

表示在a

ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])

表示在区间xmin

ezplot(‘x(t)’,’y(t)’,[tmin,tmax])

表示在区间tmin

例在[0,pi]上画y=cos(x)的图形

解输入命令:ezplot(‘sin(x)’,[0,pi])

例 在[0,2*pi]上画t x 3cos =,t y 3sin =星形图

解 输入命令:ezplot(‘cos(t).^3’,’sin(t).^3’,[0,2*pi])

例 在[-2,0.5],[0,2]上画隐函数0)sin(=+xy e x 的图

解 输入命令:ezplot('exp(x)+sin(x.*y)',[-2,0.5,0,2])

(2) fplot

格式:fplot(‘fun’,lims)

表示绘制字符串fun 指定的函数在lims=[xmin,xmax]的图形

注意:

[1] fun 必须是M 文件的函数名或是独立变量为x 的字符串.

[2] fplot 函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。 例 在[-1,2]上画)3sin(22x e y x +=的 图形

解 先建M 文件myfun1.m :function Y=myfun1(x)

Y=exp(2*x)+sin(3*x.^2)

再输入命令:fplot(‘myfun1’,[-1,2])

例 在[-2,2]范围内绘制函数tanh 的图形

解 fplot(‘tanh’,[-2,2])

例 x 、y 的取值范围都在[-π2,π2],画函数tanh(x),sin(x),cos(x)的图形

解 输入命令: fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1 1 –1 1])

(三)对数坐标图

在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog 函数可以实现双对数坐标转换,用semilogx 和semilogy 函数可以实现单轴对数坐标转换

loglog() 表示 x 、y 坐标都是对数坐标系

semilogx() 表示 x 坐标轴是对数坐标系

semilogy(…) 表示y 坐标轴是对数坐标系

plotyy( ) 有两个y 坐标轴,一个在左边,一个在右边例 用方形标记

创建一个简单的loglog

解 输入命令:

x=logspace(-1,2);

loglog(x,exp(x),’-s’)

grid on %标注格栅.

例 创建一个简单的半对数坐标图

解 输入命令:

x=0:.1:10;

semilogy(x,10.^x)

(四)三维曲线

命令格式: plot3(x,y,z,s)

n 维向量,分别表示曲线上点集的横坐标、纵坐标、函数值.

s 指定颜色、线形等

例 在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t),z=t.

解 t=0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

(五)三维网格图

格式:mesh(x,y,z) %画出三维网格图

meshc(x,y,z) %画出等高线的三维网格图.

Meshz(x,y,z) %画出带有底座的三维网格图.

说明:若x 与y 均为向量,若n=length(X),m=length(y),则 Z 必须为行数和列数分别为m,n 的矩阵,空间中的点(x(j),y(i),z(i,j))为所画曲面网线的交点,x 对应z 的列,y 对应z 的行.

在三维作图中常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y 平面上的矩形定义域中数据点矩阵X 和Y,其命令格式为:

[X,Y]=meshgrid(x,y)

例 画函数Z=(X+Y).^2的图形.

解:x=-3:0.1:3;

y=1:0.1:5;

[X,Y]=meshgrid(x,y);

Z=(X+Y).^2;

例:绘出带有等高线的马鞍面22

225

4y x z -= 解:从命令窗口输入如下命令

x=-8:8;

y=-8:8;

[X,Y]=meshgrid(x,y);

Z=X.^2/4^2-Y.^2/5^2;

Meshc(X,Y,Z)

(六).三维曲面图

格式:surf(X,Y,Z) %绘出三维曲面图

surfc(X,Y,Z) %绘出带有等高线的三维曲面图.

说明:surf 同mesh 命令的用法和格式相同,不同之处在于所得图形是一个彩色曲面而非彩色网格

例:使用surf 命令绘制马鞍面22

225

4y x z -= (七).三维旋转曲面图

格式:[x,y,z]=cylinder(r,n)

说明:返回高度为1的旋转曲面x,y,z 轴的坐标,旋转轴为Z 轴,向量r 指定母线到z 轴的距离,旋转曲面的圆周有指定的n 个距离相同的点,用户可以用命令surf 或mesh 画出其图像. 例,绘制一个旋转抛物面60/)(2

2y x z +=

解:z=0:20;

r=(60*z).^(1/2);

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

mesh(x,y,z)

(八).三维球面图

格式:[x,y,z]=sphere(n)

说明:生成三维直角坐标系中的单位球体坐标,该单位球体有n n ?个面.该命令并未画图,只是返回坐标矩阵,用户可用surf(x,y,z)或mesh(x,y,z)画图.

例:[x,y,z]=sphere(50);

mesh(x,y,z);

(九).等高线图

格式一: contour(x,y,z,n)

说明:(x,y)是平面z=0上点的坐标矩阵,z 为相应点的高度值矩阵,等高曲线是一个平面曲线,n 为等高线条数.

例: [X,Y] = meshgrid(-2:.2:2,-2:.2:3);

Z = X.*exp(-X.^2-Y.^2);

contour(X,Y,Z,4)

格式二: clabel(C,h)

说明:在从命令contour 生成的二维等高线结构C 的位置上添加标签h.

例 [X,Y] = meshgrid(-2:.2:2,-2:.2:3);

Z = X.*exp(-X.^2-Y.^2);

[c,h]=contour(X,Y,Z,4);

clabel(c,h)

格式三.contour3(x,y,z,n)

说明:用x 和y 定义x 轴和y 轴的范围,画出由矩阵Z 确定的n 条等高线的三维图. 例 [X,Y] = meshgrid(-2:.2:2,-2:.2:3);

Z = X.*exp(-X.^2-Y.^2);

Contour3(X,Y,Z,8)

(十)处理图形

1.在图形上加格栅、图例和标注

格式:grid on: 加格栅在当前图上

grid off: 删除格栅

xlabel(string): 在当前图形的x轴上加图例stringylabel(string): 在当前图形的y轴上加图例stringzlabel(string): 在当前图形的z轴上加图例

stringzlabel(string): 在当前图形的z轴上加图例string

title(string): 在当前图形的顶端上加图例string

例在区间[0,2*pi]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”, 并加格栅

解 x=linspace(0,2*pi,30);

y=sin(x);

plot(x,y)

xlabel('自变量X')

ylabel('函数Y')

title('示意图')

grid on

2、定制坐标

格式:Axis([xmin, xmax, ymin, ymax])

Axis([xmin, xmax, ymin, ymax, zmin, zmax])

其中输入参数分别表示x、y、z的最大、最小值

Axis auto 将坐标轴返回到自动缺省值

axis equal 或axis(‘equal’) x轴和y轴的单位长度相同

axis square 或axis(‘square’)图框呈方形

axis off 或axis(‘off’)清除坐标刻度

例 x = 0:.025:pi/2;

plot(x,tan(x),'-ro')

axis([0 pi/2 0 5])

注意图形变化

3、图形保持

(1) hold on 保持当前图形, 以便继续画图到当前图上 hold of 释放当前图形窗口

例将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。

解 x=linspace(0,2*pi,30);

y=sin(x);

z=cos(x)

plot(x,z)

hold on

plot(x,y)

(2).figure(h)

新建h 窗口,激活图形使其可见,并把它置于其它图形之上

例 区间[0,2*pi]新建两个窗口分别画出y=sin(x);z=cos(x)。

解 x=linspace(0,2*pi,100);

y=sin(x);z=cos(x);

plot(x,y); %默认画在figure No1中

title('sin(x)');

figure(2); %激活新的图形窗口No.2

plot(x,z); %在图形窗口No.2中作图

title('cos(x)');

4、分割窗口

subplot(mrows,ncols,thisplot) 划分整个作图区域为mrows*ncols 块, 并激活第thisplot 块,其后的作图语句将图形画在该块上.

subplot(1,1,1) 返回非分割状态例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。解x=linspace(0,2*pi,100);

y=sin(x); z=cos(x);

a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps)

subplot(2,2,1);plot(x,y), title('sin(x)')

subplot(2,2,2);plot(x,z),title('cos(x)')

subplot(2,2,3);plot(x,a),title('sin(x)cos(x)')

subplot(2,2,4);plot(x,b),title('sin(x)/cos(x)').

三.实验内容

1.使用subplot 在]30,0[内分别绘出下列函数的图像(采样点均为100个),使得使得四个图像分别按左上,左下,右上,右下的顺序在同一窗口中排列,并对每一个图形分别加以标注,指明该曲线所表示的函数。

x x y x x y x x y x y 222sin ,sin ,sin ,sin ====

2. 使用mesh 画出下列方程式的曲面图

)ex p(cos 2.0),(22y x y x y x f --+=

其中,x 的 21 个值均匀分布在 [-2*pi, 2*pi] 范围,y 的 31 值均匀分布在 [-pi, pi]。

3. 绘制圆锥面222y x z +=图

4.绘制山区地貌图要在某山区方圆大约27平方公里范围内修建一条公路,从山脚出发经过一个居民区,再到达一个矿区。横向纵向分别每隔400米测量一次,得到一些地点的高程:(平面区域0<=x<=5600,0<=y<=4800),需作出该山区的地貌图和等高线图。

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); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

MATLAB基础教程 薛山第二版 课后习题答案

《MATLAB及应用》实验指导书《MATLAB及应用》实验指导书 班级:T1243-7 姓名:柏元强 学号:20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 MATLAB语言基础 (1) 实验04051002 MATLAB科学计算及绘图 (18) 实验04051003 MATLAB综合实例编程 (31)

实验04051001 MATLAB语言基础 1实验目的 1)熟悉MATLAB的运行环境 2)掌握MATLAB的矩阵和数组的运算 3)掌握MATLAB符号表达式的创建 4)熟悉符号方程的求解 2实验内容 第二章 1.创建double的变量,并进行计算。 (1)a=87,b=190,计算 a+b、a-b、a*b。 clear,clc a=double(87); b=double(190); a+b,a-b,a*b (2)创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。 clear,clc a=uint8(87); b=uint8(190); a+b,a-b,a*b 2.计算:

(1) () sin 60 (2) e3 (3) 3cos 4??π ??? clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4) 3.设2u =,3v =,计算: (1) 4 log uv v (2) () 2 2 e u v v u +- (3) clear,clc u=2;v=3; a=(4*u*v)/log(v) b=((exp(u)+v)^2)/(v^2-u) c=(sqrt(u-3*v))/(u*v) 4.计算如下表达式: (1) ()() 3542i i -+ (2) () sin 28i - clear,clc (3-5*i)*(4+2*i) sin(2-8*i)

Matlab程序设计与应用第二版刘卫国课后实验答案

. 实验一: T1: %%第一小题 z1=2*sin(85*pi/180)/(1+exp(2)) %%第二小题 x=[2,1+2i;-0.45,5]; z2=1/2*log(x+sqrt(1+x.^2)); z2 %%第三小题 a=-3.0:0.1:3.0; z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+ 0.3)+log((0.3+a)/2) %%第四题 t=0:0.5:2.5 z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t .^2-1)+(t>=2&t<3).*(t.^2-2*t+1) T2: A=[12,34,-4;34,7,87;3,65,7] B=[1,3,-1;2,0,3;3,-2,7] disp ('A+6*B='); disp(A+6*B); disp('A-B+I=');disp(A-B+eye(3)); disp('A*B='); disp(A*B); disp('A.*B='); disp(A.*B); disp('A^3='); disp(A^3); disp('A.^3='); disp(A.^3); disp('A/B='); disp(A/B); disp('B\A='); disp(B\A); disp('[A,B]='); disp([A,B]); disp('[A([1,3],:);B^2]='); disp([A([1,3],:);B^2]); T3: z=1:25; A=reshape(z,5,5)'; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; C=A*B

教你如何用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向量即可输出曲线:

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

matlab图形处理工具

1、matlab函数bwareaopen──删除小面积对象 格式:BW2 = bwareaopen(BW,P,conn) 作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。 算法: (1)Determine the connected components. L = bwlabeln(BW, conn); (2)Compute the area of each component. S = regionprops(L, 'Area'); (3)Remove small objects. bw2 = ismember(L, find([S.Area] >= P)); 2、matlab函数bwarea──计算对象面积 格式:total = bwarea(BW) 作用:估计二值图像中对象的面积。 注:该面积和二值图像中对象的像素数目不一定相等。 3、matlab函数imclearborder──边界对象抑制 格式:IM2 = imclearborder(IM,conn) 作用:抑制和图像边界相连的亮对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。 注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures. 算法: (1)Mask image is the input image. (2)Marker image is zero everywhere except along the border, where it equals the mask image. 4、matlab函数bwboundaries──获取对象轮廓 格式:B = bwboundaries(BW,conn)(基本格式) 作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。 5、matlab函数imregionalmin──获取极小值区域 格式:BW = imregionalmin(I,conn) 作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。 Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value. 6、matlab函数bwulterode──距离变换的极大值 格式:BW2 = bwulterode(BW,method,conn)

MATLAB程序设计及应用(第二版)课后实验答案

Matlab 课后实验题答案 实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221 ln(1)2z x x = ++,其中2120.45 5i x +??=??-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 22 42011 122123t t z t t t t t ?≤=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 2. 已知:

1234413134787,2033657327A B --???? ????==???? ????-???? 求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A (5) [A,B]和[A([1,3],:);B^2] 解: M 文件: A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*B A-B+eye(3) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 解:. 运算结果: E=(reshape(1:1:25,5,5))';F=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; C= E*F H=C(3:5,2:3) C = 93 150 77

MATLAB程序设计与应用(第二版)刘卫国主编_部分实验答案

实验六 2_1 clear; x=linspace(0,2*pi,101); y1=x.^2; y2=cos(2.*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'g-.'); %y1蓝色实线,y2红色虚线,y3绿色点画线 2_2 subplot(2,2,1); %分四个子图(先画2行2列第1块) plot(x,y1); subplot(2,2,2); plot(x,y2), subplot(2,2,3); plot(x,y3);

2_3 () subplot(3,4,1); %y1的四种图形bar(x,y1); subplot(3,4,2); stairs(x,y1), subplot(3,4,3); stem(x,y1); subplot(3,4,4); fill(x,y1,'b'); subplot(3,4,5); %y2 bar(x,y2); %条形图subplot(3,4,6); stairs(x,y2), %阶梯图subplot(3,4,7); stem(x,y2); %杆图subplot(3,4,8);

fill(x,y2,'b'); %填充图,注意必须加填充颜色 subplot(3,4,9); %y3 bar(x,y3); subplot(3,4,10); stairs(x,y3), subplot(3,4,11); stem(x,y3); subplot(3,4,12); fill(x,y3,'b'); 3 clear; x=-5:0.1:5; if x<=0 y=(x+sqrt(pi)/exp(2)); else y=0.5.*log(x+sqrt(1+x.^2));

Matlab绘图功能

第五章Matlab绘图功能 5.1 二维图形的绘制 5.1.1 常用的二维图形绘图函数 基本的二维绘图函数有 plot ——绘制2维曲线; title ——给图形加标题; grid ——显示网格线; xlabel ——给x轴加标记; ylabel ——给y轴加标记; text ——在坐标图中加入文字注释。 π的曲线图。 例:画出函数x =,其中x从0到π2步进100 yπ2 sin / X=0:pi/100:2*pi; Y=sin(X); plot(X,Y); % 作图 grid on; % 网格线显示,若该为grid off则不显示网格 ylabel('y=sin 2\pi x'); % Y轴标注,可以有汉字 xlabel('x'); % X轴标注,可以有汉字 title('function plot y=sin 2\pi x'); % 图标题 text(0.5,sin(0.5),'\leftarrow sin 2 \pi 0.5'); % text()可以在指定坐标处写文字标注 text(2.3,sin(2.3),'\leftarrow sin 2 \pi 2.3'); % 所有标注中均可使用汉字 % 对于特殊符号,如希腊字母,箭头等需要采用LaTeX格式 结果如图5.1 所示。

图5.1 基本的二维绘图函数用法 5.1.2 图形的线型和颜色控制 在命令plot的高级用法中,可以设置作图的线型,标记类型,线和标记的颜色,粗细等特征。用命令doc LineSpec和doc plot可以查询详细的帮助文档。 线型的定义如下: - solid line (default) 实线 -- dashed line 虚线 : dotted line 虚点连线 -. dash-dot line 点划线 常用标记的定义为: + plus sign 十字标记 o circle 小圈标记 * asterisk 星号标记 . point 黑点标记

Matlab程序设计与应用第二版刘卫国课后实验答案

实验一: T1: %%第一小题 z1=2*sin(85*pi/180)/(1+exp(2)) %%第二小题 x=[2,1+2i;-0.45,5]; z2=1/2*log(x+sqrt(1+x.^2)); z2 %%第三小题 a=-3.0:0.1:3.0; z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+l og((0.3+a)/2) %%第四题 t=0:0.5:2.5 z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t >=2&t<3).*(t.^2-2*t+1) T2: A=[12,34,-4;34,7,87;3,65,7] B=[1,3,-1;2,0,3;3,-2,7] disp ('A+6*B='); disp(A+6*B); disp('A-B+I='); disp(A-B+eye(3)); disp('A*B='); disp(A*B); disp('A.*B='); disp(A.*B); disp('A^3='); disp(A^3); disp('A.^3='); disp(A.^3); disp('A/B='); disp(A/B); disp('B\A='); disp(B\A); disp('[A,B]='); disp([A,B]); disp('[A([1,3],:);B^2]='); disp([A([1,3],:);B^2]); T3: z=1:25; A=reshape(z,5,5)'; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; C=A*B D=C(3:5,2:3) T4-1: a=100:999; b=find(rem(a,21)==0); c=length(b) T4-2: a=input('请输入一个字符串:','s'); b=find(a>='A'&a<='Z'); a(b)=[]; disp(a); 实验二: T1: E=eye(3),R=rand(3,2),O=zeros(2,3),S=diag([1,2 ]); A=[E,R;O,S] disp('A^2='); disp(A^2); disp('[E,R+RS;O,S^2]'); B=[E,R+R*S;O,S^2] T2: H=hilb(5) P=pascal(5) Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P) a=abs(Th-1); b=abs(Tp-1); if a>b disp('帕萨卡矩阵P性能更好'); elseif a

matlab plot画图

转)plot 画图 默认分类 2009-04-30 16:38:02 阅读116 评论0字号:大中小 第五讲计算结果的可视化 本节介绍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),我们只要在每个坐标后加上相关字符串,就可实 现它们的功能。 - 2 - 表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*:')

matlab中画图的时各种设置

MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图 功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 第一节图形窗口与坐标系 一.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的 句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已 打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗 口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜 单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属 性. 二.坐标系 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指 定坐标系句柄值. 6.一些有关坐标轴的函数: 1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不 合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定; 29 2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出 来,为隐去坐标系,可用axis off;axis on则显示坐标轴 (缺省值). 3)通常MATLAB的坐标系是长方形,长宽比例大约是4:3,为了得到一个 正方形的坐标系可用:axis square 4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例 的坐标系,可用:axis equal 第二节二维图形的绘制 一. plot函数

东北大学MATLAB实验参考答案

《MATLAB 语言与应用》实验课程任务书 一、 实验教学目标与基本要求 上机实验是本课程重要的实践教学环节;实验的目的不仅仅是验证理论知识,更重要的是通过上机实验,加强学生的实验手段与实践技能,掌握应用MATLAB 语言求解问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。 上机实验共8学时。主要实验内容是基于理论课所学知识对课后典型习题进行MATLAB 求解,基本掌握常见数学问题的求解方法与命令调用,更深入地认识和了解MATLAB 语言强大的计算功能。 上机实验最终以书面报告的形式提交,并作为期末成绩考核内容的一部分。 二、 实验内容(8学时) 第一部分MATLAB 语言编程、科学绘图与基本数学问题求解(4学时) 主要内容:掌握MATLAB 语言编程基础、科学绘图方法、微积分问题、线性代数问题等基本数学问题的求解与应用。 { 练习题: 1、安装MATLAB 软件,应用demo 命令了解主要功能,熟悉基本功能,会用help 命令。 2、用MATLAB 语句输入矩阵A 和B ?? ??????? ???=14 23 143212344321 A , ? ? ??? ? ??? ???++++++++++++++++=4j 11j 43j 22j 34j 11j 42j 33j 24j 13j 22j 31j 41j 42j 33j 24j 1B 前面给出的是44?矩阵,如果给出5)6,5(=A 命令将得出什么结果 Input { A=[1,2,3,4;4,3,2,1;2,3,4,1;3,2,4,1]; B=[1+4j,2+3j,3+2j,4+1j;4+1j,3+2j,2+3j,1+4j;2+3j,3+2j,4+1j,1+4j;3+2j,2+3j,4+1j,1+4j]; A(5,6)=5

MATLAB的绘图功能

四MATLAB的绘图功能 视觉是人们感受世界、认识自然最重要的途径。人们很难直接从一大堆原始的离散数据中体会到它们的含义,用数据画出图形却能使人们用视觉器官直接感受到数据的许多内在本质。 MA TLAB一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能。MA TLAB作为一个优秀的科技软件,在数据可视化方面也有上乘表现。MA TLAB可以给出数据的二维、三维乃至四维的图形表现。通过对图形线型、立面、色彩、渲染、光线、视角等的控制,可把数据的特征表现得淋漓尽致。MA TLAB提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。MA TLAB的图形功能很强,不但可以绘制一般函数的图像,而且可以绘制专业图形,如饼图、条形图等。 在本章介绍如何创建二维、三维图形及其控制输出的方法。 1.1 基本绘图函数 MA TLAB提供多个函数用于绘制图形,以向量或矩阵作为输入参数,绘制它们的图像。下面的列出了基本绘图函数。 表6-1基本绘图函数

1.2 二维图形的绘制 1.2.1 绘制二维图形的一般步骤 为了让读者对绘制图形的过程有一个宏观的了解,在这里先介绍绘制二维图形的一般步骤,具体细节将在后面的章节中进行展开。 绘制二维图形的一般步骤如下: (1)数据的准备:选定所要表现的范围 产生自变量采样向量 计算相应的函数值向量 典型指令:x=0:pi/100:2*pi; (2)选定图形窗及其子图的位置: 缺省时,打开Figure No.1,或当前窗,当前子图 可用指令指定图形窗号和子图号 典型指令:figure(1)%指定1号图形窗 subplot(2,2,2)%指定2号子团 (3)调用(高层)绘图指令:线型、色彩、数据点形 典型指令:plot(x,y,’-ro’)%用红色实线画曲线,其数据点类型为o (4)设置轴的范围与刻度、坐标分格线 典型指令:axis([0,inf,-1,1])%设置坐标轴的范围 grid on %画坐标分格线 (5)图形注释,包括:图名、坐标名、图例、文字说明等 典型指令:title(‘专家系统’)%图名 xlabel(‘’);ylabel(’y’)%轴名 legend(’sinx’,‘cosx‘)%图例 text(2,1,’y=sinx‘)%文字说明 (6)打印:图形窗上的直接打印选项或按键 利用图形后处理软件打印 采用图形窗选项或按键打印最简捷。 步骤1,3是最基本的绘图步骤。至于其他步骤,并不完全必须。 1.2.2 plot函数的调用格式 在二维曲线的绘图命令中,函数plot是最基本,最重要的二维图形命令,其它许多绘图命令都是在它的基础上形成的。 下面介绍plot的使用方法: 调用格式1plot(x,y) 功能绘制二元组x、y的曲线图形。 说明这里x为横坐标,y为纵坐标。若x、y是同规模的向量,则绘制一条曲线。 若x是向量而y是矩阵,则绘制多条曲线,它们具有相同的横坐标数据。 若x、y都是矩阵,则以它们对应的列构成二元组,绘制多条曲线。 调用格式2plot(y)

MATLAB程序设计与应用(第二版)实验参考答案

MATLAB程序设计与应用(第二版)实验参考答案 %实验一MATLAB运算基础 %第一题ftp://192.168.0.143/ %(1) z1=2*sin(85*pi/180)/(1+exp(2))ftp://192.168.0.143/ %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2))ftp://192.168.0.143/ %(3) a=-3.0:0.1:3.0;ftp://192.168.0.143/ z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3) %第二题 A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; A+6*B A-B+eye(size(A)) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] %第三题 A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] C=A*B F=size(C) D=C(F(1)-2:F(1),F(2)-1:F(2)) whos %第四题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl';

MATLAB程序设计及应用(第二版)课后实验答案

。 Matlab课后实验题答案 《 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2) 21 ln( 2 z x =,其中 212 0.455 i x + ??=?? -?? (3) 0.30.3 3 0.3 sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22 a a e e a z a a - -+ =++=--

(4) 22 42011 122123t t z t t t t t ?≤

) 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果:

(完整word版)MATLAB程序设计及应用(第二版)课后实验答案

Matlab课后实验题答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2) 21 ln( 2 z x =+,其中 212 0.455 i x + ??=?? -?? (3) 0.30.3 3 0.3 sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22 a a e e a z a a - -+ =++=--L (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:0.5:2.5 2. 已知:

1234413134787,2033657327A B --???? ????==???? ????-???? 求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A (5) [A,B]和[A([1,3],:);B^2] 解: 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果: (2). 建立一个字符串向量 例如: ch='ABC123d4e56Fg9';则要求结果是: 实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33 322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩

Matlab数学实验第二版课后习题答案

Matlab数学实验第二版课后习题答案 胡良剑 第一章 %Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) %Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 %Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) T = 11.5813 %Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) fmin = -1.3907 %最小值 min_index = 54 %最小值点编址 >> x(min_index) ans = 0.6500 %最小值点 >> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点 f1 = 0.0328 x1_index =

24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500 %Page20,ex5 >> z=magic(10) z = 92 99 1 8 15 67 74 51 58 40 98 80 7 14 16 73 55 57 64 41 4 81 88 20 22 54 56 63 70 47 85 87 19 21 3 60 62 69 71 28 86 93 25 2 9 61 68 75 52 34 17 24 76 83 90 42 49 26 33 65 23 5 82 89 91 48 30 32 39 66 79 6 13 95 97 29 31 38 45 72 10 12 94 96 78 35 37 44 46 53 11 18 100 77 84 36 43 50 27 59 >> sum(z) ans = 505 505 505 505 505 505 505 505 505 505 >> sum(diag(z)) ans = 505 >> z(:,2)/sqrt(3) ans = 57.1577 46.1880 46.7654 50.2295 53.6936 13.8564 2.8868 3.4641