搜档网
当前位置:搜档网 › MATLAB数值运算实验报告材料

MATLAB数值运算实验报告材料

MATLAB数值运算实验报告材料
MATLAB数值运算实验报告材料

系 (部):信息工程班级:

姓名:学号:

课程: MATLAB 实验名称: Matlab数值运算

目录

一 . 实验目的 (2)

二 . 实验内容 (2)

三 . 实验步骤 (2)

四 . 实验具体过程及数据分析 (3)

五 . 实验原始记录 (9)

六 . 实验心得、体会及思考 (11)

一 . 实验目的

掌握MATLAB的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作。

二 . 实验内容

1.多项式运算。

2.多项式插值和拟合。

3.数值微积分。

4.结构数组和细胞数组。

三 . 实验步骤

1.多项式运算

(1)多项式表示。在MATLAB中,多项式表示成向量形式。

如:s^4+3s*s^3-5*s^2+9

>>S=[1 3 -5 0 9]

(2)多项式的加减法相当于向量的加减法,但须注意阶次要相同。如不同,低阶要补0。

如多项式2*s^2+3*s+9与多项式s^4+3*s^3-5*s^2+4s+7相加。

(3)多项式的乘、除法分别用函数conv和deconv实现。

(4)多项式求根用函数roots

(5)多项式求值用函数polyval

练习1:求(s^2+1)(s+3)(s+1)/(s^3+2*s+1)的“商”及“余”多项式

2.多项式插值和拟合

有一组实验数据如表所示

请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估测X=9.5时Y的值。

3.数值微积分

(1)差分使用diff函数的实现

(2)可以用因变量和自变量差分的结果相除得到数值微分

(3)Cumsum函数求累计积分,trapz函数用梯形法求定积分,即曲线的面积练习:如图瑞士地图,为了算出其国土面积,首先对地图作如下测量:以由西向东方向为X轴,由南到北方为Y轴,选择方便的原点,并将从最西边点到最东边界点在X轴的区间适当划分若干级,在每个分点的Y方向测出南边界点和北边界点的Y坐标Y1和Y2,这样就得到了下表,根据地图比例知道18mm相当于40km,试有测量数据计算瑞士国土近似面积,与其精确值41228km^2比较。

4.结构数组与细胞数组

(1)结构数组的创建

(2)结构数组的操作

练习:创建一结构数组stusorce,其域为:No,Name,English,Math,Chinese,Total,Average。结构数组的大小为2*2。

(3)细胞数组的创建

(4)细胞数组的操作

练习:创建一大小为2*2细胞数组stucell,其元素的类型分别为:结构类型、字符串、矩阵和细胞类型。

四 . 实验具体过程及数据分析

1.

>> S1=[2 4 2]

S1 =

2 4 2

>> roots(S1)

ans =

-1

-1

>> S=[1 3 -5 0 9]

S =

1 3 -5 0 9

>> S1=[2 3 11]

S1 =

2 3 11

>> S2=[1 3 -5 4 7]

S2 =

1 3 -5 4 7

>> S3=conv(S1,S2)

S3 =

2 9 10 26 -29 65 77

>> S4=deconv(S3,S1)

S4 =

1 3 -5 4 7

>> S1=[2 4 2]

S1 =

2 4 2

>> polyval(S1,3)

ans =

32

>> x=1:10

x =

1 2 3 4 5 6 7 8 9 10 >> y=polyval(S1,x)

y =

8 18 32 50 72 98 128 162 200 242

练习1:

>> clear all

>> s1=[1 0 1]

s2=[1 3]

s3=[1 1]

s4=conv(s1,s2)

Y=conv(s4,s3)

X=[1 0 2 1]

[Q,R]=deconv(Y,X)

s1 =

1 0 1

s2 =

1 3

s3 =

1 1

s4 =

1 3 1 3

Y =

1 4 4 4 3 X =

1 0

2 1

Q =

1 4

R =

0 0 2 -5 -1 >> poly2sym(Q)

ans =

x + 4

>> poly2sym(R)

2*x^2 - 5*x - 1

>> conv(Q,X)+R-Y

ans =

0 0 0 0 0 >> s1=[1 0 1]

s2=[1 3]

