Matlab上机实验二

Matlab上机实验二
Matlab上机实验二

1. 对Runge 函数2()1/(125)R x x =+在区间[-1,1]作下列插值逼近,并和()R x 的图

像进行比较,并对结果进行分析。

(1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值

多项式的图像。

(2) 用节点21cos()(0,1,2...,20)42

i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。

(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数

的图像。

(4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值

函数的图像。

结果分析:

等距节点的Newton插值在边界附近呈现不收敛的状态,也就是所谓的Runge 现象。这是因为被插函数2

()1/(125)

R x x

=+及其任意阶导数并不是一致有界的。

由Lagrange插值的余项

(n1)

1

()

()()()()

(1)!

n n n

f

R x f x L x x

n

ξ

ω

+

+

=-=

+

,由于高阶导数值

非常大,在等距节点的高次插值中,余项的值很大,亦即误差特别大,表现为Runge现象。在实际中,除非被插函数的光滑性十分好,否则等距节点的高次插值一般不使用。

切比雪夫多项式零点插值没有出现Runge现象,这是因为对于Lagrange插

值的余项

(n1)

1

()

()()()()

(1)!

n n n

f

R x f x L x x

n

ξ

ω

+

+

=-=

+

,切比雪夫多项式零点插值可以

1()

n x

ω

+项控制在

1

2n

以下(

1

[1,1]

max()

n

x

x

ω

+

∈-

=

1

2n

),由此可得切比雪夫多项式零点

插值的误差范围

(n1)

[1,1]

()

max()

2(1)!

n n

x

f

R x

n

ξ

+

∈-

+

,比等距节点的高次插值小很多,因此

对于被插函数的光滑性要求要比等距节点的插值也低很多。

分段低次线性插值是常用的一种插值方式。线性插值的优点在于计算量小,但是从图中可以看出,其光滑性不够。三次样条插值要求其一阶导数是连续的,因此其准确性好,光滑性也较优。

2. 对函数

sin ,10()cos ,01/20,1/21x x f x x x x ππ-≤

在区间[-1,1]作下列插值逼近,和被插值函数的图像进行比较,并对计算结果进行分析。

(1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值

多项式的图像。

(2) 用节点21cos()(0,1,2...,20)42

i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。

(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数

的图像。

(4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值

函数的图像。

由matlab运行结果可以看到,等距节点的Newton插值在边界附近呈现不收敛的状态,切比雪夫多项式零点插值也有一定的振荡。这是因为被插函数是分段函数,其一阶导数都不是连续的,光滑性非常差,因此相对于函数2

=+,其切比雪夫多项式零点插值的收敛性差很多。分段低次线()1/(125)

R x 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上机习题2

实验二 基本矩阵操作 实验目的: ① 掌握matlab 变量和数据操作; ② 掌握matlab 矩阵的创立、拆分及特殊矩阵; ③ 掌握matlab 运算,掌握matlab 在矩阵分析中的应用,掌握稀疏矩阵的存储方式和创建方法; ④ 掌握矩阵的基本运算和结构体数组的创建。 ⑤ 了解字符串处理函数。 实验要求:给出程序和实验结果。 实验内容: 1、利用列向量()1,2,3,,10T 建立一个范得蒙矩阵A ,并利用位于矩阵A 的奇数行偶数列的元素建立一个新的矩阵B ,须保持这些元素的相对位置不变。 2、矩阵的基本运算与点运算的区别。 3、给出矩阵的两种存储方式的联系和区别,这两种存储方式在实际应用中主要应用于具有什么特点的矩阵? 4*.将字符串'very good'转换为等值的整数。 5.按水平和竖直方向分别合并下述两个矩阵: 6. 分别删除第5题两个结果的第2行。 7. 分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 8. 分别查看第5题两个结果的各方向长度。 9*. 分别判断pi 是否为字符串和浮点数。 10.分别将第5题两个结果均转换为2?9的矩阵。 11.计算第5题矩阵A 的转置。 12.分别计算第5题矩阵A 和B 的A +B 、A .* B 和A \B 。 13.判断第5题矩阵A 和B 中哪些元素值不小于4。 14*.分别用函数strcat()和矩阵合并符合并如下字符串:' The picture is '和' very good '。 15*.创建字符串数组,其中元素分别为‘Picture ’和'Pitch '。 16*.在第14题结果中查找字符串'e'。 17*.在第15题结果中匹配字符串'Pi'。

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 二维、三维和特殊图形的常用函数; 2、 熟悉并掌握图像输入、输出及其常用处理的函数。 二、 实验内容 1 绘制函数的网格图和等高线图。42 2cos cos y x ye x z +-= 其中x 的21个值均匀分布在[-5,5]范围,y 的31个值均匀分布在[0,10],要求将产生的网格图和等高线图画在同一个图形窗口上。 2 绘制三维曲面图,使用纯铜色调色图阵进行着色,并进行插值着色 处理。?????===s z t s y t s x sin sin cos cos cos 230,20ππ≤≤≤≤t s 3 已知 ???????>++≤+=0),1ln(210,22x x x x e x y π 在-5<=x<=5区间绘制函数曲线。 4 已知y1=x2,y2=cos(2x),y3=y1*y2,其中x 为取值-2π~2π的等差数列(每次增加0.02π),完成下列操作: a) 在同一坐标系下用不同的颜色和线型绘制三条曲线,给三条曲线添加图例; b) 以子图形式,分别用条形图、阶梯图、杆图绘制三条曲线,并分别给三个图形添加标题“y1=x^2”,“y2=cos(2x)”和“y3=

y1*y2”。 5 在xy 平面内选择区域[][],,-?-8888 ,绘制函数 z =的三 种三维曲面图。 6 在[0,4pi]画sin(x),cos(x)(在同一个图象中); 其中cos(x)图象用红色小圆圈画.并在函数图上标注 “y=sin(x)”, “y=cos(x)” ,x 轴,y 轴,标题为“正弦余弦函数图象”. 7 分别用线框图和曲面图表现函数z=cos(x)sin(y)/y ,其中x 的取值为 [-1.5pi,1.5pi],y=x ,要求:要有标题、坐标轴标签 8 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成) 9 2 2y x xe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口 的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图 10 x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。 11 用sphere 函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。 12 以自己的个人画像或照片(JPG)为对象,读入该图像并了解图像的信息,同时利用所学函数对其进行灰度、二值、旋转及缩放等处理,并以PNG 形式输出。

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

matlab上机实验指导书

MATLAB应用基础实验指导书

第一章 MATLAB及其工作环境介绍 (1) 1.1 MATLAB简介 (1) 1.2 MATLAB的工作环境介绍 (1) 1.3 MATLAB的基本管理命令 (4) 第二章 MATLAB的数值计算功能 (5) 2.1 变量与赋值语句 (5) 2.2 MATLAB矩阵 (5) 2.3 MATLAB表达式 (10) 2.4 MATLAB常用数学函数 (11) 2.5 矩阵的基本运算 (12) 2.6 数组运算 (16) 2.7 多项式及其运算 (17) 第三章 MATLAB程序设计入门 (19) 3.1 M文件 (19) 3.2 数据的输入输出 (21) 3.3 全局变量和局部变量 (23) 3.4 程序流程控制 (23) 第四章 MATLAB的符号运算功能 (28) 4.1 建立符号对象 (28) 4.2 符号算术运算 (29) 4.3 符号微积分运算 (32) 4.4 符号函数的可视化 (34) 第五章 MATLAB的可视化功能 (37) 5.1 二维图形 (37) 5.2绘制三维图形 (42) 5.3 特殊坐标图形 (44) 5.4 图形句柄 (45)

第一章 MATLAB及其工作环境介绍 1.1 MATLAB简介 MATLAB是matrix和laboratory前三个字母的缩写,意思是实验室矩阵。MATLAB 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,经过十多年的发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图象处理系统、MATLAB数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的体系。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱组成。 MATLAB具有以下基本功能: ●数值计算功能 ●符号计算功能 ●图形处理及可视化功能 ●可视化建模及动态仿真功能 MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学。其指令格式与数学表达式非常相近,用MATLAB编写程序犹如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB 编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使技术人员对大量原始数据的分析变得轻松和得心应手。 MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前MATLAB已成为国际上公认的最优秀的科技应用软件。 1.2 MATLAB的工作环境介绍 一、MATLAB的工作环境

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

河南城建学院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电子信息应用实验项目:矩阵和数组的操作 实验地点:电机馆跨越机房 专业班级:学号: 学生姓名: 指导教师: 2014年3月26 日

一、实验目的 1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。 2.学习矩阵和数组的加减运算与乘法。 3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。 二、预备知识 1.常用的产生特殊矩阵的函数 ?eye(m,n) 单位阵 ?rand(m,n) 随机矩阵 ?randn(m,n) 正态分布的随机矩阵 ?zeros(m,n) 零矩阵 ?ones(m,n) 全部元素都为1的矩阵 ?compan(A) 矩阵A的伴随矩阵 ?bankel(m,n) n维Hankel矩阵 ?invhilb(n) n维逆Hilbert矩阵 ?magic(n) n维Magic矩阵 ?toeplitz(m,n) Toeplitz矩阵 ?wilkinson(n) n维Wilkinson特征值测试矩阵 ?handamard(n) n维Handamard矩阵 ?hilb(n) n维Hilbert矩阵 ?kron(A,B) Kronecker张量积 ?pascal(n) n维Pascal矩阵 ?vander(A) 由矩阵A产生Vandermonde矩阵 2.通过矩阵的结构变换,获得新矩阵 表2 矩阵结构变化产生新矩阵 L=tril(A) L主对角线及以下元素取矩阵A 的元素,其余为0 L=tril(A,k) L及第k条对角线及以下元素取矩阵A的元素,其余为 U=triu(A) U主对角线及以上的元素取矩阵A的元素,其余为0 U=triu(A,k) U第k条对角线及以上的元素取矩阵A的元素,其余为

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

Matlab上机实验答案 (1)

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

>> 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) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

实验二MATLAB程序设计含实验报告

实验二M A T L A B程序设计含实验报告 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 5. (Root Mean Square)的计算(1(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。 6.根据2 2222 1......3121116n ++++=π,求π的近似值。当n 分别取100、1000、10000时,结果是多少 思考题:

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ?? ????++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g)

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上机习题一 请按以下步骤完成上机实验: 1)在FTP上下载“MATLAB上机习题一.doc”文件,所有习题列在该文件内; 2)在MATLAB中完成所有习题,并将屏幕截图粘贴到相应习题后面; 3)如果习题是问答题,请将答案写在题目后; 4)如果有的习题要求提供脚本文件,请将脚本文件内容拷贝到相应习题后; 5)将文件保存并重命名为“自己的学号-姓名”,例如“20110771-张三.doc”; 6)上传该文件到FTP的相关目录。 1. 运行MATLAB软件,拖放、关闭界面上的子窗口,并恢复到原始试图。 2. 采用鼠标及命令两种方式将桌面添加到MATLAB搜索路径列表的起始及最后位置。 3. 采用鼠标及命令方式将当前工作目录设置为桌面指向的文件夹。 4. 通过使用帮助确定内置变量ispc 的含义。 6. 观察MATLAB中关键字、字符串、注释的字体显示颜色。 5. 创建double类型的变量,并进行计算 1)a=87,b=190,计算a+b、a-b、a*b;

