搜档网
当前位置:搜档网 › MATLAB数学实验报告

MATLAB数学实验报告

MATLAB数学实验报告
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的面积即可。

2.2.3程序设计

f=inline('acos(x/20)*x^2+100*pi-200*acos(x/20)-x*sqrt(100-(x^2 )/4)-50*pi');

a=0;

b=20;

dlt=1.0*10^-3;

k=1;

while abs(b-a)>dlt

c=(a+b)/2;

if f(c)==0

break;

elseif f(c)*f(b)<0

a=c;

else

b=c;

end

fprintf('k=%d,x=%.5f\n',k,c);

k=k+1;

end

2.2.4问题求解与结论

k=6,x=11.56250

k=7,x=11.71875

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

matlab实验报告

数学实验报告 班级: 学号: 姓名: 实验序号:1 日期:年 月 日 实验名称:特殊函数与图形 ◆ 问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到 明白直观的体现,如函数的性质等。同时,借助直观的图形,使初学者更容易接受新知识,激发学习兴趣。 ◆ 实验目的:本实验通过绘制一些特殊函数的图形,一方面展示这些函数的特点属性, 另一方面,就 Matlab 强大的作图功能作一个简单介绍。 实验原理与数学模型: 1、 球2222x y z R ++= ,x=Rsin φcos θ, y= Rsin φsin θ, z= cos φ, 0≤θ≤2π , 0≤φ≤π 环面 222222222()4(),(cos )cos ,x y z a r a x y x a r φθ+++-=+=- (cos )sin ,sin ,02,02y a r z r φθφφπθπ=-=≤≤≤≤ 2、 平面摆线:2 22 31150,(sin ),(1cos ),0233 x y x a t t y a t t π+-==-=-≤≤ 3、 空间螺线:(圆柱螺线)x=acost , y=asint , z=bt ;(圆锥螺线)22 cos ,sin ,x t t y t t z t === 4、 椭球面sin cos ,sin sin ,cos ,02,0x a y b z c φθφθφθπφπ===≤<≤≤ 双叶双曲面3 tan cos ,tan sin ,sec ,02,22 x a y b z c π φθφθφθπφπ===≤<- << 双曲抛物面2 sec ,tan 2 u x au y bu z θθ=== 实验所用软件及版本:mathematica(3.0) 主要内容(要点): 1、 作出下列三维图形(球、环面) 2、 作出下列的墨西哥帽子 3、 作出球面、椭球面、双叶双曲面,单叶双曲面的图形 4、 试画出田螺上的一根螺线 5、 作出如图的马鞍面

中南大学matlab课后答案-第九章

实验指导 1, >> figure('Color',[1,0,0],'WindowButtonDownFcn','text(0.5,0.5,''Left Button Pressed'')');axis off 2, (1)默认属性 >> x=linspace(0,600,100000);y=(log(x+sqrt(1+x.*x)))/2;line(x,y) 句柄操作 >> x=linspace(0,600,100000); y=(log(x+sqrt(1+x.*x)))/2; line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(300,3.5,'文字标注') (2)默认属性 >> t=linspace(0,20,500);x=t.*t;y=5.*t.*t;line(x,y) 句柄操作 >> t=linspace(0,20,500); x=t.*t;y=5.*t.*t;line(x,y); line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(250,1600,'文字标注') 3, (1) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=x.*x+y.*y-5.*sin(x.*y); axes('view',[-37.5,30]); surf(x,y,z); light('position',[10,20,4000]); shading interp (2) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=y.*y.*y; axes('view',[-37.5,30]); surf(x,y,z); light('position',[30,20,1300000]); shading interp 4, >> x=-2*pi:0.01:2*pi; y1=sin(x); y2=cos(x); axes('position',[0.1,0.6,0.2,0.2]); plot(x,y1); axes('position',[0.6,0.6,0.2,0.2]); plot(x,y2); axes('position',[0.1,0.1,0.2,0.2]); fplot('tan(x)',[-1.5,1.5]); axes('position',[0.6,0.1,0.2,0.2]);

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考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

数学实验“几种常见的求积分近似解的方法”实验报告(内含matlab程序)