s3=[1 1]

s4=conv(s1,s2)

Y=conv(s4,s3)

X=[1 0 2 1]

[Q,R]=deconv(Y,X)

s1 =

1 0 1

s2 =

1 3

s3 =

1 1

s4 =

1 3 1 3

Y =

1 4 4 4 3 X =

1 0

2 1

Q =

1 4

R =

0 0 2 -5 -1 poly2sym(Q)

x + 4

poly2sym(R)

ans =

2*x^2 - 5*x - 1

conv(Q,X)+R-Y

ans =

0 0 0 0 0

2.

x=1:10

y=[16 32 70 142 260 436 682 1010 1432 1960]

p1=polyfit(x,y,1)

y1=polyval(p1,9.5)

3.

x=1:2:9

diff(x)

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

y=sin(x);

plot(x,y)

y1=diff(y)./diff(x);

plot(x(1:end-1),y1)

x=ones(1,10)

cumsum(x)

x=linspace(0,pi,100);

y=sin(x);

s=trapz(x,y)

练习2:

x=[7 10.5 13 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106.5

111.5 118 123.5 136.5 142 146 150 157 158];

y1=[44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68];

y2=[44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 116 122 83 81 82 86 85 68];

X=x./18*40;

Y1=y1./18*40;

Y2=y2./18*40;

t1=trapz(X,Y1),t2=trapz(X,Y2),t=t2-t1

4.

(1)>> student.number='20050731001';

>> https://www.sodocs.net/doc/763141251.html,='jack';

>> student(2).number='20050731002';

>> student(2).name='lucy';

(2)

>>student(1).subject=[] >>student(1).sorce=[] >>student

>>fieldnames(student)

>>getfield(student,{2},'name')

>>student=rmfield(student,'subject')

>>student=setfield(student,{1},'sorce',90); >>stuent(2).sorce=8 8;

(3)

>> A={'How are you!',ones(3);[1 2;3 4],{'cell'}};

>> B(1,1)={'Hello world'};

>> B(2,1)={[ 1 2 3 4]};

(4)

>>ans1=A(1,1)

>> ans2=A{1,1}

>> whos ans1 ans2

>> celldisp(A)

>> a1=A{2,1}(1,2)

>>[a2 a3]=deal(A{1:2}) 五 . 实验原始记录

六 . 实验心得、体会及思考

通过本次实验,我更熟练的掌握了MATLAB的数值运算及其运算中所用到的函数,更好的明白了一些MATLAB数值运算的基本操作。做实验不仅仅要我们有清晰的思路,还要有一丝不苟的态度,认真严谨的实验才能得出更准确的实验结果。

MATLAB运算基础第2章答案

实验01讲评、参考答案 讲评 未交实验报告的同学名单 批改情况: 问题1: 不仔细,式子中出错。 问题2: 提交的过程不完整。 问题3: 使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。 问题4: 截屏窗口没有调整大小。

附参考答案: 实验01 MATLAB 运算基础 (第2章 MATLAB 数据及其运算) 一、实验目的 1、 熟悉启动与退出MATLAB 的方法。 2、 熟悉MATLAB 命令窗口的组成。 3、 掌握建立矩阵的方法。 4、 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1、 数学表达式计算 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 1、1 计算三角函数 12 2sin 851z e =+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适当调 整窗口大小。 命令窗口中的执行过程: 《MATLAB 软件》课内实验 王平

1、2 计算自然对数 221 ln(1)2z x x =++,其中2120.45 5i x +??=??-??(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。 应用点乘方) 命令窗口中的执行过程: 1、3 求数学表达式的一组值 0.30.330.3sin(0.3)ln , 3.0, 2.9, ,2.9,3.022 a a e e a z a a --+=++=-- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 命令窗口中的执行过程:

