搜档网
当前位置:搜档网 › matlab数学实验

matlab数学实验

matlab数学实验
matlab数学实验

《管理数学实验》实验报告

班级姓名

实验1:MATLAB的数值运算

【实验目的】

(1)掌握MATLAB变量的使用

(2)掌握MATLAB数组的创建,

(3)掌握MATLAB数组和矩阵的运算。

(4)熟悉MATLAB多项式的运用

【实验原理】

矩阵运算和数组运算在MATLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。

【实验步骤】

(1)使用冒号生成法和定数线性采样法生成一维数组。

(2)使用MATLAB提供的库函数reshape,将一维数组转换为二维和三维数组。

(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。

(4)使用MATLAB绘制指定函数的曲线图,将所有输入的指令保存为M文件。

【实验内容】

(1)在[0,2*pi]上产生50个等距采样数据的一维数组,用两种不同的指令实现。

0:(2*pi-0)/(50-1):2*pi 或linspace(0,2*pi,50)

(2)将一维数组A=1:18,转换为2×9数组和2×3×3数组。

reshape(A,2,9)

ans =

Columns 1 through 7

1 3 5 7 9 11 13

2 4 6 8 10 12 14

Columns 8 through 9

15 17

16 18

reshape(A,2,3,3)

ans(:,:,1) =

1 3 5

2 4 6

ans(:,:,2) =

7 9 11

8 10 12

ans(:,:,3) =

13 15 17 14 16 18

(3)A=[0 2 3 4 ;1 3 5 0],B=[1 0 5 3;1 5 0 5],计算数组A 、B 乘积,计算A&B,A|B,~A,A= =B,A>B 。 A.*B

ans=

0 0 15 12

1 15 0 0 A&B

ans =

0 0 1 1

1 1 0 0 A|B

ans =

1 1 1 1

1 1 1 1

~A

ans =

1 0 0 0

0 0 0 1

A==B

ans =

0 0 0 0

1 0 0 0

A>=B

ans =

0 1 0 1

1 0 1 0

(4)绘制y= 0.53

t e -t*t*sin(t),t=[0,pi]并标注峰值和峰值时间,添加标题y= 0.53

t e -t*t*sint ,将所有输入的指令保存为M 文件。 a=0.5 b=1/3

t=0:0.001:pi

y=a*exp(b*t)-t.*t.*sin(t) [y_max,t_max]=max(y)

t_text=['t=',num2str(t(t_max))] y_text=['y=',num2str(y_max)]

max_text=char('maximum',t_text,y_text) tit=['y=a*exp(',num2str(b),'t)-t*t*sin(t)'] hold on plot(t,y,'y.')

plot(t(t_max),y_max,'r')

text(t(t_max)+0.3,y_max+0.1,max_text)

title(tit),xlabel('t'),ylabel('y'),hold off

【实验心得与总结】

通过这次试验让我了解常用简单函数的功能,学会利用函数解决一些;数值计算和符号计算的实际问题;利用Matlab的help命令查询一些函数的功能。利用MATLAB可以让繁琐的

计算问题变得更加简单化,如矩阵运算等。\

实验2:MATLAB 绘图

【实验步目的】

利用MTALAB 画墨西哥帽子,及参数方程的图像 【实验原理】

(1)二维绘图命令:plot(x,y)函数

(2)三维绘图命令中三维曲线:plot3(x,y,z), (3)利用mesh 函数画三维的网格表面的。

【实验内容】

(含参考程序、实验结果及结果分析等)

画出函数图形π100)cos(23

≤≤??

???===t t z t

y t x 。 方程:

π100)cos(23

≤≤??

???===t t z t

y t x 【参考程序】 >> t=0:0.1:4*pi;

>> plot3(2*cos(t),t.^3,t) 【实验结果】

画出曲面

]5.7,5.7

[

,

sin

)

,

(

2

2

2

2

-

+

+

=

=x

y

x

f

z

y

x

y

x

的图像。

方程:

(,)[7.5,7.5],[7.5,7.5]

z f x y x y

=∈-∈-

【参考程序】

x = -7.5:0.5:7.5;

y = x;

[xx, yy] = meshgrid(x, y);

R = sqrt(xx.^2 + yy.^2) + eps;

z = sin(R)./R;

surf(xx, yy, z)

【实验结果】

【实验心得与总结】

Matlab的常见错误:Inner matrix dimensions must agree

1、因为在Matlab的输入变量是矩阵,参与运算的矩阵维数必须对应,矩阵相应元素的运算必须全部加dot(点),例2中方程如果这样输入:x=2*(cos(t)+t*sin(t)),就会出现该错误.

2、mesh函数是用来画三维的网格表面的。三维空间中的一个点是用(x,y,z)来表示的,mesh就是把这些点之间用网格连接起来。

实验3:MATLAB 微积分问题的计算

【实验目的】利用MTALAB 求解二重积分、勒展开式及级数求和。 【实验原理】

1.利用int(int(f,x,a,b),y,c,d)函数求二重积分计算累次积分

??

d c

b

a

dxdy y x f ),(

2.利用泰勒函数taylor (f,n,x,a)来求f(x,y)的n-1阶泰勒展开式

k n k k a x k a f x f )(!

)

()(1

)(-?=∑

-=; 3.利用函数symsum(f,k,n1,n2)来求级数的和函数

∑=2

1

)(n n k k f

【实验内容】(含参考程序、实验结果及结果分析等)

??

+1

01

22

x xydydx

x

【参考程序】 >> syms x y >> z=x*y;

>> f=int(int(z,y,2*x,x^2+1),x,0,1) 【实验结果】 f =1/12

将f (x )=ln x 展开为幂为(x-2)的5阶泰勒展开式。 【参考程序】 >> syms x n;

>> f=(-1)^n*x^(n+1)/(n+1); >> symsum(f,n,1,inf) 【实验结果】

ans =log(1+x)-x

级数求和)1,1(,1)1(1

1

-∈+-+∞

=∑x n x n n n

【参考程序】

>> syms x n;

>> f=(-1)^n*x^(n+1)/(n+1); >> symsum(f,n,1,inf) 【实验结果】

ans = log(1+x)-x 【实验心得与总结】

1、在实验过程中,要是一句程序结束后加了分号,则说明,不要求执行程序时输出执行结果;

2、在matlab 中是区别大小写的,如果N 写成n 会出现Undefined function or variable

'n'.Undefined function or variable 'n'.的错误提示.

实验4: MATLAB 优化计算

【实验目的】

掌握应用matlab 求解无约束最优化问题的方法

【实验原理与方法】 1:标准形式:

元函数

为其中n R R f X f n

R x n

→∈:)