西京学院数学软件实验任务书

实验二十一实验报告 一、实验名称:Romberg 积分法,Gauss 型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法。 二、实验目的:进一步熟悉Romberg 积分法,Gauss 型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法。 三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica 等其中一种语言完成程序设计。 四、实验原理: 1.Romberg 积分法: 龙贝格积分法是用里查森外推算法来加快复合梯形求积公式的收敛速度,它的算法如下,其中()i m T 是通过一系列逼近原定积分的龙贝格分值. 计算(0)1[()()]2 b a T f a f b -= + 对1,2,3,k n = ,计算下列各步: 21()(1)1 111 1(21)()[()]222k k k k k j b a j b a T T f a ---=---=++∑

对1,2,,m k = 和,1,2,,1i k k k =-- ,计算111 441 m i i i m m m m T T T --+-=- 随着计算的步骤的增加,()i m T 越来越逼近积分()b a f x dx ?。 2.Gauss 型积分法: 高斯积分公式的思想是用n 个不等距的节点123,,,n x x x x 对被积函数进行插值,然后对插值后的函数进行积分,其积分公式为: 1 1 1 ()()n k k k f x dx A f x -=≈∑? 如果积分区间不是[1,1]-,则需转换到此区间: 11()()222 b a b a b a b a f x dx f t dt ---+= +? ? 其中系数k A 、节点k x 与n 的关系如下表所示: 3.高斯-切比雪夫积分法: 第一类切比雪夫积分形式为: 1 1 ()()n k k k f x dx A f x -=≈∑? 其中k A n π= ,21cos 2k k x n π-= 4.高斯-拉盖尔积分法: 高斯-拉盖尔公式有两种形式: 1 ()()n x k k k e f x dx A f x +∞ -=≈∑?

中南大学matlab题目

1 求函数在指定点的导数值 () 23 2 123,1,2,3 026 x x x f x x x x x == >> syms x >> a=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >> f=det(a); >> diff(f,1) ans = 6*x^2 >> diff(f,2) ans = 12*x >> diff(f,3) ans = 12 2 符号法求下列函数的导数或积分 1)y=x10+10x+log x 10,求y’ f=('x^10+10^x+log(10)/log(x)') f = x^10+10^x+log(10)/log(x) >> diff(f) ans = 10*x^9+10^x*log(10)-log(10)/log(x)^2/x 2)y=ln(1+x), 求y’’∣ x=1 f=('log(1+x)/log(e)') f = log(1+x)/log(e) >> diff(f,1,2) ans = -1/(1+x)^2/log(e) 3) y=e x/cosx,求y’ f=('exp(x)/cos(x)') f = exp(x)/cos(x)

>> diff(f) ans = exp(x)/cos(x)+exp(x)/cos(x)^2*sin(x) 4) function f=fun0(t) f=t*sin(t) int('fun0','0','pi') ans = 1/2*pi^2 5) 已知函数z=sin(xy), 计算 syms x y >> z=('sin(x*y)') z = sin(x*y) >> diff(diff(z,y,2),x) ans = -cos(x*y)*y*x^2-2*sin(x*y)*x 3 用数值方法求定积分 1) function f=fun(x) f=x.^2.*sqrt(2.*x.^2+3) quad('fun',1,5) ans = 232.8057 2) function f=fun(x) f=x./sin(x).^2 quad('fun',pi/4,pi/3) ans = 0.3835 4 已知数据[x,y]如下表,试求2次拟合多项式f(x),然后求x=0.05,0.25,0.45,0.65,0.85,1.05各点的函数近似值,并绘出拟合曲线及求得

matlab数学实验报告5

数学实验报告 制作成员班级学号 2011年6月12日

