MATLAB)课后实验问题详解[1]

MATLAB)课后实验问题详解[1]
MATLAB)课后实验问题详解[1]

实验一 MATLAB 运算基础

1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0

12

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.022a a e e a

z a a --+=

++=--

(4) 2242011

122123t t z t t t t t ?≤

=-≤

,其中t =0:0.5:2.5 解:

4. 完成下列操作:

(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果:

(2). 建立一个字符串向量例如:

ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理

1. 设有分块矩阵33322322E R A O S ??????

=?

???

,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证2

2

E R RS A O S +??

=????

。 解: M 文件如下;

5. 下面是一个线性方程组:

1

231

1

12340.951110.673450.521114

5

6x x x ??

??????????????=???

???????????????????

(1) 求方程的解。

(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下:

123d4e56g9

实验三 选择结构程序设计

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 文件如下:

2. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E。

要求:

(1) 分别用if语句和switch语句实现。

(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。解:M文件如下

3. 硅谷公司员工的工资计算方法如下:

(1) 工作时数超过120小时者,超过部分加发15%。

(2) 工作时数低于60小时者,扣发700元。

(3) 其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。解:M文件下

实验四循环结构程序设计

1. 根据

2

2222

1111

6123n

π

=++++,求π的近似值。当n分别取100、1000、10000

时,结果是多少?

要求:分别用循环结构和向量运算(使用sum函数)来实现。

解:M文件如下:

运行结果如下:

2. 根据

111

1

3521

y

n

=++++

-

,求:

(1) y<3时的最大n值。

(2) 与(1)的n值对应的y值。解:M—文件如下:

3. 考虑以下迭代公式:

1n n

a

x b x +=

+ 其中a 、b 为正的学数。

(1) 编写程序求迭代的结果,迭代的终止条件为|x n+1-x n |≤10-5,迭代初值x 0=1.0,迭代次数不超过500次。

(2) 如果迭代过程收敛于r ,那么r 的准确值是242

b b a

-±+,当(a,b)的值取(1,1)、

(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。

解:

M 文件如下:

运算结果如下;

5. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间:

(1) 亲密数对的对数。

(2) 与上述亲密数对对应的所有亲密素数之和。

解:

M文件:

实验五 函数文件

4. 设2411

()(2)0.1(3)0.01

f x x x =

+-+-+,编写一个MATLAB 函数文件fx.m ,使得

调用f(x)时,x 可用矩阵代入,得出的f(x)为同阶矩阵。

解: 函数fx.m 文件: function f= fx(x)

%fx fx 求算x 矩阵下的f(x)的函数值 A=0.1+(x-2).^2; B=0.01+(x-3).^4; f=1./A+1./B;

5. 已知

(40)

(30)(20)

f

y

f f

=

+

(1) 当f(n)=n+10ln(n2+5)时,求y的值。

(2) 当f(n)=1×2+2×3+3×4+...+n×(n+1)时,求y的值。

(2).

实验八数据处理与多项式计算

2. 将100个学生5门功课的成绩存入矩阵P中,进行如下处理:

(1) 分别求每门课的最高分、最低分及相应学生序号。

(2) 分别求每门课的平均分和标准方差。

(3) 5门课总分的最高分、最低分及相应学生序号。

(4) 将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。

提示:上机调试时,为避免输入学生成绩的麻烦,可用取值围在[45,95]之间的随机矩阵来表示学生成绩。

运行结果:

3. 某气象观测得某日6:00~18:00之间每隔2h的室外温度(0C)如实验表1所示。

实验表1 室外温度观测结果(0C)

时间h 6 8 10 12 14 16 18 室温度t1 18.0 20.0 22.0 25.0 30.0 28.0 24.0

室外温度t2 15.0 19.0 24.0 28.0 34.0 32.0 30.0 试用三次样条插值分别求出该日室外6:30~18:30之间每隔2h各点的近似温度(0C)。

解:

M文件:

运行结果:

4. 已知lgx 在[1,101]区间10个整数采样点的函数值如实验表2所示。

实验表2 lgx 在10个采样点的函数值

x 1 11 21 31 41 51 61 71 81 91 101

lgx 0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510 2.0043

试求lgx 的5次拟合多项式p(x),并绘制出lgx 和p(x)在[1,101]区间的函数曲线。 解:

5. 有3个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行下列操作:

(1) 求P(x)=P 1(x)+P 2(x)P 3(x)。 (2) 求P(x)的根。

(3) 当x 取矩阵A 的每一元素时,求P(x)的值。其中 :

1

1.2 1.40.752 3.505

2.5A --????=??

????

(4) 当以矩阵A 为自变量时,求P(x)的值。其中A 的值与第(3)题相同。

实验九 数值微积分与方程数值求解

1. 求函数在指定点的数值导数。

实验六 高层绘图操作

3. 已知

01ln(02

x y x x ≤=?

?>?? 在-5≤x ≤5区间绘制函数曲线。

2. 用数值方法求定积分。

(1) 210

I π

=?

的近似值。

(2) 222

ln(1)

1x I dt x π

+=

+?

3. 分别用3种不同的数值方法解线性方程组。

6525494133422139211

x y z u x y z u x y z u x y u +-+=-??-+-=?

?

++-=??-+=? 解:M 文件:

运行结果:

4. 求非齐次线性方程组的通解。

123412341

2342736352249472

x x x x x x x x x x x x +++=??

+++=??+++=? 解:M 文件

: 。

5. 求代数方程的数值解。

(1) 3x +sin x -e x =0在x 0=1.5附近的根。

(2) 在给定的初值x 0=1,y 0=1,z 0=1下,求方程组的数值解。

23

sin ln 703210

50y x y z x z x y z ?++-=?+-+=??++-

=?

解:M 文件:

运行结果:

6. 求函数在指定区间的极值。

(1) 3cos log ()x

x x x x

f x e ++=在(0,1)的最小值。

(2) 332

12112122(,)2410f x x x x x x x x =+-+在[0,0]附近的最小值点和最小值。

8. 求微分方程组的数值解,并绘制解的曲线。

123213

312123'''0.51(0)0,(0)1,(0)1

y y y y y y y y y y y y =??=-??

=-??===? 解: 令y1=x,y2=y,y3=z; 这样方程变为:

'''0.51(0)0,(0)1,(0)1

x yz

y xz z xy x y z =??=-?

?

=-??===?,自变量是t

实验十 符号计算基础与符号微积分

一、

1. 已知x=6,y=5,利用符号表达式求

z =

提示:定义符号常数x=sym(‘6’),y=sym(

‘5’)。 解:M 文件:

运行结果:

2. 分解因式。 (1) x 4-y 4 (2) 5135

解:M 文件:

运行结果:

5.

用符号方法求下列极限或导数。

22sin tan 301

322222

0,1

(1)2(1)(1)lim (2)lim sin 1cos(2)(3),',''

(4),,,

cos ln (5)(,)(2),,

x x x x x x y xy

x y x e e x a t x dA d A d A

y y y A x dx dt dxdt t x x y f

f x y x x e

x x y

+

→→----==+--??-==??????=-???求已知分别求已知求

解:M 文件:

运行结果:

6. 用符号方法求下列积分。

48

2ln 2240

0(1)(2)11

(3)(4)(1)1

x x dx x x x dx e e dx x +∞

+++++??

?

运行结果:

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 =

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实验五分支结构程序设计答案

实验五分支结构程序设计 实验内容 (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图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号: 实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图

title('原始图像直方图') I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g); subplot(1,2,1);subimage(f),title('变换一') 00100200 源图像灰度变换后图像对数变换后

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实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

matlab综合实验4

实验4、输入输出的应用 目的与要求: 掌握matlab 图形的绘制 掌握自定义函数的使用 掌握matlab 基础运用 要求:请将程序和运行结果的截屏附在题目后面。 一、编程题 1、产生一个1x10的随机矩阵,大小范围为[-5 5],并且按照从大到小的顺序排列好! 2、设 y=cos[0.5+((3sinx)/(1+x^2))]把x=[0,2π]间分为101点,画出以x 为横坐标,y 为纵坐标的曲线;线条颜色为红色,线型为虚线。 3、在[-10,10;-10,10]范围内画出函数z 的三维网格图形。 4、将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。 ①]2 2[)cos(π π,,-∈x x (曲线图); ②4)y 2,-4x (-242),(2222≤≤≤≤+=;y x y x f (曲面图)。 5、请修改下面的程序,让他们没有for 循环语句!修改后的程序与源程序得到相当的结果。 A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end

end 6、请自己定义函数,求出递归调用(即1*2*3*…*n) (1)求前n项积,n为自然数。(2)给出调用命令,如n=100时的结果。 二、填空题 1、已知a=[4 5 6],b=[7 8],[x,y]=meshgrid(a,b),则x= y= 。 2、定义x=[0 1 2 3 4]的用冒号表达式表示为。 3、在算术、关系、逻辑三种运算符中,优先级最高。 4、设x=[4 8 1;9 7 6],[a,b]=size(x)得到的结果是a= b= 。 5、x=find(A)命令的含义是。 6、元素取整的命令有、。 7、a=[1 2 2],求a的转置的matlab命令。 8、b=[1 4 5 2 3 7 8 11 9 13 15 6],求所有元素和的matlab 命令。 9、syms t k的含义。 10、在线形图型格式的设置中,字符y表示什么颜色,,栅格的命令是。 11、一个字符串由多个字符组成,用符号来界定。

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 =

河南城建学院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综合大作业(附详细答案)

m a t l a b综合大作业(附详细 答案) 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分): 1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5) 实验结果: A = 2)将矩阵A按列拉长得到矩阵B; 实验程序:B=A(:) 实验结果: B =

3)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的 矩阵C; 实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)] 实验结果: C = 4)寻找矩阵A中大于0的元素;] 实验程序:G=A(find(A>0)) 实验结果: G = 5)求矩阵A的转置矩阵D; 实验程序:D=A' 实验结果: D = 6)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E; 实验程序:E=flipud(fliplr(A)) 实验结果: E =