(min

2.无约束优化问题的基本算法一.最速下降法(共轭梯度法)算法步骤: ⑴ 给定初始点n E X ∈0,允许误差0>ε,令k=0; ⑵ 计算()

k X f ?;

⑶ 检验是否满足收敛性的判别准则: ()

ε≤?k X f ,

若满足,则停止迭代,得点k X X ≈*,否则进行⑷; ⑷ 令()

k k X f S -?=,从k X 出发,沿k S 进行一维搜索, 即求k λ使得: ()()

k k k k k S X f S X f λλλ+=+≥0

min ;

⑸ 令k k k k S X X λ+=+1,k=k+1返回⑵.

最速下降法是一种最基本的算法,它在最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法..牛顿法算法步骤:

(1) 选定初始点n E X ∈0,给定允许误差0>ε,令k=0; (2)

求()k X f ?,()()

1

2-?k

X f ,检验:若()

ε

停止迭代,k X X ≈*.否则, 转向(3);

(3) 令 ()()

k k k X f X f S ??-=-12][(牛顿方向); (4) k k k S X X +=+1,1+=k k ,转回(2).

如果f 是对称正定矩阵A 的二次函数,则用牛顿法经过一次迭代 就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点, 但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收 敛速度还是很快的.

牛顿法的收敛速度虽然较快,但要求Hessian 矩阵要可逆,要计算二阶导数和逆矩阵,就加大了计算机计算量和存储量. 【实验内容】

1. 求 f = 2x e x

sin -在0

fplot(f,[0,8]); %作图语句

[xmin,ymin]=fminbnd (f, 0,8)

f1='-2*exp(-x).*sin(x)';

[xmax,ymax]=fminbnd (f1, 0,8)

运行结果:

xmin = 3.9270 ymin = -0.0279

xmax = 0.7854 ymax = 0.6448

2. 对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如

何剪法使水槽的容积最大?

先编写M文件fun0.m如下: function f=fun0(x)

f=-(3-2*x).^2*x;

主程序为wliti2.m:

[x,fval]=fminbnd('fun0',0,1.5);

xmax=x

fmax=-fval运算结果为: xmax = 0.5000,fmax =2.0000.即剪掉的正方形的边长为0.5米时水槽的容积最大,最大容积为2立方米.

实验5:MATLAB图论问题计算

【实验目的】

了解用Matlab软件求解图论模型及层次分析模型的方法。

【实验内容与原理】

内容:1.某城市要建立一个消防站,为该市所属的七个区服务,如图所示.问应设在那个区,才能使它至最远区的路径最短。

2.某矿区有七个矿点,如图所示.已知各矿点每天的产矿量

)

(

j

v

q

(标在图的各顶点上).现要从这七个矿点选一个来建造矿厂.问应选在哪个矿点,才能使各矿点所产的矿运到选矿厂所在地的总运力(千吨公里)最小.

原理:利用层次分析法和图论方法模型的一般概念,理解建立层次分析法和图论方法模型的设剪去的正方形的边长为x,则水槽的容积为:x

x)

2

3(2

-

建立无约束优化模型为:min y=-x

x)

2

3(2

-, 0

解:

一般方法,初步学会建立层次分析法和图论方法模型以解决实际问题。

【操作方法与步骤】 步骤:1.(1)用Floyd 算法求出距离矩阵D=ν

ν?)(ij d .

(2)计算在各点i v 设立服设 施的最大服务距离)(i v S

}

{max )(1ij j i d v S ν

≤≤= νΛ,2,1=i

(3) 求出顶点k v ,使)}({min )(1i i k v S v S ν≤≤=

建立M 文件

a=[0 3 inf inf inf inf inf; 3 0 2 inf 18 2.5 inf; inf 2 0 6 2 inf inf; inf inf 6 0 3 inf inf; inf 18 2 3 0 4 inf; inf 2.5 inf inf 4 0 1.5; inf inf inf inf inf 1.5 0];

[D,R]=floyd(a) 点击运行 则

k

v 就是要求的建立消防站的地点.此点称为图的中心点.

2. (1)求距离阵D=

ν

ν?)(ij d .

(2) 计算各顶点作为选矿厂的总运力

)(i v m

ij

j j i d v q v m ?=∑=)()(1

ν

νΛ,2,1=i (3)求

k

v 使

)}

