北科,北京科技大学,数学实验,MATLAB第二次作业

合集下载

数学实验练习二 参考答案

数学实验练习二 参考答案

数学实验二实验内容:学习matlab的m文件编写和函数的编写,体会matlab编程特点,掌握matlab 的编程基本方法。

要求:一.学习ppt教案的例题代码,能正确的输入、运行代码;二.写出如下各段代码的作用,将以下各段循环执行的代码,改为不需要循环的矩阵和数组运行,并使用tic,toc测试不同代码的执行时间:%程序1,文件名:ex2_2_1.mticdx = pi/30;nx = 1 + 2*pi/dx;for i = 1:nxx(i) = (i-1)*dx;y(i) = sin(3*x(i));endtoc以上程序实现将[0,2*pi]间隔pi/30分成60等分,x和y分别为61个元素的数组,y为计算sin(3x)的值。

以上程序可以使用简单的matlab数组计算实现:x2=0:pi/30:2*pi;y2=sin(3*x2);大家可以比较一下,x1和x2完全相同,y和y2也完全相同。

%程序2,文件名:ex2_2_2.mticA=round(2+rand(50,60)*6); 生成一个在[2,8]上均匀分布的50*60随机数组[X,Y]=size(A); 求出其大小;X=50,Y=60minA=A(1,1); 设最小值为矩阵A的第1行1列的元素for i=1:Xfor j=1:Yif A(i,j)<minAminA=A(i,j);minX=i;minY=j;endendend 以上程序按行、列搜索矩阵A的最小值,若当前值A(I,j)小,则将最小值设为当前值;[minA ,minX,minY] 输出矩阵最小值minA及矩阵最小值所在的行minX、列minY。

toc上述程序可以使用find函数及min函数实现;此时只需: minA=min(A(:));[minX,minY]=find(A ’==minA,1);%注意此处需将矩阵A 转置,因为matlab 中是按列优先搜索的,而题目的程序是按行有限搜索。

Matlab第二次实验报告

Matlab第二次实验报告

Matlab第二次实验报告实验目的:1、了解plot函数和subplot函数的基本用法和matlab绘图的基本原理。

2、了解图形的属性设置。

比如画图的颜色,画图采用的线性标识符等。

二:实验基本知识1:1. 单窗口单曲线绘图;2. 单窗口多曲线绘图;3. 单窗口多曲线分图绘图;4. 多窗口绘图;5.可任意设置颜色与线型;6.图形加注功能;7.fplot——绘制函数图函数;8.ezplot——符号函数的简易绘图函数9:subplot—将画图区域分块函数。