7)删除矩阵A的第2列和第4列得到矩阵F; 实验程序:F=A; F(:,[2,4])=[] 实验结果: F = 8)求矩阵A的特征值和特征向量; 实验程序:[Av,Ad]=eig(A) 实验结果: 特征向量Av = + - + - - + + - 特征值Ad = 0 0 0 0 0 + 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 9)求矩阵A的每一列的和值; 实验程序:lieSUM=sum(A) 实验结果: lieSUM = 10)求矩阵A的每一列的平均值; 实验程序:average=mean(A) 实验结果: average = 2.符号计算(10分,每小题5分): 1)求方程组20,0 uy vz w y z w ++=++=关于,y z的解; 实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z'); y= S. y, z=S. z

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

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

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

matlab实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

matlab综合大作业(附详细答案)

《MATLAB语言及应用》期末大作业报告 1.数组的创建和访问(20分,每小题2分): 1)利用randn函数生成均值为1,方差为4的5*5矩阵A; 实验程序:A=1+sqrt(4)*randn(5) 实验结果: A = 0.1349 3.3818 0.6266 1.2279 1.5888 -2.3312 3.3783 2.4516 3.1335 -1.6724 1.2507 0.9247 -0.1766 1.1186 2.4286 1.5754 1.6546 5.3664 0.8087 4.2471 -1.2929 1.3493 0.7272 -0.6647 -0.3836 2)将矩阵A按列拉长得到矩阵B; 实验程序:B=A(:) 实验结果: B = 0.1349 -2.3312 1.2507 1.5754 -1.2929 3.3818 3.3783 0.9247 1.6546 1.3493 0.6266 2.4516 -0.1766 5.3664 0.7272 1.2279 3.1335 1.1186 0.8087 -0.6647 1.5888 -1.6724 2.4286 4.2471