({min )(1i i k v m v m ν

≤≤=,

(4)建立M 文件 a=[0 3 inf inf inf inf inf; 3 0 2 inf inf 4 inf; inf 2 0 6 2 inf inf; inf inf 6 0 1 inf inf; inf inf 2 1 0 4 inf; inf 4 inf inf 4 0 1.5; inf inf inf inf inf 1.5 0]; [D,R]=floyd(a) q=[3,2,7,1,6,1,4]; m=0; for i=1:7 for j=1:7

m=m+q(i)*D(i,j); end m m=0; end

点击运行 (5)则

k v 就是选矿厂应设之矿点.此点称为图G 的重心或中位点.

【实验结果与分析】 实验结果与分析:1.

S(v1)=10, S(v2)=7, S(v3)=6, S(v4)=8.5, S(v5)=7, S(v6)=7, S(v7)=8.5 S(v3)=6,故应将消防站设在v3处。 2.

由上述公式可得: m(v1)=38.5*3=115.5, m(v2)=23.5*2=47, m(v3)=23.5*7=164.5, m(v4)=28.5,

m(v5)=23.5*6=141, m(v6)=27.5, m(v7)=35*4=140

再求其中的最小值,m(v6)=27.5,则6v 就是选矿厂应设之矿点.

实验6:MATLAB 计算机模拟计算

【实验目的】

学会用数学软件matlab 和蒙特卡洛方法估计积分值,并于其中应用概率论中的概率密度等知识点。

【实验问题】

估计积分值,并对误差进行估计。 【实验要求】

针对要估计的积分选择适当的概率分布设计蒙特卡洛估计算法; 利用计算机产生所选分布的随机样本的估计积分值; 通过计算平均误差对估计结果进行评价。 【实验过程分析】

(x 为运行结果平均值,y 为样本方差)

估计程序如下: clc; clear;

??????????

?

??=05.15.55.65.75.55.85.10456475.54012475.65

103585.76230255.54452035.8778530D

m=10;

n=10000;

d=0;

e=0;

for i=1:m

d=0;

a=rand(1,n);

for j=1:n

b=a(j)+2;

c=b^2;

e(i)=d+c/n;

d=e(i);

end

fprintf('e=%.8f\n',e(i))

end

p=sum(e)/m;

for j=1:m;

s(j)=(e(j)-p)^2;

end

q=sum(s);

fprintf('x=%.8f\ny=%.8f\n',p,q); 结果为:

e=6.34879520

e=6.34068140

e=6.35081124

e=6.31353632

e=6.35586630

e=6.33058791

e=6.32419121

e=6.33707454

e=6.30357011

e=6.35063255

x=6.33557468

y=0.00304243

2.估计程序变动如下:

b=a(j)*3;

c=b*sin(b)*3;

结果为:

e=3.12211717

e=3.11373037

e=3.07484948

e=3.08660758

e=3.10052243

e=3.10475698

e=3.13762746

e=3.16481618

e=3.11552000

e=3.09615989

x=3.11167076

y=0.00669223

3.估计程序变动如下:b=exp(-a(j)^2/2);

c=b/n*(2*pi)^0.5;

e(i)=d+c/2;

结果为:

e=0.88617655

e=0.88538972

e=0.88635209

e=0.88575809

e=0.88653705

e=0.88606366

e=0.88634011

e=0.88613926

e=0.88573325

e=0.88644154

x=0.88609313

y=0.00000132

4.估计程序变动如下:b=exp(a(j)^2);

c=b/n;

e(i)=d+c;

结果为:

e=1.46211146

e=1.46154792

e=1.46327379

e=1.46256348

e=1.46318297

e=1.46235828

e=1.46241378

e=1.46316145

e=1.46203052

e=1.46280489

x=1.46254485

y=0.00000320

5.估计程序变动如下:

b=a(i)*4;

c=1/((1+b^2)^0.5);

e(i)=d+c*4/n;

结果为:

e=1.98511173

e=1.02167881

e=1.26713031

e=0.98770837

e=1.14216662

e=1.75642022

e=1.97055988

e=1.96227794

e=1.83229787

e=1.06190231

x=1.49872541

y=1.90228258

【实验结果与分析】

通过对实验所得平均值与真实值的比较,可以看出实验结果与真实值相比非常接近,而且样本方差很小,从而说明概率分布的选取比较适当,计算机实验很准确。

实验7:MATLAB与马尔科夫预测模型

【实验目的】

基于matlab编程应用马尔可夫预测模型

【实验原理】

马尔可夫通过实践认为:世界上无论是社会领域还是自然领域,有一类事物的变化过程只与事物的近期状态有关,与事物的过去状态无关,这类事物的性质称为无后效性。

例如,事物π,从初始状态π(0)起,变动一次后为π(1),变动n次后为π(n),则π(n)仅与π(n-1)有关,与n-1以后的各次变动无关。

马尔可夫链:如果n个连续变动的事物,在变动的过程中,其中任一次变动的结果都具有无后效性,那么,这n个连续变动事物的集合,就叫做马尔可夫链,这类事物的演变过程就叫做马尔可夫过程。

【实验内容】

1.农业收成变化预测

考虑某地区农业收成变化的三个状态,即“丰收”、“平收”和“欠收”。记E1为“丰收”状态,E2为“平收”状态,E3为“欠收”状态。下表给出了该地区1965~2004年期间农业收成的状态变化情况。试计算该地区农业收成变化的状态转移概率矩阵,并进行预测。

使用matlab实现如下:

P=[0.2000 0.4667 0.3333;0.5385 0.1538 0.3077;0.3636 0.4545 0.1818];

% 读入状态转移概率矩阵

x=[0,1,0];

% 读入初始状态概率向量(2004年的农业收成状态)

for i=1:11 % 预测今后11 年(2005-2015)的农业收成状态

y= x*P^i

end

运行结果如下:

y =0.5385 0.1538 0.3077

y =0.3024 0.4148 0.2827

y =0.3867 0.3334 0.2798

y =0.3586 0.3589 0.2823

y =0.3677 0.3509 0.2813

y =0.3648 0.3534 0.2817

y =0.3657 0.3526 0.2815

y =0.3654 0.3529 0.2816

y =0.3655 0.3528 0.2815

y =0.3654 0.3528 0.2815

y =0.3654 0.3528 0.2815

2.市场占有率预测

某厂对某产品的市场占有率和销售情况进行了调查:一月份共销售了50万件,其中普通、一级、特级品分别为35、10、5万件。二月份中,一月份买普通品的顾客25%的顾客转买一级品,8%的顾客转买特级品;一月份买一级品的顾客10%转买特级品,3%转买普通品;一月份买特级品的顾客2%买普通品,15%转买一级品。请预测以后月份各个等级产品的市场占有

率。

由所给的资料可知

35105

[,,][0.7,0.2,0.1]

505050

π==

使用matlab实现如下:

P=[0.67 0.25 0.08;0.03 0.87 0.1;0.02 0.15 0.83];

%读入状态转移矩阵

x=[0.7 0.2 0.1];

% 读入初始状态概率向量(一月份各等级产品的市场占有率)

for i=1:11 % 预测今年剩余11个月各产品等级的市场占有率

y= x*P^i

end

运行结果如下:

y =0.4770 0.3640 0.1590

y =0.3337 0.4598 0.2065

y =0.2415 0.5144 0.2441

y =0.1821 0.5445 0.2734

y =0.1438 0.5603 0.2959

y =0.1191 0.5678 0.3131

y =0.1031 0.5707 0.3262

y =0.0927 0.5712 0.3361

y =0.0860 0.5705 0.3435

y =0.0816 0.5694 0.3490

y =0.0787 0.5681 0.3532

结论:顾客对普通品的需求有减少的趋势,对一级品和特级品的需求有增加的趋势,因此,可以调整相应等级产品的产量。

实验8:基于MATLAB的灰色预测模型

【实验目的】

实验目的:掌握灰色预测模型及其应用

基本内容:灰色预测模型的提出,建模以及实现代码。

【实验内容】

灰色系统( Grey System)理论是我国著名学者邓聚龙教授20世纪80年代初创立的一种兼备软硬科学特性的新理论。该理论将信息完全明确的系统定义为白色系统,将信息完全不明确的系统定义为黑色系统,将信息部分明确、部分不明确的系统定义为灰色系统。由于客观世界中,诸如工程技术、社会、经济、农业、环境、军事等许多领域,大量存在着信息不完全的情况。要么系统因素或参数不完全明确,因素关系不完全清楚;要么系统结构不完全知道,系统的作用原理不完全明了等,从而使得客观实际问题需要用灰色系统理论来解决。

灰色预测是应用灰色模型GM( 1,1) 对灰色系统进行分析、建模、求解、预测的过程。由于灰色建模理论应用数据生成手段,弱化了系统的随机性,使紊乱的原始序列呈现某种规律,规律不明显的变得较为明显,建模后还能进行残差辨识,即使较少的历史数据,任意随机分

布,也能得到较高的预测精度。因此,灰色预测在社会经济、管理决策、农业规划、气象生态等各个部门和行业都得到了广泛的应用。

一、GM(1,1)模型建立

设有k个原始非负样本序列为揭示系统的客观规律,灰色系统理论采用了独特的数据预处理方式,对序列{}进行一阶累加生成,即AGO生成,

由此得生存数列:

GM(1,1)模型的原始形式为:

为的紧邻值生存序列

其中

GM(1,1)模型的基本形式:

若=为参数列,且

,

则GM(1,1)模型的最小二乘估计参数列满足

关于的白化方程也叫影子方程为:

定理:白化方程的解也称时间响应函数为:

GM(1,1)模型的时间响应序列为

实际预测值为

二、模型检验

为确保所建立的GM(1,1)模型有较高的预测精度,还需要进行以下检验

(1)求出及之残差e(k)、相对误差和平均相对误差:

,,.

(2)求出原始数据平均值x:

.

三、残差修正模型

记,当然我们知道并不一定全为负或者全为正,这时我们令,同时令,则是一个非负序列,我们可以用方法来建立它的GM模型,求解,得出其预测值,而后还原残差预测值,最后用修正原来的预测值,得到修正后的预测值.

四、实现代码

clear all

X0=input('请输入序列矩阵');% 输入数据请用如例所示形式:[48.7 57.17 68.76 92.15]或者[43823050,44649620,45793750 46613050 47715440 48526270 49713050],该向量为原始向量X0n=length(X0);

for i=2:n %开始进行建模可行性分析

Q(i)=X0(i-1)/X0(i);

end

Q(1)=[];

ma=max(Q);

mi=min(Q);

if ma>exp(2/(n+1))

disp(['序列无法进行灰色预测']);

return

elseif mi

disp(['序列无法进行灰色预测']);

return

else

disp(['序列可以进行灰色预测']);

end

clear Q ma mi %检验结束

X1=cumsum(X0);%累加生成算子向量X1

Z1=ones(n-1,2);

for i=1:(n-1)

Z1(i,1)=-(X1(i)+X1(i+1))/2;

Z1(i,2)=1;%均值生成算子Z1

end

Z1T=Z1';%均值生成算子矩阵Z1的转置Z1T

for j=1:n-1

Y(j)=X0(j+1);

end

YT=Y';

A=inv(Z1T*Z1)*Z1T*YT;%最小二乘估计计算参数a、u

a=A(1);%Z1参数a

u=A(2);%系统给定参数u

t=u/a;

t_test=input('请输入需要预测个数:');

i=1:t_test+n;

X1S(i+1)=(X0(1)-t).*exp(-a.*i)+t;%计算时间响应序列,得出估计累加向量X1S

X1S(1)=X0(1);

X0S(1)=X0(1);

for j=n+t_test:-1:2

X0S(j)=X1S(j)-X1S(j-1);%计算X1S的逆累加向量X0S,还原X0得到估计值

end

for i=1:n

Q(i)=X0S(i)-X0(i);%求残差

E(i)=abs(Q(i))/X0(i);%求相对误差

end

AVG=sum(E)/(n-1);%求平均相对误差

av=input('请输入允许的平均相对误差');%输入如0.1,或0.05等形式,不要用5%这类形式

if AVG>=av;%如果平均相对误差大于av%,则进入残差GM模型

clear cn Q1 CZ1 CZ1T CY CYT CA ca cu ct Q1S

cn=length(Q);

Q1=cumsum(Q);%累加生成算子向量Q1

CZ1=ones(cn-1,2);

for i=1:(n-1)

CZ1(i,1)=-(Q1(i)+Q1(i+1))/2;

CZ1(i,2)=1;%均值生成算子CZ1

end

CZ1T=CZ1';%均值生成算子矩阵CZ1的转置CZ1T

for j=1:cn-1

CY(j)=Q(j+1);

end

CYT=Y';

CA=inv(CZ1T*CZ1)*CZ1T*CYT;%最小二乘估计计算参数ca、cu

ca=CA(1);%CZ1参数a

cu=CA(2);%系统给定参数cu

ct=cu/ca;

i=1:t_test+cn;

Q1S(i+1)=(Q(1)-ct).*exp(-ca.*i)+ct;%计算时间响应序列,得出估计累加向量Q1S X1S=X1S+Q1S;%将残差拟合值加入,提高精度

for j=n+t_test:-1:2

X0S(j)=X1S(j)-X1S(j-1);%计算X1S的逆累加向量X0S

end

clear av

for i=1:cn

Q(i)=X0S(i)-X0(i);%求残差

E(i)=abs(Q(i))/X0(i);%求相对误差

end

AVG=sum(E)/(n-1);%求平均相对误差

end

x=1:n;

xs=2:n+t_test;

yn=X0S(2:n+t_test);

plot(x,X0,'^r',xs,yn,'*-b');%作图

disp(['百分平均相对误差为:',num2str(AVG*100),'%']);

disp(['拟合值为:',num2str(X0S(1:n+t_test))]);

disp(A);

【实验目总结】

1、灰色预测模型的应用范围有限,在使用时不能超过其能预测的范围

2、灰色预测模型的模型建立,以及检验非常重要,可以减少预测带来的误差

实验9:基于MATLAB 的模糊聚类分析

【实验目的】

1. 加强对MATLAB 软件使用的能力。

2. 加强对模糊数学学习的理解。

3. 基于MATLAB 对数据挖掘中使用模糊数学进行聚类分析 学会使用MATLAB 中的模糊工具箱。 【实验方案】

1. 实验原理

首先,我们要了解一般聚类分析分为三个步骤:(1)数据标准化,(2)标定,(3)聚类。 然后我们在来了解下什么是模糊数学:

(1) 模糊数学是1956年,美国加利福尼亚大学控制论专家扎德(L.A.Zadeh )教授

提出的。是一门研究和处理模糊性现象的数学方法。

(2) 对于有限论域 构造映射A(x):U →[0,1],确定U 上的

模糊子集A ,映射A(x)称为A 的隶属函数,它表示x 对A 的隶属程度。

(3) 模糊集的基本运算:

相等:A = B ? A (x ) = B (x );

包含:A ?B ? A(x )≤B(x ); 并:A ∪B 的隶属函数为

(A ∪B )(x )=A (x )∨B (x )=max{A (x ),B (x )};

交:A ∩B 的隶属函数为

(A ∩B )(x )=A (x )∧B (x )=min{A (x ),B (x )};

余:Ac 的隶属函数为

Ac (x ) = 1- A (x ).

2. 基于MATLAB 利用模糊数学实现聚类分析。

(1) 数据标准化。

设论域X = {x 1, x 2, …, xn }为被分类对象,每个对象又由m 个指标表示其性状:

xi = { xi 1, xi 2, …, xim }, i = 1, 2, …, n 。

根据模糊矩阵的要求,将数据压缩到[0,1]区间上。通常需要作如下几种变换: ①平移 ? 标准差变换

②平移 ? 极差变换

③对数变换

取对数以缩小变量间的数量级。

12{,}n U x x x =K ),...,2,1;,...,2,1(m k n i s x x x k

k

ik ik ==-='∑

∑==-==n

i k ik k n i ik k x x n s x n x 1

2

1)(1,1其中}1|min{}1|max {}

1|min{n i x n i x n i x x x ik ik ik ik ik

≤≤-≤≤≤≤-='')

,,2,1;,,2,1(lg m k n i x x ik ik ΛΛ==='

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)

注意:在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上). 第一次练习题 1.求解下列各题: 1)30sin lim x mx mx x ->- 2)(4)cos ,1000.0=x mx y e y 求 3)21/2 0mx e dx ?(求近似值,可以先用inline 定义被积函数,然后用quad 命令) 4)4 224x dx m x +? 5 0x =展开(最高次幂为8). 2.对矩阵21102041A m -?? ?= ? ?-?? ,分别求逆矩阵,特征值,特征向量,行列式,并求矩阵,P D (D 是对角矩阵),使得1A PDP -=。 3. 已知2 1(),()2f x e x μσ=--分别在下列条件下画出)(x f 的图形: (1)/600m σ=,μ分别为0,1,1-(在同一坐标系上作图); (2)0μ=,σ分别为1,2,4,/100m (在同一坐标系上作图). 4.画 (1)sin 020cos 02100x u t t y u t u t z m ??=≤≤?=?≤≤??=?

(2) sin()03,03z mxy x y =≤≤≤≤ (3)sin()(/100cos )02cos()(/100cos )02sin x t m u t y t m u u z u π π=+?≤≤?=+?≤≤?=? 的图(第4题只要写出程序). 5.对于方程50.10200 m x x --=,先画出左边的函数在合适的区间上的图形,借助于软件中的方程求根的命令求出所有的实根,找出函数的单调区间,结合高等数学的知识说明函数为什么在这些区间上是单调的,以及该方程确实只有你求出的这些实根。最后写出你做此题的体会. 第二次练习题 判断迭代收敛速度的程序 x0=1;stopc=1;eps=10^(-8);a=1;c=1;b=2*c;d=a;k=0; f=inline('(a*x+b)/(c*x+d)'); kmax=100; while stopc>eps&k

Matlab数学实验报告一

数学软件课程设计 题目非线性方程求解 班级数学081 姓名曹曼伦

实验目的:用二分法与Newton迭代法求解非线性方程的根; 用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 编程实现二分法及Newton迭代法; 学会使用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 通过实例分别用二分法及迭代法解非线性方程组并观察收敛速度。 实验内容: 比较求exp(x)+10*x-2的根的计算量。(要求误差不超过十的五次方) (1)在区间(0,1)内用二分法; (2)用迭代法x=(2-exp(x))/10,取初值x=0 。 试验程序 (1)二分法: format long syms x s=exp(x)+10*x-2 a=0; b=1; A=subs(s,a) B=subs(s,b) f=A*B %若f<0,则为由根区间 n=0; stop=1.0e-5; while f<0&abs(a-b)>=stop&n<=100; Xk=(a+b)/2; %二分 M= subs(s, Xk); if M* A<0 symbol=1 %若M= subs(s, Xk)为正,则与a二分 b= Xk else symbol=0 % 若M= subs(s, Xk)为负,则与b二分 a= Xk end n=n+1 end Xk n (2)牛顿迭代法; format long

syms x s= (2-exp(x))/10; %迭代公式 f=diff(s); x=0; %迭代初值 a=subs(f,x); %判断收敛性(a是否小于1) s=(2-exp(x))/10; stop=1.0e-5; %迭代的精度 n=0; while a<1&abs(s-x)>=stop&n<=100; x=s %迭代 s=(2-exp(x))/10; n=n+1 end 实验结果: (1)二分法: symbol =1 b =0.50000000000000 n =1 symbol =1 b =0.25000000000000 n =2 symbol =1 b =0.12500000000000 n =3 symbol =0 a =0.06250000000000 n =4 symbol =1 b =0.09375000000000 n =5 symbol =0 a =0.07812500000000 n =6 symbol =1 b =0.09054565429688 n =15 symbol =1 b =0.09053039550781 n =16 symbol =0 a =0.09052276611328 n =17 Xk =0.09052276611328 n =17 (2)迭代法 由x =0.10000000000000 n =1 x =0.08948290819244 n =2 x =0.09063913585958 n =3 x =0.09051261667437 n =4 x =0.09052646805264 n =5 试验结果可见用二分法需要算17次,而用迭代法求得同样精度的解仅用5次,但由于迭代法一般只具有局部收敛性,因此通常不用二分法来求得非线性方程的精确解,而只用它求得根的一个近似解,再用收敛速度较快的迭代法求得其精确解。

matlab数学实验练习题

Matlab 数学实验 实验一 插值与拟合 实验内容: 预备知识:编制计算拉格朗日插值的M 文件。 1. 选择一些函数,在n 个节点上(n 不要太大,如5 ~ 11)用拉格朗日、分段线性、三次样条三种插值方法,计算m 个插值点的函数值(m 要适中,如50~100)。通过数值和图形输出,将三种插值结果与精确值进行比较。适当增加n ,再做比较,由此作初步分析。下列函数任选一种。 (1)、 ;20,sin π≤≤=x x y (2)、;11,)1(2/12≤≤--=x x y (3)、;22,c o s 10 ≤≤-=x x y (4)、22),exp(2≤≤--=x x y 2.用电压V=10伏的电池给电容器充电,电容器上t 时刻的电压为 ) (0)()(t e V V V t v ---=,其中0V 是电容器的初始电压,τ是充电常数。试由下面 一组t ,V 数据确定0V 和τ。 实验二 常微分方程数值解试验 实验目的: 1. 用MATLAB 软件求解微分方程,掌握Euler 方法和龙格-库塔方法; 2. 掌握用微分方程模型解决简化的实际问题。 实验内容:

实验三地图问题 1.下图是一个国家的地图,为了计算出它的国土面积,首先对地图作如下测量: 以由西向东方向为x轴,由南到北方向为y轴,选择方便的原点,并将从最西边界点到最东边界点在x轴上的区间适当地划分为若干段,在每个分点的y方向测出南边界点和北边界点的y坐标y1和y2,这样就得到了表中的数据(单位mm)。 根据地图的比例我们知道18mm相当于40km,试由测量数据计算该国土 的近似面积,并与它的精确值41288km2比较。

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

浅析Matlab数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

南邮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数学实验100例题解

一元函数微分学 实验1 一元函数的图形(基础实验) 实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧. 初等函数的图形 2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势. 解:程序代码: >> x=linspace(0,2*pi,600); t=sin(x)./(cos(x)+eps); plot(x,t);title('tan(x)');axis ([0,2*pi,-50,50]); 图象: 程序代码: >> x=linspace(0,2*pi,100); ct=cos(x)./(sin(x)+eps); plot(x,ct);title('cot(x)');axis ([0,2*pi,-50,50]); 图象: cot(x) 4在区间]1,1[-画出函数x y 1 sin =的图形. 解:程序代码: >> x=linspace(-1,1,10000); y=sin(1./x); plot(x,y); axis([-1,1,-2,2]) 图象:

二维参数方程作图 6画出参数方程???==t t t y t t t x 3cos sin )(5cos cos )(的图形: 解:程序代码: >> t=linspace(0,2*pi,100); plot(cos(t).*cos(5*t),sin(t).*cos(3*t)); 图象: 极坐标方程作图 8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码: >> t=0:0.01:2*pi; r=exp(t/10); polar(log(t+eps),log(r+eps)); 图象: 90270 分段函数作图 10 作出符号函数x y sgn =的图形. 解:

matlab 数学实验 迭代 _ 蛛网图(免积分)

数学实验—实验报告(免积分) 一、实验项目:Matlab实验三—迭代 二、实验目的和要求 a.熟悉MATLAB软件的用户环境,掌握其一般目的命令和MATLAB数组操作与 运算函数; b.掌握MATLAB软件的绘图命令,能够熟练应用循环和选择结构实现各种循环 选择功能; c.借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜 想,发现进而证实其中的规律。 三、实验内容 问题一:将方程53 x x x +-+=改写成各种等价的形式进行迭代 5210 观察迭代是否收敛,并给出解释。 问题二:迭代以下函数,分析其收敛性。 4 f(x)=x-a 使用线性连接图、蛛网图或费根鲍姆图对参数a进行讨论和观察,会得到什么结论? 问题一: (1)画图 x1=-6:0.01:6; x2=-3:0.01:3; x3=-1:0.01:1; x4=-0.8:0.01:-0.75; y1=x1.^5 +5*x1.^3-2*x1+1; y2=x2.^5 +5*x2.^3-2*x2+1; y3=x3.^5 +5*x3.^3-2*x3+1; y4=x4.^5 +5*x4.^3-2*x4+1; subplot(2,2,1),plot(x1,y1) ,title('图(1)') ,grid on, subplot(2,2,2),plot(x2,y2) ,title('图(2)'),grid on, subplot(2,2,3),plot(x3,y3) ,title('图(3)'),grid on, subplot(2,2,4),plot(x4,y4) ,title('图(4)') ,grid on,

MATLAB数学实验报告

Matlab 数学实验报告

一、实验目的 通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。 二、实验内容 2.1实验题目一 2.1.1实验问题 Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图 2.1.2程序设计 clear;clf; axis([0,4,0,4]); hold on for r=0:0.3:3.9 x=[0.1]; for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.5) for i=101:150