MATLAB数据及其运算_习题答案

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MATLAB合法变量名的是()。D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。C A.+10 B. C.2e D.2i 3.使用语句t=0:7生成的是()个元素的向量。A A.8 B.7 C.6 D.5 4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。D A.所有元素 B.第一行元素 C.第三行元素 D.第三列元素 6.已知a为3×3矩阵,则运行a (1)=[]后()。A A.a变成行向量 B.a变为2行2列 C.a变为3行2列 D.a变为2行3列 7.在命令行窗口输入下列命令后,x的值是()。B >> clear >> x=i*j A.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453 D.43 9.下列语句中错误的是()。B A.x==y==3 B.x=y=3 C.x=y==3 D.y=3,x=y 10.find(1:2:20>15)的结果是()。C A.19 20 B.17 19 C.9 10 D.8 9 11.输入字符串时,要用()将字符括起来。C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。A A.9 B.11 C.7 D.18

13.eval('sqrt(4)+2')的值是()。B A.sqrt(4)+2 B.4 C.2 D.2, 2 14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成 员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课 成绩,应采用的正确命令是()。D A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores) C.student(4).scores(2)=0 D.student(1,2).scores(2)=[] 15.有一个2行2列的单元矩阵c,则c(2)是指()。B A.第一行第二列的元素内容 B.第二行第一列的元素内容 C.第一行第二列的元素 D.第二行第一列的元素 二、填空题 1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵 行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用 分隔。中括号,逗号或空格,分号 2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= , A.*B= 。 A*B=[19,22;43,50],A.*B=[5,12;21,32] 3.有3×3矩阵,求其第 5个元素的下标的命令是,求其第三行、第三列元 素的序号的命令是。[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3) 4.下列命令执行后的输出结果是。20 >> ans=5; >> 10; >> ans+10 5.下列命令执行后,new_claim的值是。This is a great example. claim= 'This is a good example.'; new_claim=strrep(claim,'good','great') 三、应用题 1.命令X=[]与clear X有何不同请上机验证结论。 Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。空矩阵存在于工作空间 中,只是没有任何元素。 2.在一个MATLAB命令中,6?+?7i和6?+ 7*i有何区别i和I有何区别 3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A的 区别如果A和B是两个标量数据,结论又如何 4.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。 (2)删除矩阵A的第5号元素。

实验一 基本信号在MATLAB中的表示和运算