实验内容:将高数课本后的18个图画出上机练习程序第1——6图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º')figure(1);x=-50:1:50;y=a.*x.^3;subplot(3,2,1);plot(x,y,'r');title('y=a*x^3');xlabel('X');ylabel('Y');x=0:1:50;y=sqrt(a.*x.^3);subplot(3,2,2);plot(x,y,x,-y,'r');title('y^2=a*x^3');xlabel('X');ylabel('Y');x=-3:0.1:3;y=exp(-x.^2);subplot(3,2,3);plot(x,y,'r');title('y=e^x^2');xlabel('X');ylabel('Y');x=-3:0.1:3;y=8*a^3./(x.^2+4*a^2);subplot(3,2,4);plot(x,y,'r');title('y=8*a^3./(x.^2+4*a^2)'); xlabel('X');ylabel('Y');x=0:0.01:5;y=sqrt(x.^3./(a*2.-x)); subplot(3,2,5);plot(x,y,x,-y,'r');title('y^2*(2a-x)=x^3'); xlabel('X');ylabel('Y');%t=-1:0.01:5;%x=3*a.*t./(1+t.^3);%y=3*a*t.^2./(1+t.^3);subplot(3,2,6);ezplot('x.^3+y.^3-3*3*x.*y'); %plot(x,y);title('x^3+y^3-3axy=0'); xlabel('X');ylabel('Y');输入a=3:显示结果第7——10图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º')figure(1)t=0:0.1:2*pi;x=a*cos(t).^3;y=a*sin(t).^3;subplot(2,2,1);plot(x,y,'b')title('x^1.5+y^1.5=a^1.5'); xlabel('X');ylabel('Y');t=-2*pi:0.1:2*pi;x=a.*(t-sin(t));y=a.*(1-cos(t));subplot(2,2,2);plot(x,y,'b')title('°ÚÏß');xlabel('X');ylabel('Y');t=0:0.01:2*pi;p=a.*(1-cos(t));subplot(2,2,3);plot(p.*cos(t),p.*sin(t),'b'); title('p=a(1-cos£¨t£©)'); xlabel('X');ylabel('Y');t=0:0.01:2*pi;p=a.*t;subplot(2,2,4);plot(p.*cos(t),p.*sin(t),'b'); title('p=at');xlabel('X');ylabel('Y');输入a=1,第11题图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º') figure(1);t=-2*pi:pi/100:2*pi;p=exp(a.*t);plot(p.*cos(t),p.*sin(t)); title('p=e^at');xlabel('X');ylabel('Y');输入a=0.1,显示结果:clear,clca=input('ÇëÊäÈëaµÄÖµ£º')figure(1)t=0.2*pi:pi/100:100*pi;p=a./t;plot(p.*cos(t),p.*sin(t));title('p=at');xlabel('X');ylabel('Y');输入a=1,显示结果:第13——14题图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º');figure(1);t=0:pi/100:2*pi;p=(a^2.*sin(2*t)).^0.5;subplot(1,2,1);plot(p.*cos(t),p.*sin(t),-p.*cos(t),-p.*sin(t),'g'); title('p^2=a^2*sin(2t)');xlabel('X');p=(a^2.*cos(2*t)).^0.5;subplot(1,2,2);plot(p.*cos(t),p.*sin(t),-p.*cos(t),-p.*sin(t),'g'); title('p^2=a^2*cos(2t)');xlabel('X');ylabel('Y');输入a=1,显示结果:第15-16题图:clear;clc;a=input('ÇëÊäÈëa:');figure(1)t=0:pi/200:pi;p=a.*cos(3*t);subplot(1,2,1);plot(p.*cos(t),p.*sin(t),'r--');title('p=a*cos(3t)');xlabel('X');p=a.*sin(3*t);subplot(1,2,2);plot(p.*cos(t),p.*sin(t),'r--'); title('p=a*sin(3t)');xlabel('X');ylabel('Y');输入a=1,显示结果:第17——18题图:clear;clc;a=input('ÇëÊäÈëa:');figure(1);t=-pi:pi/200:pi;subplot(1,2,1);p=a.*sin(2*t);plot(p.*cos(t),p.*sin(t),'k-.'); title('p=a*sin(2t)');xlabel('X');ylabel('Y');p=a.*cos(2*t);subplot(1,2,2);plot(p.*cos(t),p.*sin(t),'k-.');title('p=a*cos(2t)');xlabel('X');ylabel('Y');输入a=1,显示结果:实验心得:这次实验主要是学习matlab软件的二维绘图功能:matlab软件还有丰富的图形修饰功能,如改变线条的形式和颜色;除此之外其还可以以多种形式如在一个图形中显示多个函数图形,一个figure中显示多个坐标系,还有一个程序中就可以用多个figure一起来表示不同的函数……在画图过程中你可能因为角度的区间取值不一样,画出来的图形可能跟书本上给出的图形有很大的差异,但没关系,只要你思路是对的,区间可以自己慢慢改动知道跟书本上给出的图形想接近。

MATLAB第二次上机实验报告

MATLAB第二次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析学生姓名:学号:指导教师:一、实验名称实验二 线性方程组求解和函数的数值逼近二、实验目的通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步的理解。