plot(r,x(i),'k.'); end text(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end 加密迭代后 clear;clf; axis([0,4,0,4]); hold on for r=0:0.005:3.9 x=[0.1];

for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.1) for i=101:150 plot(r,x(i),'k.'); end end 运行后得到Feigenbaum图

2.2实验题目二 2.2.1实验问题 某农夫有一个半径10米的圆形牛栏,长满了草。他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长? 2.2.2问题分析 如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。问题要求区域ABCD等于圆ABC 的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。

数学实验与数学软件(Mathmaticandmatlab)

数学软件与数学实验2013-2014学年度秋季学期期末试卷 专业:统计学 班级:11级2班 学号:20110723 姓名:晏静

一、按要求计算出下列表达式的值 (1)318, 3 162 53 ?? + ? ?? , 21 eπ+, 2.5 tg, 2 log15; (2)给出π的9位和e的10位近似值; (3)求658和4102的最大公约数及35和25的最小公倍数; (4)产生10个0与10之间随机数的一个表; (5)求虚数1453 i i i i +- -的实部,虚部,模,共轭,辐角。 (6)自己运用Table建立两个表,并进行表运算,如连接、并集、交、排序等操作。

二、因式分解 22212321332112322 1 22(1)()()()4;(2)21;x x x x x x x x x x x x x x x +++++---- 解: 三、解方程(组) 1234234124234-2+344-+-3(1)+31-73+3 x x x x x x x x x x x x x -=??=? ? +=??+=-? 65432(2)5232002000.x x x x x x -+--++= 四、求极限 () 20 (1)1sin ;(2);(3)56! ctg x n x n n n Lim x Lim n n →→∞ →∞++