2)创建uint8类型的变量,数值与(1)中相同,进行相同的计算,观察计算结果与预想的是否一致。 6. 计算如下表达式: 1)()sin 60 2)3e 3)3cos 4π?? ??? 4)2 7562323336 +?-?? 7. 设u=2,v=3,计算: 1)4log uv v 2)() 2 2u e v v u +- 3 8. 计算如下表达式: 1)()()3542i i -+ 2)()sin 28i - 9. 判断下面语句的运算结果,并与MATLAB 计算结果做比较:

1)420< 2)420≤ 3)420== 4)4~20= 5)''''b B < 10. 设a=39,b=58,c=3,d=7,判断下面表达式的值与MATLAB 计算结果做比较: 1)a b > 2)a b < 3)&&a b b c >> 4)a d == 5)|a b c > 6)~~d 11. 判断下列变量名哪些是合法的MATLAB 变量: 1)fred 7)fred! 2)book_1 8)book-1 3)2ndplace 9)Second_Place 4)#1 10)No_1 5)vel_5 11)vel.5 6)tan 12)while 提示,可以使用isvarname 对上述变量名进行检验。 12. 编写脚本程序,命名为barbell.m ,完成如下计算: 如图1所示的杠铃,

实验4 Matlab程序设计2实验报告

Tutorial4 实验报告 实验名称:Matlab 程序设计2 实验目的: 1、 熟悉利用向量运算来代替循环操作的方法。 2、 熟悉异常处理的应用 3、 熟悉函数的嵌套调用和递归调用 4、 熟悉全局变量的应用 5、 熟悉函数参数的可调性 实验内容: 1. 根据 2 22221111 6 123 n = ++++ π,求π的近似值。当n 分别取100、1000、10000时,结果是多少? 要求:分别用循环结构和向量运算(使用sum 函数)来实现。 2. 建立一个函数,要求输出某个矩阵的第n 行元素。当n 值超过矩阵的行数时,自动转为 输出矩阵的最后一行元素,并给出出错信息。 提示:利用warning 3. 先用函数的递归调用定义一个函数文件求 1 n m i i =∑,然后调用该函数文件求 100 50 10 2 1 1 1 1 k k k k k k ===++∑∑∑ 4. 已知 ,,,,12 312311021323 n n n n f n f n f n f f f f n ---==??==?? ==??=-+>? 求1 100f f 中:

(1)最大值、最小值、各数之和。 (2)正数、零、负数的个数。 5. 编写一个函数,当用户输入的是一个数组参数的时候表示求其相反数,当用户输入的是两个数组参数的时候是求两个值的差值,但如果两个值的空间大小不相等,则给出错误提示“两个数组空间大小不一致”后,结束程序运行。 提示:利用error 6. 写出下列程序的输出结果。 命令文件exe.m global x x = 1:2:5;y = 2:2:6; sub(y); x,y 函数文件sub.m function fun = sub(z) global x z = 3*x;x = x+z; 实验代码及结果 1.

Matlab上机实验二

1. 对Runge 函数2()1/(125)R x x =+在区间[-1,1]作下列插值逼近,并和()R x 的图 像进行比较,并对结果进行分析。 (1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值 多项式的图像。 (2) 用节点21cos()(0,1,2...,20)42 i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。

(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数 的图像。 (4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值 函数的图像。

结果分析: 等距节点的Newton插值在边界附近呈现不收敛的状态,也就是所谓的Runge 现象。这是因为被插函数2 ()1/(125) R x x =+及其任意阶导数并不是一致有界的。 由Lagrange插值的余项 (n1) 1 () ()()()() (1)! n n n f R x f x L x x n ξ ω + + =-= + ,由于高阶导数值 非常大,在等距节点的高次插值中,余项的值很大,亦即误差特别大,表现为Runge现象。在实际中,除非被插函数的光滑性十分好,否则等距节点的高次插值一般不使用。 切比雪夫多项式零点插值没有出现Runge现象,这是因为对于Lagrange插 值的余项 (n1) 1 () ()()()() (1)! n n n f R x f x L x x n ξ ω + + =-= + ,切比雪夫多项式零点插值可以 将 1() n x ω +项控制在 1 2n 以下( 1 [1,1] max() n x x ω + ∈- = 1 2n ),由此可得切比雪夫多项式零点 插值的误差范围 (n1) [1,1] () max() 2(1)! n n x f R x n ξ + ∞ ∈- ≤ + ,比等距节点的高次插值小很多,因此 对于被插函数的光滑性要求要比等距节点的插值也低很多。 分段低次线性插值是常用的一种插值方式。线性插值的优点在于计算量小,但是从图中可以看出,其光滑性不够。三次样条插值要求其一阶导数是连续的,因此其准确性好,光滑性也较优。

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

MATLAB上机题汇总(基本题,抽3题)合肥学院

1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example 2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下: 4/3)2 t y e π-= 3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。 4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置 5求方程组的根 x 1+4x 2-3x 3=2 2x 1+5x 2-x 3=11 x 1+6x 2+x 3=12 6已知:一个多项式的系数向量是p=[1 -6-72 -27],求这个多项式的根。 7已经两个多项式的系数分别是:[1 2 3 4]和[1 4 9 16],请求这两个多项式的乘积,及商和余数。 8给定一个多项式的根是[-5 -3+4i -3-4i],求原来的多项式 9 A=[2 3 4; 1 5 7; 6 2 5] 用什么函数,保证第一列排序的时候,其他列跟着变化。最后的结果是: [1 5 7; 2 3 4; 6 2 5] 10补充题:电路分析 电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得出的。下图描述了3个回路电压的方程

方程式如下: 11121222132423432 532()0()()0()0V R I R I I R I I R I R I I R I I R I V -++-=??-++-=??-++=? 假设5个电阻值为已知,2个电压值也为已知,求3个电流值。 11自行产生一个5行5列的数组,用两种方法得到最中间的三行三行矩阵。 12根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。(思考:大于0的正常显示,小于等于0的用-10来表示) 13建立如下一个元胞数组,现在要求计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第二个元素。 a={pascal(4),'hello';17.3500,7:2:100} 14建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是: 问题1,如何找到第2个人的分数并显示出来 问题2,如何找到第2个人的每门课程3个阶段的平均分数并显示出来 问题3,全班同学(指这3个学生)的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里。 问题4,找到这个班所有同学的姓名放到一个元胞数组里 15给定一个图像文件,格式是jpg ,通过inportdata 引入这个文件,查看引入后数据保存是一个数组,是100*100*3的一个数组,这是一个三维的数组,表明有100*100个点,每个点有RGB 三个方面决定的。现在,要求将这些点的中间部分30个象素宽度的正方形用黑点表示。 16手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。然后使用image 函数显示这个图像,再用imwrite 函数保存这个图像,使这个图像用图片浏览器也能够查看。 17给定一个矩阵 a = 1 2 3 4 5 6 编写一个M 函数,要求输入是a ,输出有三个:平均数,标准差,秩。程序运行

相关文档
最新文档