实验涉及的核心知识点:病态方程求解、矩阵分解和方程组求解、Lagrange 插值。

实验重点与难点:算法设计和MATLAB 编程三、实验内容1. 对高阶多项式()()()()()2011220k p x x x x x k ==---=-∏编程求下面方程的解()190p x x ε+=并绘图演示方程的解与扰动量ε的关系。

2. 对220n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量b 的方法,确定方程组()n H x b =最后,用矩阵分解方法求解方程组,并分析计算结果。

3. 对函数()21125f x x =+ []1,1x ∈-的Chebyshev 点()()21cos 21k k x n π⎛⎫-= ⎪ ⎪+⎝⎭,1,2,,1k n =+编程进行Lagrange 插值,并分析插值结果。

四、实验数据及结果分析1. 对高阶多项式()()()()()2011220k p x x x x x k ==---=-∏编程求下面方程的解()190p x x ε+=并绘图演示方程的解与扰动量ε的关系。

p=[1,-1]; for i=2:20 n=[1,-i];p=conv(p,n); % 求多项式乘积 endm=zeros(1,21); % m 的最高次幂为20,有21项 hold on x=1:20;d=[-1,0,0.1,0.5,1]; for i=1:5delt=d(i); m(2)=delt;y=(roots(p+m))'; % 求多项式的根 plot(x,y,'-o','color',[i/5,i/20,i/10]); endtitle('方程p(x)=0的解与扰动量delt 的关系')legend('delt=-1','delt=0','delt=0.1','delt=0.5','delt=1')24681012141618200102030405060方程p(x)=0的解与扰动量delt 的关系delt=-1delt=0delt=0.1delt=0.5delt=12.对220n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量b 的方法,确定方程组()n H x b =最后,用矩阵分解方法求解方程组,并分析计算结果。

北京科技大学matlab作业1

北京科技大学matlab作业1

《数学实验》报告
2016年3月
一、【实验目的】
1、熟悉matlab的基本命令和基本操作。

2、掌握matlab命令文件和函数文件的建立、运行和保存
二、【实验任务】
P16第4题
编写函数文件,计算,并求出当k=20时表达式的值。

P27第2题
矩阵A=,B=,计算A*B,A.*B,并比较两者的区别。

三、【实验程序】
P16第4题
function zr01=jiecheng(n)
zr01=0;
for t=1:n
zr01=zr01+prod(1:t);
end
jiecheng(20)
P27第2题
>>A=[123;456;789];
>>B=[468;556;322];
>>A*B
>>A.*B
四、【实验结果】
P16第4题
P27第2题
两种运算方式的区别:A*B是按矩阵的运算法则进行矩阵的乘法计算, A.*B是
两个矩阵中对应的元素相乘
五、【实验总结】
基本熟悉了matlab的基本命令和基本操作。

掌握了matlab命令文件和函数文件的建立、运行和保存。

学会了利用matlab编写简单的程序及使用。

北京科技大学matlab大作业

北京科技大学matlab大作业

分析未来五年世界汽油价格问题机械1011实验目的通过本次实验,目的在于提高学生根据实际问题建立函数拟合与插值方面的问题的运用巩固我们的有关知识,在21世纪这个对能源问题而苦恼的世纪中,让我们认识到现实,为资源节约尽一份力。

实验问题根据以往油价,推测未来五年的油价走势,最终估计按此发展下去,在2012-2015年的原油价格会达到多少,我们应如何应对这些情况。

日期国际原油价(美元/桶)2003 40.332004 49.162005 59.842006 69.652007 93.512008 89.402009 68.58预计2012-2015年世界原油价格。

建立模型世界油价的走势一定可以用一个函数来拟合它,因为我们已经知道最近几年的油价走势,和2010,2011年的油价情况,所以,我们可以用拟合的函数图象与2010,2011年的原油价进行比对,找出最相近的拟合函数,对他进行分析找出其未来2012-2015年所对应的原油价格,并对他们的图形进行合理分析,看出偏差的原因。