(1) (2) (3) 五、求导数 32 22(1)()=ln(x+1+);(2)()=cos 2,; (3)=log (),Z . x f x x f f x e y x y Z xy x y y ???求的导数已知求求关于的二阶导 (1) (2) (3) 六、求下列定积分与不定积分: ()()()12201+sin ln 1+(1);(2);(3)sin (1+cos ) +1(1+)(2+-) x x dx dx x x x x x x ? ? ?2 2-(4)=0,=1,==.y D D x y y x I x e d σ??设是由直线围成的区域,计算的值 (1) (2)

Matlab数学实验一2015(标准答案版)

Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面和基本操作 2.了解matlab的数据输出方式(format) 3. MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式和要求填写实验报告 1.在commandwindow中分别输入如下值,看它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 ijeps inf nan pi realmaxrealmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4. 写出在命令窗口中的计算步骤和运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >>(log(pi)+log(pi)/log(10)-exp(1.2))^2/81 >>ans = 0.0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401.6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe0 1.mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01.mat”文件载入>> a=5.3 a=

MATLAB数学实验A

clear; clc; a=1;b=1; ezplot(sprintf('x^2/%f-y^2/%f',a^2,b^2)); hold on; ezplot(sprintf('x^2/%f-y^2/%f-1',a^2,b^2)); ezsurf('sin(a)*cos(b)','sin(a)*sin(b)','cos(a)',[0,pi,0,2*pi],60); hold on; ezsurf('x^2+y^2',[-1,1,-1,1],60);