培养容器温度变化率模型 一、实验目的 利用matlab软件估测培养容器温度变化率 二、实验问题 现在大棚技术越来越好,能够将温度控制在一定温度范围内。为利用这种优势,实验室现在需要培植某种适于在8.16℃到10.74℃下能够快速长大的甜菜品种。为达到实验所需温度,又尽可能地节约成本,研究所决定使用如下方式控制培养容器的温度:1,每天加热一次或两次,每次约两小时; 2,当温度降至8.16℃时,加热装置开始工作;当温度达到10.74℃时,加热装置停止工作。 已知实验的时间是冬天,实验室为了其它实验的需要已经将实验室的温度大致稳定在0℃。下表记录的是该培养容器某一天的温度 时间(h)温度(℃)时间(h)温度(℃)09.68 1.849.31 0.929.45 2.959.13 3.878.981 4.989.65 4.988.811 5.909.41 5.908.691 6.839.18 7.008.5217.938.92 7.938.3919.048.66 8.978.2219.968.43 9.89加热装置工作20.848.22 10.93加热装置工作22.02加热装置工作10.9510.8222.96加热装置工作12.0310.5023.8810.59 12.9510.2124.9910.35 13.889.9425.9110.18 三、建立数学模型 1,分析:由物理学中的傅利叶传热定律知温度变化率只取决于温度

差,与温度本身无关。因为培养容器最低温度和最高温度分别是:8.16℃和10.74℃;即最低温度差和最高温度差分别是:8.16℃和10.74℃。而且,16.8/74.10≈1.1467,约为1,故可以忽略温度对温度变化率的影响2, 将温度变化率看成是时间的连续函数,为计算简单,不妨将温度变化率定义成单位时间温度变化的多少,即温度对时间连续变化的绝对值(温度是下降的),得到结果后再乘以一系数即可。 四、问题求解和程序设计流程1)温度变化率的估计方法 根据上表的数据,利用matlab 做出温度-时间散点图如下: 下面计算温度变化率与时间的关系。由图选择将数据分三段,然后对每一段数据做如下处理:设某段数据为{(0x ,0y ),(1x ,1y ),(2x , 2y ),…,(n x ,n y )},相邻数据中点的平均温度变化率采取公式: 温度变化率=(左端点的温度-右端点的温度)/区间长度算得即:v( 2 1i i x x ++)=(1+-i i y y )/(i i x x - +1). 每段首尾点的温度变化率采用下面的公式计算:v(0x )=(30y -41y +2y )/(2x -0x )v(n x )=(3n y -41+n y +2+n y )/(n x -2-n x )

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实验报告

实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。程序: theta=0:0.01:2*pi x=cos(theta) y=sin(theta) l=1 v=1 while l<10 for t=1:10 y=y+(-1)^l*v*t plot(x,y,[-1,1],[-56,2],'.') axis equal pause(0.1) end l=l+1 end 结果:

-50 -40 -30 -20 -10 收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往 返运动! 实验二 旋转五角星 内容:一个五角星在圆内匀速旋转 程序:x=[2 2 2 2 2 2] y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0] y1=2*sin(y) x1=2*cos(y) theta=0:4/5*pi:4*pi

x2=2*cos(theta) y2=2*sin(theta) plot(x,y,x1,y1,x2,y2) axis equal theta1=theta+pi/10 x2=2*cos(theta1) y2=2*sin(theta1) plot(x2,y2) axis equal theta=0:4/5*pi:4*pi for rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y) pause(0.1) end 结果:

-2 -1.5-1-0.500.51 1.52 -2-1.5-1-0.500.511.5 2 收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速 旋转! 实验三 转动的自行车 内容:一辆自行车在圆内匀速转动 程序:x=-4:0.08:4; y=sqrt(16-x.^2); theta1=-pi/2:0.01*pi:3*pi/2; x3=0.5*cos(theta1); y3=0.5*sin(theta1); theta=-pi/2+0.02*pi for k=1:100