模型求解首先我们要求出在用不同拟合曲线中最接近2010,与2011年的曲线,然后取出它单独作为分析对象。

(因世界油价取决因素过多,所以我们只能在短时间范围内进行拟合,所以我只取到2015年的世界原油价格)用matlab求数值拟合函数图象x=2003:1:2009;y=[40.33 ,49.16 , 59.84 , 69.65 ,93.51 ,89.40, 95.18 ];m2=polyfit(x,y,2);m3=polyfit(x,y,3);m5=polyfit(x,y,5);m9=polyfit(x,y,9);disp('二次拟合'),f2=poly2str(m2, 'x')disp('三次拟合'),f3=poly2str(m3,'x')disp('五次拟合'),f5=poly2str(m5, 'x')disp('九次拟合'),f9=poly2str(m9, 'x')x1=2003:1:2015;y2=polyval(m2,x1);y3=polyval(m3,x1);y5=polyval(m5,x1);y9=polyval(m9,x1);wch2=abs(y-polyval(m2,x))./ywch3=abs(y-polyval(m3,x))./ywch5=abs(y-polyval(m5,x))./ywch9=abs(y-polyval(m9,x))./ypjwch2=mean(wch2)pjwch3=mean(wch3)pjwch5=mean(wch5)pjwch9=mean(wch9)plot(x,y, 'rp',x1,y2, '--',x1,y3,'k-', x1,y5,x1,y9) legend('二次拟合','三次拟合','五次拟合','九次拟合')由图可以得出应选择二次拟合图象,再把二次拟合图象单独分析x=2003:1:2009;y=[40.33 ,49.16 , 59.84 , 69.65 ,93.51 ,89.40, 95.18 ];m=polyfit(x,y,3);disp('三次拟合'),f=poly2str(m,'x')wch3=abs(y-polyval(m,x))./y得到的函数m输出为m=-1.2683.*x.^3+7630.5197.*x.^2-153 02171.1633.*x+10228931022.1912由此可拟合估计2012-2015的值x=2003:2015;m=-1.2683.*x.^3+7630.5197.*x.^2-15302171.1633.*x+10228931022.1912 ;xi=2012:1:2015;mi1=interp1(x,m,xi,'*nearest');mi2=interp1(x,m,xi,'*linear');mi3=interp1(x,m,xi,'*spline');mi4=interp1(x,m,xi,'*cubic');plot(x,m,'ro',xi,mi1,'--',xi,mi2,'-',xi,mi3, 'k.-',xi,mi4,'m:')legend('原始数据', '最近点插值', '线性插值', '样条插值', '立方插值')油价已成为现今社会人们非常关注的一个话题,我们对油价的估计也许并非很准确,但也能说明一些问题,如下面专家所分析的那样。

matlab第二次训练题目

matlab第二次训练题目
BLOCK2=J(x:x+K-1,y:y+K-1);
BLOCK1=idct2(BLOCK1);
BLOCK2=idct2(BLOCK2);
a=BLOCK2(1,1)/BLOCK1(1,1)-1;
ifa<0
W(p,q)=0;
else
W(p,q)=1;
end
end
end
%显示提取的水印
subplot(3,2,4);
imwrite(L,'attack.jpg','jpeg','Quality',85);
J=imread('attack.jpg','jpeg');
subplot(3,2,5);imshow(J);title('压缩后的图像');
I=imread('1.jpg');
%从压缩的图像中提取水印
forp=1:N
x1=x(1:10:256);
horz=1:10:256;
bar(horz,x1);
除了显示数据的直方图统计外,还可以对图像进行均衡处理,所用到的函数是histeq,这两个函数同样只使用于二维数据,所以也要对二维和三维数据分开处理。
直方图显示和均衡后的图像分别如下图所示
11二值图像
用j=im2bw(x);来对灰度图像到二值图像的转换。转换结果为:
case '中值滤波'
case '自适应滤波'
case '平滑滤波'
end
10直方图统计
用imhist函数对图像数据进行直方图统计,
x=imhist(handles.img(:,:,1));