clear all; x=-8:0.1:8; y=-8:0.1:8; [X,Y]=meshgrid(x,y); Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+2); [X,Y,Z]=peaks(50); surf(X,Y,Z)

syms x y; y=2*x^3-6*x^2-18*x+7; solve(diff(y,x),x) x=-1;eval(y) x=3;eval(y)

syms x y; z='x*y'; dblquad(z,1,4,-1,2) 结果 ans = 11.2500 求函数1+x -exp(2*x)+5的原函数clear all syms x C; f=int(1+x -exp(2*x)+5,'x')+C syms x y; >> x=0:0.01:1; >> y=sin(sin(x)); >> trapz(x,y)

x=0:0.05:1; y=[1.97687 2.17002 2.34158 2.46389 2.71512 3.06045 3.27829 3.51992 3.8215 4.2435 4.55188 4.88753 5.15594 5.698 6.04606 6.42701 7.00342 7.50192 7.89178 8.49315 9.0938] cftool 解常微分方程y’=-0.9y/(1+2x)的数值解y(0)=1 从0到0. 1的数值解,取步长0.02 clear all x1=0; x2=0.1; h=0.02; y(1,1)=1;

数学实验matlab练习题

2015-2016数学实验练习题 一、选择题 1.清除Matlab工作空间(wordspace)变量的命令是(B ) A. clc B. clear C. clf D.delete 2. 清除当前屏幕上显示的所有内容,但不清除工作空间中的数据的命令是( A ) A. clc B. clear C. clf D.delete 3. 用来清除图形的命令( C ) A. clc B. clear C. clf D.delete 4. 在MATLAB程序中,使命令行不显示运算结果的符号是( A ) A. ; B. % C. # D. & 5. 在MATLAB程序中,可以将某行表示为注释行的符号是( B ) A. ; B. % C. # D. & 6.在循环结构中跳出循环,执行循环后面代码的命令为 ( B ) A. return B. break C. continue D. Keyboard 7.在循环结构中跳出循环,但继续下次循环的命令为( C ) A. return B. break C. continue D. Keyboard 8. MATLAB中用于声明全局变量的关键字是( C ) A. inf B. syms C. global D. function 9. 用户可以通过下面哪项获得指令的使用说明( A ) A. help B. load C. demo D. lookfor 10.在MATLAB命令窗口中键入命令S=zoros(3);可生成一个三行三列的零矩阵,如果省略了变量名S,MATLAB表现计算结果将用下面的哪一变量名做缺省变量名( A ) A. ans; B. pi; C. NaN; D. Eps. 11. 9/0的结果是( B ) A. NAN; B. Inf; C. eps; D. 0 12.在MATLAB中程序或语句的执行结果都可以用不同格式显示,将数据结果显示为分数形式,用下面哪一条命令语句( D ) A. format long; B. format long e; C. format bank; D. fromat rat 13. 下列MATLAB命令中是构造1行3列的(-1,1)均匀分布随机矩阵的命令的是(D)