中南大学matlab课后习题(1)

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0.34245*10^-6) w= 1.4142 (2)a=3.5;b=5;c=-9.8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);x x = 0.9829 (3)a=3.32;b=-7.9; y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a]; y y= -128.4271 (4)t=[2,1-3i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z= 1.0e+004* 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 -0.3696i 1.7706 - 1.0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans= 4723-10 12 3726 -15 73 7 a^2-b+eye(3) ans= -18 -217 17 22 533 109 21867 526 (2)a*b ans= 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -110-15 7 22853 3 -1 28 (3)a/b ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 b\a ans = -0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 (4)[a,b] ans= -1 5 -4 8 3 -1 0 7 8 2 5 3 361 7 -3 2 0 [a([1,3],:);b^2] ans = -15 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans= 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.00005.0000 32.0000 5.0000 0 32.0000 c=a(:,1:2) c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 d=a(2:4,3:4) d = 65.0000 5.0000 0 32.0000 54.0000 3.1400 e=b*c e = 1.0e+003 * 0.9141 -0.2239

MATLAB实验报告

数字信号处理及MATLAB 实验报告 班级: 学号: 姓名:

4.7.2 例4,2 设x(n)是由两个正弦信号及白噪声的叠加,试用FFT文件对其作频谱分析。程序清单 %产生两个正弦加白噪声 N=256; f1=.1;f2=.2;fs=1; a1=5;a2=3; w=2*pi/fs; x=a1*sin(w*f1*(0:N-1))+a2*sin(w*f2*(0:N-1))+randn(1,N); %应用FFT求频谱 subplot(2,2,1); plot(x(1:N/4)); title('原始信号'); f=-0.5:1/N:0.5-1/N; x=fft(x); y=ifft(x); subplot(2,2,2); plot(f,fftshift(abs(x))); title('频域信号'); subplot(2,2,3); plot(real(x(1:N/4))); title('时域信号');

例4.3 设x(n)为长度N=6的矩形序列,用MATLAB程序分析FFT取不同长度时x(n)频谱的变化。N=8,32,64,时x(n)的FFT MATLAB实现程序如下。 x=[1,1,1,1,1,1]; N=8; y1=fft(x,N); n=0:N-1; subplot(3,1,1);stem(n,abs(y1),'.k');axis([0,9,0,6]); N=32; y2=fft(x,N); n=0:N-1; subplot(3,1,2);stem(n,abs(y2),'.k');axis([0,40,0,6]); N=64; y3=fft(x,N); subplot(3,1,3);stem(n,abs(y3),'.k');axis([0,80,0,6]);

参考答案Matlab实验报告

实验一 Matlab基础知识 一、实验目的: 1.熟悉启动和退出Matlab的方法。 2.熟悉Matlab命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握Matlab各种表达式的书写规则以及常用函数的使 用。 二、实验内容: 1.求[100,999]之间能被21整除的数的个数。(rem) 2.建立一个字符串向量,删除其中的大写字母。(find) 3.输入矩阵,并找出其中大于或等于5的元素。(find) 4.不采用循环的形式求出和式 63 1 2i i= ∑ 的数值解。(sum) 三、实验步骤: ●求[100,199]之间能被21整除的数的个数。(rem) 1.开始→程序→Matlab 2.输入命令: ?m=100:999; ?p=rem(m,21); ?q=sum(p==0) ans=43 ●建立一个字符串向量,删除其中的大写字母。(find) 1.输入命令:

?k=input('’,’s’); Eie48458DHUEI4778 ?f=find(k>=’A’&k<=’Z’); f=9 10 11 12 13 ?k(f)=[ ] K=eie484584778 ●输入矩阵,并找出其中大于或等于5的元素。(find) 1.输入命令: ?h=[4 8 10;3 6 9; 5 7 3]; ?[i,j]=find(h>=5) i=3 j=1 1 2 2 2 3 2 1 3 2 3 ●不采用循环的形式求出和式的数值解。(sum) 1.输入命令: ?w=1:63; ?q=sum(2.^w) q=1.8447e+019

实验二 Matlab 基本程序 一、 实验目的: 1. 熟悉Matlab 的环境与工作空间。 2. 熟悉M 文件与M 函数的编写与应用。 3. 熟悉Matlab 的控制语句。 4. 掌握if,switch,for 等语句的使用。 二、 实验内容: 1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。 3. 编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。 4. 编程求分段函数 2226;03 56;0532 1;x x x x y x x x x x x x +-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y 。 三、 实验步骤: 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 1. 打开Matlab ,新建M 文件 2. 输入命令: 51022-+x

中南大学Matlab与科学计算样题 (加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中不正确的有: a) 2a =pi; b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 02 1at bt μμ=++0μ为0℃水的黏度,值为3 1.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); Z=x.*exp(-x.^2-y.^2); ; a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明: >> x=0.5:0.5:3.0; >> y=[1.75,2.45,3.81,4.80,8.00,8.60]; >> a=polyfit(x,y,2)

a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]; >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在x=0.5附近的根. 21x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes 方法计算如下积分 1 5x ? (a )133.6625 (b) 23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8. 某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘米。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p =1.3431e-005,没有显著差异。 b) p =0.9688,没有显著差异。 c) p =0.4956,有显著差异。 d) p =0.9688,有显著差异。 22x y x y e x y e --?-=??-+=??

