文档库 最新最全的文档下载
当前位置:文档库 › MATLAB实验六图形绘制

MATLAB实验六图形绘制

MATLAB实验六图形绘制
MATLAB实验六图形绘制

实验6 图形绘制(3)

报告人: 王业成 年级: 机电131 学号: 2013012496 实验日期: 2015.4.27 报告完成日期: 2015.4.27 一、实验名称

图形绘制

二、实验目的:

熟悉MATLAB 的三维图形绘制函数。 三、实验内容:

subplot(2,2,1),sphere(3); title('n=3'),axis equal subplot(2,2,2), sphere(6); title('n=6'),axis equal subplot(2,2,3), sphere(10) title('n=10'),axis equal subplot(2,2,4), sphere(15); title('n=15'),axis equal

n=3

n=6

n=10

n=15

t=linspace(pi/2,3.5*pi,50);R=cos(t)+2; subplot(2,2,1);

cylinder(R,3), title('n=3'); subplot(2,2,2)

cylinder(R,6),title('n=6'); subplot(2,2,3)

cylinder(R),title('n=20') subplot(2,2,4)

cylinder(R,50),title('n=50')

[x,y]=meshgrid(-8:0.5:8,-10:0.5:10); R=sqrt(x.^2+y.^2)+eps; z=sin(R)./R; mesh(x,y,z);

n=3

n=6

n=20

n=50

x=-pi:0.15:pi; y=sin(x); subplot(2,1,1), H=bar(x,y); xx=get(H,'xdata'); yy=get(H,'ydata');

subplot(2,1,2),plot(xx,yy);

四、回答问题:

(回答实验指导书中提出的问题)

五、思考题:

1.试绘制出 2

2

2