matlab数学实验练习题

Matlab 数学实验 实验一 插值与拟合 实验内容: 预备知识:编制计算拉格朗日插值的M 文件。 1. 选择一些函数,在n 个节点上(n 不要太大,如5 ~ 11)用拉格朗日、分段线性、三次样条三种插值方法,计算m 个插值点的函数值(m 要适中,如50~100)。通过数值和图形输出,将三种插值结果与精确值进行比较。适当增加n ,再做比较,由此作初步分析。下列函数任选一种。 (1)、 ;20,sin π≤≤=x x y (2)、;11,)1(2/12≤≤--=x x y (3)、;22,cos 10≤≤-=x x y (4)、22),ex p(2≤≤--=x x y 2.用电压V=10伏的电池给电容器充电,电容器上t 时刻的电压为 ) (0)()(τt e V V V t v ---=,其中0V 是电容器的初始电压,τ是充电常数。试由下面 一组t ,V 数据确定0V 和τ。 实验二 常微分方程数值解试验 实验目的: 1. 用MATLAB 软件求解微分方程,掌握Euler 方法和龙格-库塔方法; 2. 掌握用微分方程模型解决简化的实际问题。 实验内容: 实验三 地图问题 1. 下图是一个国家的地图,为了计算出它的国土面积,首先对地图作如下测量:以由西向东方向为x 轴,由南到北方向为y 轴,选择方便的原点,并将从最西边界点到最东边界点在x 轴上的区间适当地划分为若干段,在每个分点的y 方向测出南边界点和北边界点的y 坐标y1和y2,这样就得到了表中的数据(单位mm )。

根据地图的比例我们知道18mm相当于40km,试由测量数据计算该国土 2 实验四狼追兔问题 狼猎兔问题是欧洲文艺复兴时代的著名人物达.芬奇提出的一个数学问题。当一个兔子正在它的洞穴南面60码处觅食时,一只恶狼出现在兔子正东的100码处。当两只动物同时发现对方以后,兔子奔向自己的洞穴,狼以快于兔子一倍的速度紧追兔子不放。狼在追赶过程中所形成的轨迹就是追击曲线。狼是否会在兔子跑回洞穴之前追赶上兔子? 为了研究狼是否能够追上兔子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追上兔子。 试验五:开放式基金的投资问题 某开放式基金现有总额为15亿元的资金可用于投资,目前共有8个项目可供投资者选择。每个项目可以重复投资,根据专家经验,对每个项目投资总额不能太高,且有个上限。这些项目所需要的投资额已经知道,在一般情况下,投资一年后各项目所得利润也可估计出来(见表一), 表一: 投资项目所需资金及预计一年后所得利润(单位:万元)

matlab数学实验复习题(有答案)

复习题 1、写出3个常用的绘图函数命令 2、inv (A )表示A 的逆矩阵; 3、在命令窗口健入clc 4、在命令窗口健入 clear 5、在命令窗口健入6、x=-1:0.2:17、det (A )表示计算A 的行列式的值;8、三种插值方法:拉格朗日多项式插值,分段线性插值,三次样条插值。 9、若A=123456789?? ???????? ,则fliplr (A )= 321654987?? ???????? A-3=210123456--??????????A .^2=149162536496481?????? ???? tril (A )=100450789?? ???????? triu (A ,-1)=123456089??????????diag (A )=100050009?? ???? ???? A(:,2),=258A(3,:)=369 10、normcdf (1,1,2)=0.5%正态分布mu=1,sigma=2,x=1处的概率 [t,x]=ode45(f,[a,b],x0),中参数的涵义是fun 是求解方程的函数M 文件,[a,b]是输入向量即自变量的围a 为初值,x0为函数的初值,t 为输出指定function 开头;17、二种数值积分的库函数名为:quad;quadl

4 3,4 21、设x )的功能是作出将X 十等分的直方图 22、interp1([1,2,3],[3,4,5],2.5) Ans=4.5 23、建立一阶微分方程组???+='-='y x t y y x t x 34)(3)(2 的函数M 文件。(做不出来) 二、写出运行结果: 1、>>eye(3,4)=1000 01000010 2、>>size([1,2,3])=1;3 3、设b=round (unifrnd (-5,5,1,4)),则=3 5 2 -5 >>[x,m]=min(b);x=-5;m=4 ,[x,n]=sort(b) -5 2 3 5 4 3 1 2 mean(b)=1.25,median (b )=2.5,range (b )=10 4、向量b 如上题,则 >>any(b),all(b<2),all(b<6) Ans=1 0 1 5、>>[5 6;7 8]>[7 8;5 6]=00 11 6、若1234B ?? =?? ??,则 7、>>diag(diag(B))= 10 04 8、>>[4:-2:1].*[-1,6]=-4 12 9、>>acos(0.5),atan(1) ans= 1.6598 ans= 0.7448 10、>>norm([1,2,3]) Ans=3.3941 11、>>length ([1,3,-1])=3

Matlab数学实验知识点与函数集

1.1 数学实验教学内容 1.1.1知识点(初稿) 课程考核涉及函数主要为下列知识点对应的Matlab函数。 知识点 Matlab函数1入门基础 1.1创建向量、矩阵(如rand,eye) 1.2常数,全局变量 1.3算术运算符 1.4关系运算符 1.5逻辑运算符 1.6数据输入、输出,输出格式 1.7绘图函数 1.7.1绘制曲线 1.7.2绘制曲面 1.7.3极坐标、参数方程 1.7.4绘图导出 1.7.5其他函数 1.8常用函数 1.9数学函数 1.10字符串操作函数 1.11文件操作函数 2控制语句 2.1分支语句 2.2循环语句 2.3其他语句、函数 3函数 3.1inline 3.2主函数 3.3子函数 4线性代数实验:,[ ], linspace, zeros, rand, randn, eye, ones, vander ans, pi, realmax, realmin, eps, inf, NaN, global +, -, *, /, .*, ./, ^, .^ <, <=, >, >=, ~= &, |, ~ load, save, format, vpa plot, plot3, ezplot, ezplot3, fplot, figure meshgrid, mesh, surf, contour polar bar, hold on, hold off, size, find, length, whos, sum, diag, class, min, max, sort, abs, input, pause, disp, cputime exp, sqrt, log, sin, cos, tan, cot, asin, acos, atan, acot, conj, real, imag, fix, floor, ceil, round, pow2, power, rem, mod, rat strcat, strvcat, str2num, num2str, sprintf fopen, fclose, fgetl, fprintf if, elseif, else, end, switch, otherwise for, while continue, break, error, warning inline function, nargin, nargout

MATLAB数学实验6

实验二定积分的近似计算 学号: 姓名:XX 一、实验目的 1. 加深理解积分理论中分割、近似、求和、取极限的思想方法,了解定积分近似计算的矩阵形法、梯形法与抛物线法。2.会用matlab 语言编写求定积分近似值的程序。3. 会用matlab 中的命令求定积分。 二、实验内容 1. 定积分近似计算的几种简单数值方法 在许多实际问题中,常常需要计算定积分()b a I f x dx = ?的值。根据微积分学基本原理, 若被积函数()f x 在区间[a,b]上连续,只需要找到被积函数的一个原函数()F x ,就可以用牛顿莱布尼兹公式计算。但在工程技术与科学实验中,有一些定积分的被积函数的原函数可能求不出来,即使可求出,计算也可能很复杂。特别地,当被积函数是图形或表格给出时,更不能用牛顿—莱布尼兹公式计算。因此必需寻求定积分的近似计算方法。大多数实际问题的积分需要用数值积分方法求出近似结果。数值积分原则上可以用多项式函数近似代替被积函数,用对多项式的积分结果近似代替对被积函数的积分。由于所选多项式形式的不同,可以有许多种数值积分方法,下面介绍最常用的几种插值型数值积分方法。1)矩形法 定积分的几何意义是计算曲边梯形的面积,如将区间[a,b]n 等分,每个小区间上都是一个小的曲边梯形,用一个个小矩形代替这些小曲边梯形,然后把小矩形的面积加起来就近似地等于整个曲边梯形的面积,于是便求出了定积分的近似值,这就是矩形法的基本原理。 假如()f x 在[a,b]上可积,利用定积分的定义 ()() 1 lim ,n b n n k a n k b a I f x dx I I f n ξ→∞ =-=== ∑?(2-1) 可知当n 充分大时,可将n I 视为积分I 的近似值,这里k ξ是取自第k 个区间[] 1,k k x x -