浅析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实验报告 实验二图像处理 一、实验目的 (1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用; (2)通过实验进一步掌握图像处理的基本技术和方法。 二、实验内容及代码 ㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换 首先,在matlab页面中的current directory下打开存放图像的文件夹。 1.显示各种图像 ⑴显示彩色图像: ①代码:>> mousetif=imread('tif.TIF'); >> image(mousetif) 显示截图: ②代码:>> mousetif=imread('tif.TIF'); >> imshow(mousetif) 显示截图:

③代码:mousetif=imread('tif.TIF'); subimage(mousetif) 显示截图: 显示截图:

⑵显示二值图像 ①代码:>> I=imread('单色bmp.bmp'); >> imagesc(I,[0 2]) 显示截图: ②代码:>> I=imread('单色bmp.bmp');

>> imshow(I,2) 显示截图: ③代码:>> I=imread('单色bmp.bmp'); >> subimage(I) 显示截图:

⑶显示灰度图像 ①代码:>> I1=imread('256bmp.bmp'); >> imagesc(I1,[0,256]) 显示截图: 代码:>> I1=imread('256bmp.bmp'); >> colormap(gray); >> subplot(1,2,1); >> imagesc(I1,[0,256]); >> title('灰度级为[0 256]的mouse.bmp图'); >> subplot(1,2,2); >> imagesc(I1,[0,64]); >> colormap(gray); >> title('灰度级为[0 64]的mouse.bmp图'); 显示截图:

Matlab作业题

Matlab作业题: 1、作出函数y=x4-4x3+3x+5 (x [0,6])的图形,用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值; 程序: function f=myfun(x) f=x.^4-4*x.^3+3*x+5; x=linspace(0,6,100); y=x.^4-4*x.^3+3*x+5; x1=fminbnd(@myfun,0,6) y1=myfun(x1) 结果: x1 = 2.9115 y1 = -13.1300 plot(x,y,x1,y1,'r*') text(x1,y1,'2.9115,-13.1300'); 0123456 2、某公司有一批以每桶2元购进的彩漆,为了获得较高的利润,希望以较高的价格卖出,但价格越高,售出量就越少,二者之间的关系由表一给出。于是打算增加广告投入来促销。而广告费与销售量的关系可由销售增长因子来描述。例如,投入3万元的广告费,销售因子为1.85,意味着做广告后的销售量将是未做广告销售量的1.85倍。根据经验,广告费与销售因子的关系如表2,现请你作出决策:投入多少广告费和售价为多少时所获得的利润最大?

表1 表2 彩漆的销售量 摘要 在经济学中,某种产品的销售量与产品自身的价格存在着负相关关系,即产品价格上升会导致产品的销售量减少,产品价格下降会导致产品的销售量增加。与此同时,广告宣传对产品的销售量也是影响深远的。对一个企业而言,广告费既不是越少越好,也不是多多益善。广告活动的规模和广告费用的大小,应与企业的生产和流通规模相适应,在发展中求节约。 为研究产品销售量与售价和广告费用的关系,我们收集了某售价与预期销售量和广告费与销售增长因子的一些数据(见附录一),并建立了预期销售量1y 与售价1x 的线性模型: 11^ 1333.54222 .50x y -= 销售增长因子2y 与广告费2x 的二次函数模型: 22^ 0409.00188 .1x y +=—2 2 0004.0x 利润p 与售价1x 和销售增长因子2x 的模型: 2 2 2211)0004.00409.00188 .1)(1333.54222 .50)(2(x x x x x p --+--= 关键字:预期销售量 广告费 销售增长因子 线性回归

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

相关主题