北京科技大学matlab大作业

北京科技大学matlab大作业

《数学实验》报告实验名称MATLAB在研究物体振动方面的应用学院专业班级姓名学号2015年 1月一、【实验目的】物体振动这样一个看似简单但又包含着很多复杂计算的运动中,在人为的计算时是很难精确的实现,而通过MATLAB可以处理诸多科学中的许多问题,利用它来研究物理学中的机械振动,不仅特别方便还非常有效。

二、【实验任务】本列举振动的一些实例,用matlab语言编制计算机程序进行仿真以达到研究简谐振动以及振动的合成,振动的计算以及受迫振动。

三、【实验程序】(一)简谐振动介绍最简单和最基本的振动是简谐振动.任何复杂的振动,都可以看成为许多简谐振动的合成.1.特点质点作简谐振动的条件是:在任何时候所受到的力与质点离开平衡位置的位移成正比,其指向与位移相反,始终指向平衡位置.所受的力与位移的关系表示为(1)式中为正的常数.对于弹簧振子,就是弹簧劲度系数2.运动的微分方程及其解根据牛顿第二定律,作简谐振动的质点的微分方程写成即(2)式中。

如下面的(3)和(4)所示,是简谐振动的圆频率。

微分方程(2)的解是(3)或(4)式(7.3)也可以表为复数形式(5)但要约定取其实数部分.利用三角公式,很容易导出A ,和B,C之间的关系即(6)3.速度和加速度作简谐振动的质点,它的速度和加速度很容易得到.只要将(7.3)对时间分别求导一次和求导两次即可,(7)(8)式(1)、(2)、(3)、(4)、(5)都是判别一个系统是否作简道振动的依椐.4.圆频率、周期和频率之间的关系,,(9),,三者不是独立的,只要知道其中一个,就可以由(7.9)求出其余两个。

它们是由振动系统的固有性质决定,常称为固有圆频率,固有周期和固有频率.5.振幅和初周相(3)中和是两个积分常数,可由初始条件决定.将初始条件:“,,”代入(3)和(7),得(10)解得(11)求解质点作简谐振动的具体运动情况,也就是要确定(7.3)中的,,三个值.其中和由初始条件决定,因此一般来说,首先必须确定初始值和,而根据(7.10)或(7.11)求出和值.至于(或或),它是由系统固有性质决定的,与初始情况无关.例如对于弹簧振子,,完全由弹簧劲度系数和物体质量所决定.弹簧的大(即所谓硬的弹簧),振动的圆频率也就大。

北科大matlab数学实验报告第二次

北科大matlab数学实验报告第二次

《数学实验》报告实验名称 MATLAB绘图学院材料科学与工程学院专业班级材料0801 姓名 xxxxxxx 学号 xxxxxxxxx2011年10月一、【实验目的】学会用MATLAB绘制二维曲线、三维曲线、三维曲面,掌握gtext, legend, title, xlabel, ylabel等指令用法。

二、【实验任务】第四章3、5、9题。