实验一 基本信号在MATLAB 中的表示和运算 一、实验目的 1. 学会用MA TLAB 表示常用连续信号的方法; 2. 学会用MA TLAB 进行信号基本运算的方法; 二、实验原理 1. 连续信号的MATLAB 表示 MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续 时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间 隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形; 符号法是利用MATLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表 达的解析式,也可用绘图语句画出其波形图。 例1-1指数信号 指数信号在MATLAB 中用exp 函数表示。 如at Ae t f =)(,调用格式为 ft=A*exp(a*t) 程序是 A=1; a=-0.4; t=0:0.01:10; %定义时间点 ft=A*exp(a*t); %计算这些点的函数值 plot(t,ft); %画图命令,用直线段连接函数值表示曲线 grid on; %在图上画方格 例1-2 正弦信号 正弦信号在MATLAB 中用 sin 函数表示。 调用格式为 ft=A*sin(w*t+phi) A=1; w=2*pi; phi=pi/6; t=0:0.01:8; %定义时间点 ft=A*sin(w*t+phi); %计算这些点的函数值 plot(t,ft); %画图命令 grid on; %在图上画方格 例1-3 抽样信号 抽样信号Sa(t)=sin(t)/t 在MA TLAB 中用 sinc 函数表示。定义为 )/(sin )(πt c t Sa = t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on; axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴 title('抽样信号') %定义图的标题名字 例1-4 三角信号 三角信号在MATLAB 中用 tripuls 函数表示。

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

matlab基本运算与函数

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter 键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数 (Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 > 小整理:MATLAB常用的三角函数 sin(x):正弦函数

实验一 MATLAB运算基础

实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MATLAB 的方法; 2.熟悉MATLAB 命令窗口的组成; 3.掌握建立矩阵的方法; 4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 ⑴21185sin 2e z +?=; >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = 0.2375 ⑵)1ln(2122x x z ++=,其中?? ????-+=545.0212i x ; >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044i ⑶0.3,9.2,8.2,,8.2,9.2,0.3,2 3.0ln )3.0sin(23.03.03 ---=+++-=-a a a e e z a a >> a=(-3.0:0.1:3.0); >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) z3 = Columns 1 through 3 0.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i Columns 4 through 6 0.7913 + 3.1416i 0.7822 + 3.1416i 0.7602 + 3.1416i Columns 7 through 9

MatLab基本运算

MatLab & 数学建模 第一讲简介及基本运算 一、简介 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。 经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。 MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。 在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。 在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。 在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。 MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: ?功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。 ?先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。 ?高阶但简单的程式环境 - 作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译 (compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。 ?开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。 ?丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。 二、MatLab界面

(完整版)matlab基础练习题及答案

第1章MATLAB基础 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 答:在MATLAB操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。 1.5 如何启动M文件编辑/调试器? 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选

定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息。 (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ? ??194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:

实验一 MATLAB 运算基础

实验一MATLAB 运算基础 二、1(3) for a=-0.3:0.1:3.0 z3=((exp(0.3*a)-exp(-0.3*a)))/2*sin(a+0.3)+log((0.3+a)/2); disp('z3='); disp(z3); end 结果是: z3=-Inf,-3.0017,-2.3085,-1.8971,-1.5978,-1.3575,-1.1531,-0.9723,-0.8083,-0.6567,-0.5151,-0.381 9,-0.2561,-0.1374,-0.0255,0.0792,0.1766,0.2663,0.3478,0.4206,0.4841,0.5379,0.5815,0.6145,0.63 66,0.6474,0.6470,0.6351,0.6119,0.5777,0.5327,0.4774,0.4126,0.3388 二、1(4) for t=0:0.5:2.5; if 0<=t&t<1 z4=t*t; disp('z4=t*t='); disp(z4); end if 1<=t&t<2 z4=t*t-1; disp('z4=t*t-1='); disp(z4); end if 2<=t&t<3 z4=t*t-2*t+1; disp('z4=t*t-2*t+1='); disp(z4); end end 结果:z4=t*t=0 z4=t*t=0.2500 z4=t*t-1=0 z4=t*t-1=1.2500 z4=t*t-2*t+1=1 z4=t*t-2*t+1=2.2500 二、4(1) data=0; for t=100:999 if rem(t,21)==0; data=data+1; end end disp('100到999之间能被21整除的数的个数是:') disp(data); 结果:100到999之间能被21整除的数的个数是:43 二、4(2)

第2章matlab数据及其运算_习题答案

第2章M A T L A B数据 及其运算_习题答案-CAL-FENGHAI.-(YICAI)-Company One1

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MATLAB合法变量名的是()。D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。C A.+10 B. C.2e D.2i 3.使用语句t=0:7生成的是()个元素的向量。A A.8 B.7 C.6 D.5 4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。D A.所有元素 B.第一行元素 C.第三行元素 D.第三列元素 6.已知a为3×3矩阵,则运行a (1)=[]后()。A A.a变成行向量 B.a变为2行2列 C.a变为3行2列 D.a变为2行3列 7.在命令行窗口输入下列命令后,x的值是()。B >> clear >> x=i*j A.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453 D.43 9.下列语句中错误的是()。B A.x==y==3 B.x=y=3 C.x=y==3 D.y=3,x=y 10.find(1:2:20>15)的结果是()。C A.19 20 B.17 19 C.9 10 D.8 9 11.输入字符串时,要用()将字符括起来。C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。A A.9 B.11 C.7 D.18

实验一 MATLAB基本操作及运算

实验一 MATLAB 基本操作及运算 一、 实验目的 二、 实验的设备及条件 三、 实验内容 1、 建立以下标量: 1) a=3 2) ,(j 为虚数单位) 3) c=3/2πj e 2、 建立以下向量: 1) Vb= 2.71382882????????-???? 2) Vc=[4 3.8 … -3.8 -4 ] (向量中的数值从4到-4,步长为-0.2) 3、 建立以下矩阵: 1) 3333Ma ????=?????? L M O M L Ma 为一个7×7的矩阵,其元素全为3. 2) 111912129210 20100Mb ??????=?????? L O M M O M L