2

)1(1)11)y ,x (f z y

x y

x +++

+-==的三维曲面图

和三视图

[x,y]=meshgrid(-1:0.1:1,-1:0.1:1); R=sqrt((1-x.^2)+y.^2)+eps; P=sqrt((1+x.^2)+y.^2)+eps; z=1./R+1./P; subplot(4,1,1) surf(x,y,z);

angle=[0,0;-90,0;0,90]; subplot(4,1,2) surf(x,y,z); z=1./R+1./P; view(angle(1,:)) title('主视图'); subplot(4,1,3) surf(x,y,z); z=1./R+1./P; view(angle(2,:)) title('左视图'); subplot(4,1,4) z=1./R+1./P; surf(x,y,z); view(angle(3,:)) title('俯视图');

2.绘出函数t

2

e t y ,sint x +==的慧星效果图。

x 1015

三维曲线

15主视图

-1

-0.8-0.6-0.4-0.200.2

0.40.60.8115

左视

-1

-0.8-0.6-0.4-0.200.20.40.60.81

俯视图

x=sin(t);

y=t.^2+exp(t);

figure(1)

comet(x,y);

figure(2)

plot(t,x,'k-',t,y,'k--');

title('The curves of x and y')

The curves of x and y

六、遇到的问题及解决:

三视图函数不知道,画有函数分析的图形时,不能确定函数变量的取值范围,在老师的指导下,知道了三视图函数是view,还有视角的情况,对于函数变量的取值范围,多练习多知识积累就可以学好的。

七、体会:

函数很多,但只要多看,多积累就可以很快学到很多知识,在写函数是也可以很快的调用自己想要的函数,还可以相互嵌套使用。

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

实验七 图形与多媒体处理

实验七图形与多媒体处理 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与MyEclispe6.5 【实验目的】 1.熟悉图形、图像的使用方法, 2.理解计算机动画的原理和Java 的多线程处理机制,能够编写Applet 中使用的动画。 【实验要求】 1.掌握使用图形类Graphics 画出不同图形的方法。 2.掌握在容器中输入图像、播放音乐的方法。 3.理解计算机动画原理,掌握图形双缓冲技术,能够设计计算机动画。 4.理解多线程机制,掌握线程的使用方法。 【实验内容】 一.使用图形类Graphics 在Java 中基本图形包括点、线、圆、矩形等,是构成复杂图形的基础。绘制基本图形要使用AWT包中的Graphics 类,它提供了各种基本图形的绘制方法,可以直接引用这些方法画点、线、圆、矩形等。1.创建在Applet 上画出不同的图形的程序 (1)程序功能:在Applet 上使用不同的颜色画出直线、圆、方块、圆弧等图形。 (2)编写LX7_1.java 程序文件,源代码如下。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color;

public class LX7_1 extends Applet { public void paint(Graphics g) { g.drawLine(10,10,50,10);//画线(确定两点) g.setColor(Color.red);//设置红颜色 g.drawOval(35,35,100,60);//画椭圆(圆心、宽和高) g.fillOval(200,15,60,100);//画具有填充色的圆 g.setColor(Color.blue);//设置蓝颜色 g.drawRect(20,130,80,80);//画矩形 g.fillRect(120,130,80,80);//画具有填充色的矩形 g.drawRoundRect(220,130,80,80,20,20);//画圆角矩形 g.fillRoundRect(320,130,80,80,20,20);//画具有填充色的圆角矩形 g.setColor(new Color(255,255,0)); //设置黄颜色 g.drawArc (250,20,100,100,0,90); g.fillArc (380,20,100,100,90,90); g.fillArc (300,25,100,100,180,90); g.drawArc (330,25,100,100,0,-90); } } (3)编译程序LX7_1.java。 (4)编写显示LX7_1.class 的页面文件,在浏览器中显示结果如图7.1 所示

Matlab 特殊图形和高维可视化

Matlab 特殊图形和高维可视化 2009-10-20 01:06 7.4 特殊图形和高维可视化 7.4.1 特殊图形指令例示 7.4.1.1 面域图area 【* 例7.4.1 .1-1 】面域图指令area 。该指令的特点是:在图上绘制多条曲线时,每条曲线(除第一条外)都是把“前”条曲线作基线,再取值绘制而成。因此,该指令所画的图形,能醒目地反映各因素对最终结果的贡献份额。注意:( 1 )area 的第一输入宗量是单调变化的自变量。第二输入宗量是“各因素”的函数值矩阵,且每个“因素”的数据取列向量形式排放。第三输入宗量是绘图的基准线值,只能取标量。当基准值为0 (即以x 轴为基准线)时,第三输入宗量可以缺省。(2 )本例第<4> 条指令书写格式x' , Y' ,强调沿列方向画各条曲线的事实。 clf;x=-2:2 % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5] % 各因素的相对贡献份额 Cum_Sum=cumsum(Y) % 各曲线在图上的绝对坐标 area(x',Y',0) %<4> legend(' 因素A',' 因素B',' 因素C'),grid on,colormap(spring) x = -2 -1 0 1 2 Y = 3 5 2 4 1 3 4 5 2 1 5 4 3 2 5 Cum_Sum = 3 5 2 4 1 6 9 7 6 2 11 13 10 8 7

图 7.4.1 .1-1 面域图表现各分量的贡献 7.4.1.2 各种直方图bar, barh, bar3, bar3h 【 * 例 7.4.1 .2-1 】二维直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。本例选其两种加以表现。 x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar(x',Y','stacked') % “累计式”直方图 xlabel('x'),ylabel('\Sigma y'),colormap(cool)% 控制直方图的用色legend(' 因素 A',' 因素 B',' 因素 C') subplot(1,2,2),barh(x',Y','grouped') % “分组式”水平直方图 xlabel('y'),ylabel('x') 图 7.4.1 .2-1 二维直方图 clf;x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar3(x',Y',1) % “队列式”直方图 xlabel(' 因素 ABC'),ylabel('x'),zlabel('y') colormap(summer) % 控制直方图的用色 subplot(1,2,2),bar3h(x',Y','grouped') % “分组式”水平直方图 ylabel('y'),zlabel('x')

MATLAB全部实验及答案

MATLAB全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (1)设A=15;B=20;求C=A+B与c=a+b? (2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与 A.*B? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那 个是虚数矩阵,后面那个出错 (6)请写出完成下列计算的指令: a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=? a^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

(完整版)Matlab实验7图形绘制

实验7:图形绘制 一、实验目的 1、 掌握绘制二维图形的常用函数。 2、 掌握绘制三维图形的常用函数。 3、 掌握绘制图形的辅助操作。 二、实验内容 1、 已知2*13),2cos(2,12 y y y x y x y ===,完成下列操作: (1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。 %homework_7_1_1.m x=0:pi/100:2*pi; y1=x.*x; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'r--',x,y2,'k:',x,y3,'b-.'); (2) 以子图形式绘制三条曲线。 %homework_7_1_2.m x=0:pi/100:2*pi; y1=x.*x; y2=cos(2*x); y3=y1.*y2; subplot(2, 2, 1); plot(x,y1,'r--'); subplot(2, 2, 2); plot(x,y2,'k:'); subplot(2, 2, 3); plot(x,y3,'b-.'); (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 %homework_7_1_3.m %ì?D?í??¢?×ìYí??¢??í?oíì?3?í? x=0:pi/100:2*pi; y1=x.*x; y2=cos(2*x); y3=y1.*y2; %μúò?DD subplot(4, 3, 1); bar(x,y1,'r'); subplot(4, 3, 2); bar(x,y2,'k'); subplot(4, 3, 3); bar(x,y3,'b'); %μú?tDD

stairs(x,y1,'r'); subplot(4, 3, 5); stairs(x,y2,'k'); subplot(4, 3, 6); stairs(x,y3,'b'); %μúèyDD subplot(4, 3, 7); stem(x,y1,'r'); subplot(4, 3, 8); stem(x,y2,'k'); subplot(4, 3, 9); stem(x,y3,'b'); %μú??DD subplot(4, 3, 10); fill(x,y1,'r'); subplot(4, 3, 11); fill(x,y2,'k'); subplot(4, 3, 12); fill(x,y3,'b'); 2、 绘制极坐标曲线)sin(θρn b a +=,并分析参数a ,b ,n 对曲线形状的影响。 %homework_7_2.m function homework_7_2(a,b,n) theta=0:0.01:2*pi; rho=a.*sin(b+n.*theta); polar(theta,rho,'k'); %homework_7_2_tiao.m % a μ?ó°?ì subplot(3, 4, 1); homework_7_2(1,1,1) subplot(3, 4, 2); homework_7_2(2,1,1) subplot(3, 4, 3); homework_7_2(3,1,1) subplot(3, 4, 4); homework_7_2(4,1,1) % b μ?ó°?ì subplot(3, 4, 1); homework_7_2(1,1,1) subplot(3, 4, 2); homework_7_2(1,2,1) subplot(3, 4, 3); homework_7_2(1,3,1)

Matlab图形绘制经典案例

Matlab图形绘制经典案例 1、 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on

2、一窗口多图形>> t=-2*pi:0.01:2*pi; >> subplot(3,2,1)

>> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t))

3、图形样式、标注、题字(也可以利用菜单直接Insert) >> x=0:pi/20:2*pi;

>> plot(x,sin(x),'b-.') >> hold on >> plot(x,cos(x),'r--') >> hold on >> plot(x,sin(x)-1,'g:') >> hold on >> plot(x,cos(x)-1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1'); >> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 = 2.0893 y1 = -0.5000 >> gtext('x=2.5') %鼠标定位放置所需的值在线上

Matlab实验五分支结构程序设计答案

实验五分支结构程序设计 实验内容 (1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear >> format long g s=input('s=') n=fix(log10(s)); A=0; for i=1:n a=fix(s/10^n); x=fix(mod(s,10^i)/10.^(i-1)); A=A+x*10^(n+1-i); end A+a s=693 s = 693 ans = 396 (2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现 2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息 If语句 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理');

elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩98 a = 98 A 成绩合理 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理'); elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩148 a = 148 成绩错误 switch语句 >> a=input('输入成绩') switch a; case num2cell(0:59) disp('E 成绩合理'); case num2cell(60:69) disp('D 成绩合理'); case num2cell(70:79) disp('C 成绩合理'); case num2cell(80:89) disp('B 成绩合理'); case num2cell(90:100) disp('A 成绩合理'); otherwise disp('成绩错误'); end

MATLAB)课后实验答案

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 012 2sin 851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+= ++=--L (4) 22 42011 122123t t z t t t t t ?≤

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22 E R RS A O S +?? =???? 。 解: M 文件如下; 5. 下面是一个线性方程组: 1 231 1 12340.951110.673450.5211145 6x x x ?? ??????????????=??? ?????????????????? ? ch = 123d4e56g9

(1) 求方程的解。 (2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下: 实验三 选择结构程序设计 1. 求分段函数的值。 2226035605231x x x x y x x x x x x x ?+-<≠-? =-+≤<≠≠??--? 且且及其他 用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。 解:M 文件如下:

实验二 matlab图形绘制

实验二matlab图形绘制 一、实验目的 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 二、实验原理 1.二维数据曲线图 (1)绘制单根二维曲线plot(x,y); (2)绘制多根二维曲线plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列 元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn) (4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2) 2.图形标注与坐标控制 1)title (图形名称) 2)xlabel(x轴说明) 3)ylabel(y轴说明) 4)text(x,y图形说明) 5)legend(图例1,图例2,…) 6)axis ([xmin xmax ymin ymax zmin zmax]) 3.图形窗口的分割 subplot(m,n,p) 4.三维曲线 plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)