三、【实验程序】1.x1=-pi:pi/100:pi;y1=x1.*cos(x1);x2=pi:pi/100:4*pi;y2=x2.*tan(1./x2).*sin(x2.^3);x3=1:0.1:8;y3=exp(1./x3).*sin(x3);subplot(131),plot(x1,y1,'rp'),grid onaxis tighttitle('y1=x1cosx1')xlabel('x轴'),ylabel('y轴')gtext('y1=x1cosx1')legend('y1=x1cosx1')subplot(132),plot(x2,y2,'c-'),grid onaxis tighttitle('y2=x2tan(1/x2)sin(x2^3)')xlabel('x轴'),ylabel('y轴')gtext('y2=x2tan(1/x2)sin(x2^3)')legend('y2=x2tan(1/x2)sin(x2^3)')subplot(133);plot(x3,y3,'mx'),grid onaxis tighttitle('y3=e^(1/x3)sin(x3)')xlabel('x轴'),ylabel('y轴')gtext('y3=e^(1/x3)*sin(x3)')legend('y3=e^(1/x3)sin(x3)')2. t=0:pi/10:20*pi;x=t.*cos(pi/6.*t);uy=t.*sin(pi/6.*t);z=2*t;plot3(x,y,z),grid onxlabel('x轴 x=tcos(pi/6t)')ylabel('y轴 y=tsin(pi/6t)')zlabel('z轴 z=2t')title('圆锥螺线(0≤t≤20pi)')legend('圆锥螺线')3. %三维曲面t=-2:0.01:2;[x,y]=meshgrid(t);z1=5-x.^2-y.^2+eps;subplot(131),mesh(x,y,z1),title('三维曲面')%平面subplot(1,3,2)z2=3*ones(size(x))mesh(x,y,z2)title('平面')%交线r0=abs(z1-z2)<=1;zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'m-')title('交线')四、【实验结果】1.2.3.五、【实验总结】这次作业明显比第一次轻松了许多,在上课认真听讲后,又研读了书上的讲解和例题,起初是模仿,后来自己就能完全理解并做出题目来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数学实验》报告
实验名称 MATLAB绘图
学院
专业班级
姓名
学号
年月
一、 【实验目的】
了解并学习绘制MATLAB 二维曲线和三维曲线的图形。

二、 【实验任务】
1.绘制)π4,0(),3sin(3
∈=x x e y x 的图像,要求用蓝色的星号画图,并且画出其包络线3
x e y ±=的图像,用红色的点划线画图。

3.在同一图形窗口画三个子图,要求使用指令gtext ,axis ,legend ,title ,xlabel ,ylabel : (1))ππ,(,cos -∈=x x x y (2))π,4π(,sin 1
tan
3∈=x x x
x y (3)]8,1[,sin 1∈=x x e y x
5.绘制圆锥螺线的图像并加各种备注,圆锥螺线的参数方程为:
π]20,0[,t
2z 6π
sin 6π
cos {
∈===t t t y t
t x
三、 【实验程序】
1.
x=0:pi/50:4*pi; y1=exp(x/3).*sin(3*x); y2=exp(x/3); y3=-exp(x/3); plot(x,y1,'b*') hold on
plot(x,y2,'r-.') hold on plot(x,y3,'r-.')
3.
x1=-pi:pi/50:pi; y1=x1.*cos(x1); x2=pi:pi/50:4*pi;
y2=x2.*tan(1./x2).*sin(x2.^3); x3=1:0.01:8;
y3=exp(1./x3).*sin(x3);
subplot(221),plot(x1,y1,'r-'),grid on axis tight
xlabel('x 轴'),ylabel('y 轴') title('y=xcosx')
gtext('y=xcosx')
legend('y=xcosx')
subplot(222),plot(x2,y2,'b--'),grid on
axis tight
xlabel('x轴'),ylabel('y轴')
title('y=xtan(1/x)sinx^3')
gtext('y=xtan(1/x)sinx^3')
legend('y=xtan(1/x)sinx^3')
subplot('position',[0.2,0.05,0.6,0.45]),plot(x2,y2,'m'),grid on axis tight
xlabel('x轴'),ylabel('y轴')
title('y=exp(1/x)sinx')
gtext('y=exp(1/x)sinx')
legend('y=exp(1/x)sinx')
5.
t=0:pi/10:20*pi;
x=t.*cos(pi*t/6);
y=t.*sin(pi*t/6);
z=2*t;
plot3(x,y,z)
四、【实验结果】
1.
3.
5.
五、【实验总结】
了解了MATLAB绘制二维和三维图形的方法,掌握了各种指令和控制方法,并且经过实践运用MATLAB进行了图形绘制。

相关文档
最新文档