Mb 为一个10×10的矩阵. 3) 114525173238Mc ????=?????? 4、 使用题1中的变量计算下列等式的x,y,z 的值: 1) ((15)/6)111a x e --=+ 2) 2x π= 3) 3ln([()()]sin(/3))x b c b c a π=+-R ,其中R 表示复数实部。 5、 求解函数值22/(2.25)ct y e -=,其中c 取值见题1,t 的取值范围为题2中行 向量Vc 。 6、 使用题1和题3中所产生的标量和矩阵计算等式 1()()T Mx a Mc Mc Mc -=?? 其中*为矩阵所对应行列式的值,参考det 。 7、 函数的使用和矩阵的访问。 1) 计算矩阵Mb 每一列的和,结果应为行向量形式。 2) 计算整个矩阵Mb 的平均值。 3) 用向量[1 1…1] 替换Mb 的最上一行的值 4) 将矩阵Mb 的第2~5行,第3到9列的元素所构成的矩阵赋值给矩阵 SubMb 。 5) 删除矩阵Mb 的第一行; 6) 使用函数rand 产生一个1×10的向量r ,并将r 中值小于0.5的元素设置 为0。 8、 已知CellA (1, 1)=‘中国’,CellA (1,2)=‘北京’,CellA (2,1) 是一个3乘3的单位阵,CellA (2, 2)=[1 2 3],试用MATLAB 创建一个2×2的细胞数组CellA 。 9、 已知结构数组student 中信息包含有姓名,学号,性别,年龄和班级,试 用MATLAB 创建相应的结构数组student 。该数组包含有从自己学号开始连续5个同学的信息(如果学号在你后面的同学不足5个则往前排序),创建完成后查看自己的信息。

第2章 MATLAB数据及其运算

MATLAB应用 第2章MATLAB数据及其运算 MATLAB数据的特点 2.1 MATLAB数据的特点 ●矩阵 ●是MATLAB最基本、最重要的数据对象,MATLAB的大部分运算或命令 都是在矩阵运算的意义下执行的,而且这种运算定义在复数域上。向量和单个数据都可以作为矩阵的特例来处理。 ●数值数据 ●双精度型、单精度数、带符号整数和无符号整数。 ●字符数据 ●结构体(Structure)和单元(Cell)数据类型。 ●稀疏矩阵(Sparse) ●逻辑型数据 ●在MATLAB中,以数值1(非零)表示“真”,以数值0表示“假”。 2.2 变量及其操作 ●变量和赋值 ●变量命名的规则 ●变量名的第一个字符必须是英文字母,最多可以包含63个字符。 ●变量名中不能有空格、标点,但可以有下划线如my_var1。 ●变量名、函数名对大小写敏感,如my_data和My_data就不是一个变量。 ●给变量起名时不要和这些保留字冲突。 ●变量不需要事先说明,用赋值语句就定义了变量。变量的类型由赋值语句等号右边的数字 形式决定,免去了高级语言中那种冗长的说明语句。编程过程中,尽量不要与系统变量名冲突,如果你赋值给系统变量,将把变量中的原值冲掉,对计算不利。只有在重新启动后才能恢复原保留值。 2.2 变量及其操作(续) ●赋值语句 ●(1) 变量=表达式 ●(2) 表达式 ●其中表达式是用运算符将有关运算量连接起来的式子,其结果是 一个矩阵。