5.三维曲面 mesh(x,y,z,c) 与surf(x,y,z,c)。一般情况下,x ,y ,z 是维数相同的矩阵。X ,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 三、实验内容及步骤 1.绘制下列曲线: (1) 2 1100 x y += x=0:0.02:10; y=100./(1+x.^2); plot(x,y) title('my first plot'); xlabel('x'); ylabel('y'); grid on 截图:

Matlab实验第一次实验答案

实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

MATLAB实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

实验七 图形、文本和位图

实验七图形、文本和位图 一实验内容 练习第7章的例Ex_Draw,Ex_Icon,Ex_Cursor 二实验步骤 例Ex_Draw课程的成绩分布直方图 1.创建工作文件夹Ex_Draw 2.在View类中添加一个成员函数DrawScore,用于根据成绩来绘制直方图,该函数代码 如下: void CEx_DrawView::DrawScore(CDC *pDC, float *fScore, int nNum) { int nScoreNum[]={0,0,0,0,0}; for(int i=0;iSelectObject(&brush1); CPen *oldPen=pDC->SelectObject(&pen); CRect rcSeg(rc); rcSeg.right=rcSeg.left+nSegWidth; CString strSeg[]={"<60","60-70","70-80","80-90",">=90"); CRect rcStr; for(i=0;i

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

实验三 MATLAB绘图(含实验报告)

实验三 MATLAB 绘图 一、实验目的 1.掌握二维图形的绘制。 2.掌握图形的标注 3.了解三维曲线和曲面图形的绘制。 二、实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 设计提示 1.Matlab 允许在一个图形中画多条曲线:plot(x1,y1,x2,y2,……)指令绘制y 1 = f 1(x 1), y 2 = f 2 (x 2 )等多条曲线。Matlab 自动给这些曲线以不同颜色。标注可用text 函数。 2.绘图时可以考虑极坐标和直角坐标的转换。 3.三维曲线绘图函数为plot3,注意参考帮助中的示例。 三、实验内容 1.生成1×10 维的随机数向量a ,分别用红、黄、蓝、绿色绘出其连线图、杆图、阶梯图和条形图,并分别标出标题“连线图”、“杆图”、“阶梯图”、“条形图”。 2、绘制函数曲线,要求写出程序代码。 (1) 在区间[0:2π]均匀的取50个点,构成向量t (2) 在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号。 (3) 分别在靠近相应的曲线处标注其函数表达式。 3.将图形窗口分成两个绘图区域,分别绘制出函数: ???+-=+=1 35 22 21x x y x y 在[0,3]区间上的曲线,并利用axis 调整轴刻度纵坐标刻度,使1y 在[0,12]区间上,2y 在[-2,1.5]区间上。 4.用mesh 或surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的

取值范围设为[-3,3]。 10102 2y x z + -= 思考题: 1. 编写一个mcircle(r)函数,调用该函数时,根据给定的半径r ,以原点 为圆心,画一个如图所示的红色空心圆。(图例半径r=5);左图参考 polar 函数的用法,右图绘制圆形的参数方程为x=sin (t ),y=cos (t )。其中,t 的区间为0~2*pi ,步长为0.1。 2.(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。 (2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。

matlab实验内容答案

实验报告说明: matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。 第一次实验内容: 实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MA TLAB 的方法。 2.熟悉MA TLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MA TLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。 (1)2 2sin 8511z e ?= + (2 )12ln(2 z x =+ ,其中2120.45 5i +? ? =? ?-?? (3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02 a a e e z a a --= +=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 (4)2 2 2 01 41 1221 23 t t z t t t t t ?≤

12344347873657A -????=??????,131203327B -???? =????-?? 求下列表达式的值: (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 12345678910111213141516171819202122232425A ????????=????????, 30 161769 23497041311B ?? ?? -?? ??=-?? ????? ? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MA TLAB 工作空间使用情况。 4.完成下列操作: (1)求[100,999]之间能被21整除的数的个数。 提示:先利用冒号表达式,再利用find 和length 函数。 (2)建立一个字符串向量,删除其中的大写字母。 提示:利用find 函数和空矩阵。 第二次实验内容: 实验三 选择结构程序设计 一、实验目的 1. 掌握建立和执行M 文件的方法。 2. 掌握利用if 语句实现选择结构的方法。 3. 掌握利用switch 语句实现多分支选择结构的方法。 4. 掌握try 语句的使用。 二 、实验内容

matlab所有实验及答案

实验二 习题 1、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵?? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) 2、 建立一个数值范围为0—100内4*5的整数随机矩阵。 求出大于50的元素的位置。 解:命令为: G=int8(100*rand(4,5)) find(G>50) 3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B 4、 利用函数产生3*4阶单位矩阵和全部元素都为8的 4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B 5、 创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

7 实验七 图形用户界面的设计与实现

实验八图形用户界面的设计与实现 一、实验目的 1.掌握图形界面设计。 2.掌握常用GUI控制组件及其事件处理。 二、实验内容(任选3个) 1.编程包含一个标签和一个按钮,单击按钮时,标签的内容在"你好"和"再见"之间切换。 2.编程包含一个文本框和一个文本区域,文本框内容改变时,将文本框中的内容显示在文本区域中;在文本框中按回车键时,清空文本区域的内容。 3. 试设计一个窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依此循环。 4.设计一个窗口,窗口中包含有一个文本框,一个标签,两个按钮,当按下“文本一”按纽时,使得Hello java!显示在文本框中,按下“文本二”按纽时,使得“你好Java!”显示在文本框中(要求两个按纽之间使用网格布局,与其他组件共使用Frame默认布局管理)。 5.试设计一个窗口,窗口界面如下图。包含Style菜单、Color菜单和Exit菜单,Style菜单设计字体的样式(包括Plane、Bold、Italic),Color(红、绿、蓝、自定义)菜单设计字体的颜色、Exit菜单(CloseWindow)退出系统。 6.编程包含一个复选按钮和一个普通按钮,复选按钮选中时,普通按钮的背景色为青色,未选中时为灰色。 7.编程包含一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为"普通"、"黑体"和"斜体"。选择文本标签为"普通"的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为"黑体"的单选按钮时,普通按钮中的文字的字体为黑体,选择文本标签为"斜体"的单选按钮时,普通按钮中的文字的字体为斜体。

MATLAB实验题目及答案

实验二一维二维数组的创建和寻访 一、实验目的 1、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

相关文档