MATLAB数学实验报告1

Matlab数学实验报告

一、实验目的 通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。 二、实验内容 2.1实验题目一 2.1.1实验问题 Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图 2.1.2程序设计 clear;clf; axis([0,4,0,4]); hold on for r=0:0.3:3.9 x=[0.1]; for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.5) for i=101:150

plot(r,x(i),'k.'); end text(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end 加密迭代后 clear;clf; axis([0,4,0,4]); hold on for r=0:0.005:3.9 x=[0.1];

for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.1) for i=101:150 plot(r,x(i),'k.'); end end 运行后得到Feigenbaum图

2.2实验题目二 2.2.1实验问题 某农夫有一个半径10米的圆形牛栏,长满了草。他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长? 2.2.2问题分析 如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。问题要求区域ABCD等于圆ABC的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。

数学实验与Matlab

《数学实验与Matlab》程序 周晓阳 华中科技大学数学系 我将程序按书中的顺序排列,这样便于读者利用。 本书程序均通过了调式。可直接拷贝到命令窗口运行或编制M文件运行。 如出现问题,可能是中英文标点的缘故(排版有可能使用了中文标点),请将中文标点换为英文标点试试。 实验1.矩阵运算与Matlab命令 1.1 知识要点与背景:日常矩阵及其运算

实验3.函数式-直接确定型模型 2 【A=[4 2 3;1 3 2;1 3 3;3 2 2], % 表1-1、表1-2的数据分别写成矩阵形式 B=[35 20 60 45;10 15 50 40;20 12 45 20] 】 【C=A*B %矩阵乘法,求各订单所对应的原材料和劳动力。】 【whos % 查看Matlab工作空间中变量及其规模】 1.2实验与观察:矩阵和Matlab语言 1.2.1 向量的生成和运算 【x=linspace(0,4*pi,100); %将[0,4π]区间100等分,产生了一个100维向量 y=sin(x); %计算函数值,产生了一个与x同维的100维函数向量y y1=sin(x).^2; %计算函数向量,注意元素群运算 y2=exp(-x).*sin(x); %以x为横坐标,y为纵坐标画函数的图用不同的线型将函数曲线绘制在一个图上 plot(x,y,'-',x,y1,'-',x,y2,'.-') 】 1. 向量的创建 ◆直接输入向量。 【x1=[1 2 4],x2=[1,2,1],x3=x1' 】 ◆冒号创建向量。 【x1=3.4:6.7 x2=3.4:2:6.7 x3=2.6:-0.8:0 】 ◆生成线性等分向量。

相关主题