-0.3836 3)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)] 实验结果: C = 3.3783 3.1335 0.9247 1.1186 4)寻找矩阵A中大于0的元素;] 实验程序:G=A(find(A>0)) 实验结果: G = 0.1349 1.2507 1.5754 3.3818 3.3783 0.9247 1.6546 1.3493 0.6266 2.4516 5.3664 0.7272 1.2279 3.1335 1.1186 0.8087 1.5888 2.4286 4.2471 5)求矩阵A的转置矩阵D; 实验程序:D=A' 实验结果: D = 0.1349 -2.3312 1.2507 1.5754 -1.2929 3.3818 3.3783 0.9247 1.6546 1.3493 0.6266 2.4516 -0.1766 5.3664 0.7272 1.2279 3.1335 1.1186 0.8087 -0.6647 1.5888 -1.6724 2.4286 4.2471 -0.3836 6)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E; 实验程序:E=flipud(fliplr(A)) 实验结果:

matlab综合性实验报告

计算机与信息工程学院综合性实验报告 一、实验目的 本实验通过MATLAB语言编写程序来实现,主要培养学生综合运用所学知识和实验方法、实验技能,提高分析、解决实际问题的能力。 二、实验仪器或设备 装MATLAB软件的计算机一台。 三、总体设计(设计原理、设计方案及流程等) 四、用if语句实现以下计算,a,b,c,x 的值从键盘输入: 1.输入20个数,求其中最大数和最小数,要求用while循环结构和 MATLAB的max和min 函数来实现。 2.设计一段程序,用for循环求1+2+3+…+100的和。 五、实验步骤(包括主要步骤、代码分析等) 1、求函数(if循环语句) x=input('please input x= '); a=input('please input a= '); b=input('please input b= '); c=input('please input c= '); if(x>=0.5)&&(x<1.5); y=a*x^2+b*x+c; elseif(x>=1.5)&&(x<3.5); y=a*sin(x)+b+c; elseif(x>=3.5)&&(x<5.5); y=log(abs(b+c/x)); else y=0; end disp('The answer of y= ') disp(y)

2、求最大值、最小值 i=1;j=1; n=0;m=0; x=0;y=0; while(i<=10)&&(j<=10) a(i)=input('Enter the number of a: '); b(j)=input('Enter the number of b: '); n=max(a,b); m=min(a,b); i=i+1;'i'; j=j+1;'j'; end x=max(n); y=min(m); disp('The max number is ') disp(x) disp('The min number is ') disp(y) 3、求和 function [ S ] = Sum( ~ ) S=0; for n= 1:1:100 if(n<=100) S=S+n; n=n+1; end end end 六、结果分析与总结 1、刚开始做实验的时候,由于理论知识基础学不好,在实验过程遇到了许多的难题,使我意识到理论知识的重要性; 2、在实验过程自己遇到问题,通过看书、查资料、思考交流,最终解决问题也使我感到有成就感。 3、通过这次实验,我对matlab有了更深了解;同时学会部分函数的用法,深刻体会到matlab操作的方便、及其强大的功能。 教师签名: 年月日

相关文档
最新文档