例2.1 计算表达式的值,并将结果赋给变量x,然后显示计算结果。 在MATLAB命令窗口输入命令: 常用MATLAB预定义变量 2.2 变量及其操作(续) ●数据的输出格式 ●MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。 ●在一般情况下,MATLAB内部每一个数据元素都是用双精度数来表示和存储的。 ●MATLAB默认的数据显示格式为短格式(short):当结果为整数,就作为整数显示;当结果是实数,以小数点后四位的长度显示。若结果的有效数字超出一定范围,以科学计数法显示(如 3.2000e-006表示)。 2.2 变量及其操作(续) ●数据输出时用户可以用format命令设置或改变数据输出 格式。 ●format命令的格式为: format 格式符 其中格式符决定数据的输出格式 控制数据输出的格式符及含义 ●上机练习: ●验证各数据输出格式的输出结果。

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要..................................................................................................................................................... - 2 -1 MATLAB简介 ................................................................................................................................... - 2 -2图像选择及变换.............................................................................................................................. - 3 -2.1 原始图像选择读取.................................................................................................................. - 3 - 2.1.1 原理图的读入与基本变换 ............................................................................................... - 3 - 2.1.2 程序源代码及调试结果 ................................................................................................... - 4 - 2.2 转换图像为灰阶图像.............................................................................................................. - 6 - 3 图像处理及代码程序 ..................................................................................................................... - 6 -3.1 图像亮度对比度调整.............................................................................................................. - 7 - 3.1.1 函数说明及参数选择....................................................................................................... - 7 - 3.1.2 源程序及运行结果........................................................................................................... - 7 -3.2 图像放大和缩小...................................................................................................................... - 8 - 3.2.1 函数说明及参数选择....................................................................................................... - 8 - 3.2.2 源程序及运行结果........................................................................................................... - 8 -3.3 图像任意角度的旋转.............................................................................................................. - 9 - 3.3.1 函数说明及参数旋转....................................................................................................... - 9 - 3.3.2 源程序及运行结果........................................................................................................... - 9 -3.4图像直方图统计和均衡......................................................................................................... - 10 - 3.4.1 函数说明及参数选择..................................................................................................... - 10 - 3.4.2 源程序及运行结果......................................................................................................... - 11 -3.5 图像加入噪声........................................................................................................................ - 13 - 3.5.1 函数说明及参数选择..................................................................................................... - 13 - 3.5.2 源程序及运行结果......................................................................................................... - 13 - 4 图像处理结果比较分析 ............................................................................................................... - 16 -4.1 调整对比度和亮度后图像比较 ............................................................................................ - 16 -4.2 图像放大缩小及旋转后比较 ................................................................................................ - 16 -4.3 进行直方图均衡后图像比较 ................................................................................................ - 17 -4.4加入各种噪声后图像比较 ..................................................................................................... - 18 -5感悟体会小结................................................................................................................................ - 19 -参考文献........................................................................................................................................... - 20 -

练习一:matlab基本运算

2.1 在MA TLAB 中如何建立矩阵?? ? ? ??194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 2.4 数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 2.5 计算矩阵??????????897473535与???? ? ?????638976242之和。 >> a=[5 3 5;3 7 4;7 9 8]; >> b=[2 4 2;6 7 9;8 3 6]; >> a+b ans = 7 7 7 9 14 13 15 12 14 2.7 计算???? ??=572396a 与?? ? ???=864142b 的数组乘积。 >> a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> a.*b ans = 12 36 3 8 42 40 2.8 “左除”与“右除”有什么区别? 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。

2.9 对于B AX =,如果??????????=753467294A ,???? ? ?????=282637B ,求解X 。 >> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]’; >> X=A\B X = -0.5118 4.0427 1.3318 2.10 已知:???? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 >> a=[1 2 3;4 5 6;7 8 9]; >> a.^2 ans = 1 4 9 16 25 36 49 64 81 >> a^ 2 ans = 30 36 42 66 81 96 102 126 150 2.11 ? ? ?? ??=654321a ,??? ???-=263478b ,观察a 与b 之间的六种关系运算的结果。 >> a=[1 2 3;4 5 6]; >> b=[8 –7 4;3 6 2]; >> a>b ans = 0 1 0 1 0 1 >> a>=b ans =

实验二 MATLAB运算基础

实验二、MATLAB 运算基础 一、 实验目的 1.熟悉启动和退出MATLAB 的方法。 2.熟悉MATLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、 实验内容及结果 1.先求出下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1)2 1e 185sin 2z +? = (2))(22x 1x ln 21 z ++= ,其中??????+=545 .0-i 212x (3)2 a 3.0ln 3.0a sin 2e -e z a 3.0-a 3.03+++=)(,a=-0.3,-2.9,-2.8,…,2.8,2.9,3.0 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。

(4)?? ? ??<≤+-<≤-<≤=32,1221,110,z 2224t t t t t t t ,其中t=0:0.5:2.5 提示:用逻辑表达式求分段函数值。 2.已知: ??????????=7653877344-3412A ,?? ?? ? ?????=72-33021-31B 求下列表达式的值: (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 ??? ???? ???? ?? ???=2524 23222120191817161514 13121110987654321A ,????? ??? ????????=111340794-23096-171603B (1)求它们的乘积C 。

相关主题