《数学实验与Matlab》程序2

合集下载

数学实验练习二 参考答案

数学实验练习二 参考答案

数学实验二实验内容:学习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环境语法及数学运算(验证性实验-2课时)

实验一matlab环境语法及数学运算(验证性实验-2课时)

实验一Matlab环境语法及数学运算(验证性实验-2课时)一、实验目的:1、熟悉matlab软件的环境语法及简单的数学运算;2、能熟练运用matlab软件进行简单的数学运算;二、实验设备PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。

局域网、MATLAB7.0环境、投影仪三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。

MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink 模型编辑窗口。

1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。

用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。

在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。

在命令窗口中输入该文件名,这一连串命令就被执行了。

因为这样的文件都是以“.m”为后缀,所以称为m-文件。

2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。

在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。

四、实验内容:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:3、多项式求多项式 p(x) = x3 + 2x+ 4的根4、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;五、实验步骤1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;SQRT Square root.SQRT(X) is the square root of the elements of X. Complexresults are produced if X is not positive.See also sqrtm.Overloaded functions or methods (ones with the same name in other directories) help sym/sqrt.mReference page in Help browserdoc sqrt2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*BA^2*B =105 122229 266(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.A\B =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511A/B =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'A.'=5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA’ =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:A(3,1:2) =7 8A(2:3,:) =4 5 67 8 9A(1:2,3) =363、多项式求多项式 p(x) = x3 + 2x+ 4的根p=[1 0 2 4];roots(p)ans =0.5898 + 1.7445i0.5898 - 1.7445i-1.17954、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π]t=0:pi/100:2*pi;y=cos(t);plot(t,y)(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]t=0:pi/100:2*pi;y1=cos(t-0.25);y2=sin(t-0.5);plot(t,y1,t,y2)5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;程序:t=0:pi/100:4*pi;x1=10*sin(t);plot(t,x1,'r-.+')title('t from 0 to 4{\pi}')xlabel('Variable t')ylabel('Variable x1')grid ontext(2,5,'曲线x1=10*sin(t)')legend('x1')六、实验要求利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。

Matlab与数学实验(第二版)(张志刚 刘丽梅 版) 习题答案

Matlab与数学实验(第二版)(张志刚 刘丽梅 版) 习题答案

Matlab与数学实验(第二版)(张志刚刘丽梅版)习题答案(1,3,4,5章)第一章d1zxt1用format的不同格式显示2*Pi,并分析格式之间的异同。

a=2*pi ;disp('***(1) 5位定点表示2*pi:')format short , a % 5位定点表disp('***(2) 15位定点表示2*pi:')format long , a % 15位定点表disp('***(3) 5位浮点表示2*pi:')format short e , a % 5位浮点表示disp('***(4) 15位浮点表示2*pi:')format long e , a % 15位浮点表示disp('***(5) 系统选择5位定点和5位浮点中更好的表示2*pi:')format short g , a % 系统选择5位定点和5位浮点中更好的表示disp('***(6) 系统选择15位定点和15位浮点中更好的表示2*pi:')format long g , a % 系统选择15位定点和15位浮点中更好的表disp('***(7) 近似的有理数的表示2*pi:')format rat , a % 近似的有理数的表disp('***(8) 十六进制的表示:')format hex , a % 十六进制的表disp('***(9) 用圆角分(美制)定点表示2*pi:')format bank , a % 用圆角分(美制)定点表示d1zxt2利用公式求Pi的值。

sum=0 ;n=21;for i = 1:4:n % 循环条件sum= sum+(1/i) ; % 循环体enddiff=0 ;for j = 3:4:(n-2) % 循环条件diff= diff+(1/j) ; % 循环体endpai=4*(sum-diff)d1zxt3 编程计算1!+3!+...+25!的阶乘。

matlab实验二

matlab实验二

北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。

2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。

3.能用Matlab 进行基本的数组、矩阵运算。

4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。

5.掌握Matlab 中的关系运算与逻辑运算。

(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。

(四)实验程序设计1.利用diag 等函数产生下列矩阵。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。

4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。

数学建模实验二:微分方程模型Matlab求解与分析

数学建模实验二:微分方程模型Matlab求解与分析

实验二: 微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。

二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。

其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。

(1) 微分方程 例1 求解一阶微分方程 21y dxdy+= (1) 求通解 输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解 输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简 输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。

实验项目1 MATLAB熟悉使用及编程基础2

实验项目1  MATLAB熟悉使用及编程基础2

实验项目1 MATLAB熟悉使用及编程基础MATLAB是美国Mathworks公司推出的一套高件能的数值分析和计算软件,它将矩阵运算、数值分析、图形处理、编程处术结合在一起,为用户提供了一个强有力的科学及工程问题分析计算和程序设计的工具。

MATLAB本身也在不断改进和创新,特别是2000年以出的版本6,无论在界面设计、计算方法、编程阶段和工具等方面都有了巨大的突破,全面引入了面向对象编程的概念和方法,使MATLAB真正成为了具有全部高级语言功能和特征的新一代软件开发平台。

MATLAB开发环境是一组工具和组件的集成,这些工具是图形化的用户接口,它们包括 MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口以及帮助信信息、工作空间、文件和搜索路径等浏览器。

MATLAB集成了丰富的数学函数库,其强大的计算能力覆盖了从基本函数(如求和、正弦、余弦和复数运算等)到特殊函数(如矩阵求逆、矩阵特征值、贝塞尔函数和快速傅里叶变换等)的范围。

MATLAB语言是一种高级编程语言,包括控制流的描述、函数、数据结构、输入输出及面对对象编程,既可以编制适用于快速使用的小程序,也可以编制大型复杂的应用程序。

MATLAB提供了功能强大的图形系统,既可以完成二维和三维数据的可视化、图像处理、动画和图形表达等功能,也可以定制图形的外观,如建立一个完整的图形用户界由的应用程序。

1.实验目的:掌握MA TLAB编程语言和偏微分方程PDE工具箱对电磁场的基本问题进行仿真;2 实验内容:1、MATLAB启动MA TLAB安装到硬盘后,启动方法有:(1)点击Windows桌面上自动生成的快捷方式图标;(2)点击matlab 6\文件夹下快捷方式图标令MATLAB(3)点击matlab/bin/win32文件夹中的Matlab.exe2、m文件编写熟悉基本指令、基本数学运算,借助help、lookfor等命令实现在线帮助。

建立M文件的一般步骤如下:(1)打开文件编辑器:指的是MA TLAB内部编辑/调试器,可以有几种不同的方法打开文件编辑器,最简单的方法是在操作桌面助工具栏上选择蹦(建立新文件)或选择瞪(打开已有的文件),也可以在命令窗口输入命令edit建立新文件或输入命令edit filename,打开名为fi1ename的M文件。

(完整版)MATLAB数学实验第二版答案(胡良剑)

(完整版)MATLAB数学实验第二版答案(胡良剑)

数学实验答案Chapter 1Page20,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.0328x1_index =24>> x(x1_index)ans =-0.8500>> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点f2 =0.0630x2_index =65>> x(x2_index)ans =1.2500>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59>> sum(z)>> sum(diag(z))>> z(:,2)/sqrt(3)>> z(8,:)=z(8,:)+z(3,:)Chapter 2Page 45 ex1先在编辑器窗口写下列M函数,保存为eg2_1.m function [xbar,s]=ex2_1(x)n=length(x);xbar=sum(x)/n;s=sqrt((sum(x.^2)-n*xbar^2)/(n-1));例如>>x=[81 70 65 51 76 66 90 87 61 77];>>[xbar,s]=ex2_1(x)Page 45 ex2s=log(1);n=0;while s<=100n=n+1;s=s+log(1+n);endm=nPage 40 ex3clear;F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1;F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1);enda,x,k计算至k=21可满足精度clear;tic;s=0;for i=1:1000000s=s+sqrt(3)/2^i;ends,toctic;s=0;i=1;while i<=1000000s=s+sqrt(3)/2^i;i=i+1;ends,toctic;s=0;i=1:1000000;s=sqrt(3)*sum(1./2.^i);s,tocPage 45 ex5t=0:24;c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...31 32 31 29 27 25 24 22 20 18 17 16];plot(t,c)Page 45 ex6(1)x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2]) (2)参数方法t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t); plot(x,y)(3)x=-3:0.1:3;y=x;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)(4)x=-3:0.1:3;y=-3:0.1:13;[x,y]=meshgrid(x,y);z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;surf(x,y,z)(5)t=0:0.01:2*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z)(6)theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20); [theta,fai]=meshgrid(theta,fai);x=2*sin(fai).*cos(theta);y=2*sin(fai).*sin(theta);z=2*cos(fai);surf(x,y,z)(7)x=linspace(0,pi,100);y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)page45, ex7x=-1.5:0.05:1.5;y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);plot(x,y)page45,ex9clear;close;x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y);a=0.5457;b=0.7575;p=a*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);p=p+b*exp(-y.^2-6*x.^2).*(x+y>-1).*(x+y<=1);p=p+a*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);mesh(x,y,p)page45, ex10lookfor lyapunovhelp lyap>> A=[1 2 3;4 5 6;7 8 0];C=[2 -5 -22;-5 -24 -56;-22 -56 -16];>> X=lyap(A,C)X =1.0000 -1.0000 -0.0000-1.0000 2.0000 1.0000-0.0000 1.0000 7.0000Chapter 3Page65 Ex1>> a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\bans =0.5000 0.5000 1.0000ans =2 2 1ans =0.6552 一元方程组x[2,4,3]=[1,2,3]的近似解ans =0 0 00 0 00.6667 1.3333 1.0000矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解Page65 Ex 2(1)>> A=[4 1 -1;3 2 -6;1 -5 3];b=[9;-2;1];>> rank(A), rank([A,b]) [A,b]为增广矩阵ans =3ans =3 可见方程组唯一解>> x=A\bx =2.38301.48942.0213(2)>> A=[4 -3 3;3 2 -6;1 -5 3];b=[-1;-2;1];>> rank(A), rank([A,b])ans =3ans =3 可见方程组唯一解>> x=A\bx =-0.4706-0.2941(3)>> A=[4 1;3 2;1 -5];b=[1;1;1];>> rank(A), rank([A,b])ans =2ans =3 可见方程组无解>> x=A\bx =0.3311-0.1219 最小二乘近似解(4)>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1 2 3]';%注意b的写法>> rank(a),rank([a,b])ans =3ans =3 rank(a)==rank([a,b])<4说明有无穷多解>> a\bans =110 一个特解Page65 Ex3>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]';>> x=null(a),x0=a\bx =-0.62550.6255-0.20850.4170x0 =11通解kx+x0Page65 Ex 4>> x0=[0.2 0.8]';a=[0.99 0.05;0.01 0.95];>> x1=a*x, x2=a^2*x, x10=a^10*x>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> x0=[0.8 0.2]';>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> [v,e]=eig(a)v =0.9806 -0.70710.1961 0.7071e =1.0000 00 0.9400>> v(:,1)./xans =1.17671.1767 成比例,说明x是最大特征值对应的特征向量Page65 Ex5用到公式(3.11)(3.12)>> B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25 5 20]'; >> C=B/diag(x)C =0.2400 0.4000 0.05000.0900 0.2000 0.01000.1200 0.0400 0.0900>> A=eye(3,3)-CA =0.7600 -0.4000 -0.0500-0.0900 0.8000 -0.0100-0.1200 -0.0400 0.9100>> D=[17 17 17]';x=A\Dx =37.569625.786224.7690Page65 Ex 6(1)>> a=[4 1 -1;3 2 -6;1 -5 3];det(a),inv(a),[v,d]=eig(a) ans =-94ans =0.2553 -0.0213 0.04260.1596 -0.1383 -0.22340.1809 -0.2234 -0.0532v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766(2)>> a=[1 1 -1;0 2 -1;-1 2 0];det(a),inv(a),[v,d]=eig(a) ans =1ans =2.0000 -2.0000 1.00001.0000 -1.0000 1.00002.0000 -3.0000 2.0000v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> det(A),inv(A), [v,d]=eig(A)ans =1ans =68.0000 -41.0000 -17.0000 10.0000-41.0000 25.0000 10.0000 -6.0000-17.0000 10.0000 5.0000 -3.000010.0000 -6.0000 -3.0000 2.0000v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887(4)(以n=5为例)方法一(三个for)n=5;for i=1:n, a(i,i)=5;endfor i=1:(n-1),a(i,i+1)=6;endfor i=1:(n-1),a(i+1,i)=1;enda方法二(一个for)n=5;a=zeros(n,n);a(1,1:2)=[5 6];for i=2:(n-1),a(i,[i-1,i,i+1])=[1 5 6];enda(n,[n-1 n])=[1 5];a方法三(不用for)n=5;a=diag(5*ones(n,1));b=diag(6*ones(n-1,1));c=diag(ones(n-1,1));a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)] 下列计算>> det(a)ans =665>> inv(a)ans =0.3173 -0.5865 1.0286 -1.6241 1.9489-0.0977 0.4887 -0.8571 1.3534 -1.62410.0286 -0.1429 0.5429 -0.8571 1.0286-0.0075 0.0376 -0.1429 0.4887 -0.58650.0015 -0.0075 0.0286 -0.0977 0.3173>> [v,d]=eig(a)v =-0.7843 -0.7843 -0.9237 0.9860 -0.92370.5546 -0.5546 -0.3771 -0.0000 0.3771-0.2614 -0.2614 0.0000 -0.1643 0.00000.0924 -0.0924 0.0628 -0.0000 -0.0628-0.0218 -0.0218 0.0257 0.0274 0.0257d =0.7574 0 0 0 00 9.2426 0 0 00 0 7.4495 0 00 0 0 5.0000 00 0 0 0 2.5505Page65 Ex 7(1)>> a=[4 1 -1;3 2 -6;1 -5 3];[v,d]=eig(a)v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766>> det(v)ans =-0.9255 %v行列式正常, 特征向量线性相关,可对角化>> inv(v)*a*v 验算ans =-3.0527 0.0000 -0.00000.0000 3.6760 -0.0000-0.0000 -0.0000 8.3766>> [v2,d2]=jordan(a) 也可用jordanv2 =0.0798 0.0076 0.91270.1886 -0.3141 0.1256-0.1605 -0.2607 0.4213 特征向量不同d2 =8.3766 0 00 -3.0527 - 0.0000i 00 0 3.6760 + 0.0000i>> v2\a*v2ans =8.3766 0 0.00000.0000 -3.0527 0.00000.0000 0.0000 3.6760>> v(:,1)./v2(:,2) 对应相同特征值的特征向量成比例ans =2.44912.44912.4491(2)>> a=[1 1 -1;0 2 -1;-1 2 0];[v,d]=eig(a)v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i>> det(v)ans =-5.0566e-028 -5.1918e-017i v的行列式接近0, 特征向量线性相关,不可对角化>> [v,d]=jordan(a)v =1 0 11 0 01 -1 0d =1 1 00 1 10 0 1 jordan标准形不是对角的,所以不可对角化(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> [v,d]=eig(A)v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887>> inv(v)*A*vans =0.0102 0.0000 -0.0000 0.00000.0000 0.8431 -0.0000 -0.0000-0.0000 0.0000 3.8581 -0.0000-0.0000 -0.0000 0 30.2887本题用jordan不行, 原因未知(4)参考6(4)和7(1)Page65 Exercise 8只有(3)对称, 且特征值全部大于零, 所以是正定矩阵. Page65 Exercise 9(1)>> a=[4 -3 1 3;2 -1 3 5;1 -1 -1 -1;3 -2 3 4;7 -6 -7 0]>> rank(a)ans =3>> rank(a(1:3,:))ans =2>> rank(a([1 2 4],:)) 1,2,4行为最大无关组ans =3>> b=a([1 2 4],:)';c=a([3 5],:)';>> b\c 线性表示的系数ans =0.5000 5.0000-0.5000 1.00000 -5.0000Page65 Exercise 10>> a=[1 -2 2;-2 -2 4;2 4 -2]>> [v,d]=eig(a)v =0.3333 0.9339 -0.12930.6667 -0.3304 -0.6681-0.6667 0.1365 -0.7327d =-7.0000 0 00 2.0000 00 0 2.0000>> v'*vans =1.0000 0.0000 0.00000.0000 1.0000 00.0000 0 1.0000 v确实是正交矩阵Page65 Exercise 11设经过6个电阻的电流分别为i1, ..., i6. 列方程组如下20-2i1=a; 5-3i2=c; a-3i3=c; a-4i4=b; c-5i5=b; b-3i6=0;i1=i3+i4;i5=i2+i3;i6=i4+i5;计算如下>> A=[1 0 0 2 0 0 0 0 0;0 0 1 0 3 0 0 0 0;1 0 -1 0 0 -3 0 0 0; 1 -1 0 0 0 0 -4 0 0;0 -1 1 0 0 0 0 -5 0;0 1 0 0 0 0 0 0 -3; 0 0 0 1 0 -1 -1 0 0;0 0 0 0 -1 -1 0 1 0;0 0 0 0 0 0 -1 -1 1];>>b=[20 5 0 0 0 0 0 0 0]'; A\bans =13.34536.44018.54203.3274-1.18071.60111.72630.42042.1467Page65 Exercise 12>> A=[1 2 3;4 5 6;7 8 0];>> left=sum(eig(A)), right=sum(trace(A))left =6.0000right =6>> left=prod(eig(A)), right=det(A) 原题有错, (-1)^n应删去left =27.0000right =27>> fA=(A-p(1)*eye(3,3))*(A-p(2)*eye(3,3))*(A-p(3)*eye(3,3)) fA =1.0e-012 *0.0853 0.1421 0.02840.1421 0.1421 0-0.0568 -0.1137 0.1705>> norm(fA) f(A)范数接近0ans =2.9536e-013Chapter 4Page84 Exercise 1(1)roots([1 1 1])(2)roots([3 0 -4 0 2 -1])(3)p=zeros(1,24);p([1 17 18 22])=[5 -6 8 -5];roots(p)(4)p1=[2 3];p2=conv(p1, p1);p3=conv(p1, p2);p3(end)=p3(end)-4; %原p3最后一个分量-4roots(p3)Page84 Exercise 2fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');fzero(fun,2)Page84 Exercise 3fun=inline('x^4-2^x');fplot(fun,[-2 2]);grid on;fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)Page84 Exercise 4fun=inline('x*sin(1/x)','x');fplot(fun, [-0.1 0.1]);x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;x=[x,-x]Page84 Exercise 5fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);16*x(1)-x(1)^3-2*x(2)^ 2-16*x(3)^2]','x');[a,b,c]=fsolve(fun,[0 0 0])Page84 Exercise 6fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))];[a,b,c]=fsolve(fun,[0.5 0.5])Page84 Exercise 7clear; close; t=0:pi/100:2*pi;x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t);x2=3+sqrt(2)*cos(t); y2=6*sin(t);plot(x1,y1,x2,y2); grid on; 作图发现4个解的大致位置,然后分别求解y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.5,2])y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.8,-2])y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[3.5,-5])y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[4,-4])Page84 Exercise 8(1)clear;fun=inline('x.^2.*sin(x.^2-x-2)');fplot(fun,[-2 2]);grid on; 作图观察x(1)=-2;x(3)=fminbnd(fun,-1,-0.5);x(5)=fminbnd(fun,1,2);fun2=inline('-x.^2.*sin(x.^2-x-2)');x(2)=fminbnd(fun2,-2,-1);x(4)=fminbnd(fun2,-0.5,0.5);x(6)=2feval(fun,x)答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小,x(2)最大。

齐齐哈尔大学《数学实验》关于matlab软件设计结课报告

齐齐哈尔大学《数学实验》关于matlab软件设计结课报告

齐齐哈尔大学Matlab程序设计结课报告学院:理学院班级:信科152姓名:刘言学号:2015035000数学实验报告姓名:刘言班级:信科152 实验日期:2016.11.29实验名称:MATLAB实验汇总报告一、实验准备部分(一)实验基础:1.掌握基本的matlab编程基础,能够解决简单的数学问题2.GUI工具与图形用户界面3.数据可视化4.数学问题5.文件读取6.Matlab编译器7.本报告基于版本:matlab2016a进行编写,如遇不兼容问题,请放于此版本调试(二)实验基本理论与方法1、绘图函数polt实现一次函数图像、正多边形、二次函数的绘图功能:plot(x,y);绘图函数axis([-1.1,1.1,-1.1,1.1]);图像坐标2、添加GUI控件实现可视化操作:3、一元二次方程求解:一元二次方程的求根公式:将一元二次方程ax2+bx+c=0(a≠0)进行配方,当b2-4ac≥0时的根为5、矩阵基本计算:求转置、逆矩阵、加减运算、左除右除、秩等相关计算6、两个简单的数学游戏(三)实验设计(可以用流程图、功能图或其他方式表示,选择一种即可)1、程序流程图用户界面二、实验操作部分程序设计点击画图 用户界面菜单栏功能一元二次函数一元函数求解正比例函数多边形绘制MCC 编译为.EXE工具帮助二元函数求解矩阵求解数学游戏速算24智商测试(一)实验过程:1、创建GUI界面:button按钮、edit可编辑文本框、text静态文本框、Aitx显示图像、按钮组等一些列组件相互联系搭建成一个相对完美的用户操作系统,2、实现按钮功能化:例如:按钮控件的制作:在GUI界面新建一个‘按钮’,然后双击打开‘String’对文本进行编辑,即可改变按钮显示的文字,右击到按钮标签Tag的回调函数Callback,键入相应的代码或者.m文件,实现相应功能。

然后就是按钮的外观优化:字体颜色,背景色,字体大小等做细节处理。

matlab第二章实训报告

matlab第二章实训报告

佛山科学技术学院《MATLAB教程第二章实训》报告专业姓名成绩班级学号日期一、目的1.学习matlab的数据类型2.矩阵和数组的算术运算3.字符串4.时间和日期5.结构体和元胞数组6.多维数组7.逻辑运算和关系运算8.数组的信息获取9.多项式二、步骤1.学习matlab的数据类型Matlab R2010a定义了15种基本的数据类型,包括整型、浮点型、字符型和逻辑型等。

用户甚至可以定义自己的数据类型。

Matlab内部的任何数据类型,都是按照数组的形式进行储存和运算的。

数值型包括整数和浮点数,其中整数包括有符号数和无符号数,浮点数包括单精度型和双精度型。

在默认情况下,matlab默认将所有数值都按照双精度浮点数类型来存储和操作。

(1)常数和变量Matlab的常数采用十进制表示,可以用带小数点的形式直接表示,也可以用科学记数法。

数值的表示范围是10^-309-10^309。

变量是数值计算的基本单元。

Matlab与其他的高级语言不同,变量使用是无需先定义,其名称就是第一次合法出现时的名称,因此用起来很便捷。

Matlab的变量命名有一定的规则:a.变量区分字母的大小写。

例如,“a”和“A”是不同的变量。

b.变量名不能超过63个字符,第63个字符后的字符会被忽略。

c.变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能有空格和标点符号。

d.关键字(如if\while等)不能作为变量名。

在matlab中的所有表示符号包括函数名、文件名都是遵循变量名的命名规则。

Matlab中有一些自己的特殊变量,是由系统预先自动定义的,例如:ans——运算结果的默认变量名Pi——圆周率πEps——浮点数的相对误差Inf或inf——无穷大Nan或nan——不定值i或j——i=j=-1^1/2,虚数单位Nargin——函数的输入变量数目Nargout——函数的输出变量数目Realmin——最小的可用正实数Realmax——最大的可用正实数(2)整数和浮点数Matlab提供了8种内置的整数类型,为了在使用时提高运行速度和存储空间,应该尽量使用字节少的数据类型,可以使用类型转换函数将各种整数类型强制相互转换。

MATLAB数学实验第二版课后练习题含答案

MATLAB数学实验第二版课后练习题含答案

MATLAB数学实验第二版课后练习题含答案课后练习题MATLAB数学实验第二版的课后练习题如下:第一章课后练习题1.编写MATLAB程序,计算并输出下列公式的结果:y = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}}其中,x, $\\mu$, $\\sigma$ 分别由用户输入。

要求输出结果精确至小数点后两位。

答案如下:x=input('请输入 x 的值:');mu=input('请输入 mu 的值:');sigma=input('请输入 sigma 的值:');y=1/sqrt(2*pi*sigma^2) *exp(-(x-mu)^2/ (2*sigma^2));fprintf('y = %.2f\', y);2.编写MATLAB程序,求解下列方程的解:4x + y = 11\\\\x + 2y = 7答案如下:A= [4,1;1,2];B= [11;7];X=inv(A) *B;fprintf('x = %.2f, y = %.2f\', X(1), X(2));第二章课后练习题1.编写MATLAB程序,计算下列多项式的值:P(x) = x^4 - 2x^3 + 3x^2 - x + 1其中,x 由用户输入。

要求输出结果精确至小数点后两位。

答案如下:x=input('请输入 x 的值:');y=x^4-2*x^3+3*x^2-x+1;fprintf('P(%.2f) = %.2f\', x, y);2.编写MATLAB程序,绘制下列函数的图像:f(x) = \\begin{cases} x + 1, & x < 0 \\\\ x^2, & 0 \\leq x < 1 \\\\ 2x - 1, & x \\geq 1 \\end{cases}答案如下:x=-2:0.01:2;y1=x+1;y2=x.^2.* ((x>=0) & (x<1));y3=2*x-1;plot(x,y1,x,y2,x,y3);legend('y1 = x + 1','y2 = x^2','y3 = 2x - 1');总结本文提供了《MATLAB数学实验第二版》的部分课后练习题及其答案。

数学模型与数学实验课件第02讲 MATLAB入门

数学模型与数学实验课件第02讲 MATLAB入门
%选择内存中的a变量保存为 name.mat文件
%显示目录上的文件 %清除内存中的全部变量 %把name.mat文件中的a变量装入
内存 %检查内存中有什么变量
➢ 其他帮助命令 ——who、whos
联机演示系统
进入演示界面的方法: ➢ 选中MATLAB主窗口中的Help下拉菜单
的Demos选项 ➢ 在命令窗口中执行demo
MATLAB的常用命令
➢ who或whos:显示当前内存变量 ➢ clear:清除指定或所有内存变量 ➢ clc:清除工作窗口 ➢ clf:清除图形窗口
➢ 直接交互的指令行操作方式
➢ M文件的编程工作方式
——脚本文件 ——函数文件
直接交互的指令行操作方式
➢ 在Command Window中看到“<<”提示符 后就可以输入任何想要的函数或变量运 算
➢ 若没有“<<”提示符,则表示MATLAB正 在执行任务,可等待也可终止
➢ 任何时候可以使用“Ctrl+Break”或 “Ctrl+C”终止正在执行的任务
第02讲 MATLAB入门
MATLAB 简介
MATLAB是MATrix LABoratory的缩写, 是由美国MathWorks公司开发的工程计 算软件,1984年MathWorks公司正式将 MATLAB推向市场,迄今MATLAB已推出多 个版本.在国际学术界,MATLAB已经被确 认为准确可靠的科学计算标准软件.在 设计研究单位和工业部门,MATLAB被认 作进行高效研究和开发的首选软件工具.
几点说明:
➢ 所有的命令必须在英文状态下输入 ➢ MATLAB中严格区分大小写 ➢ 不同的语法关键词显示颜色不同 ➢ 可以作编辑菜单中的复制、粘贴、撤销

数学实验 第2章 MATLAB数值运算

数学实验 第2章 MATLAB数值运算




数学实验

例2.5 向量的点积和叉积运算.
>> A = [4 -2 1];
>> B = [1 -1 3];
>> C=dot(A,B)
%向量A和B的点积
C=
9
>> D = cross(A,B) %向量A和B的叉积
D=
-5 -11 -2


澡身浴德 修业及时
澡身浴德 修业及时
2.2 矩阵及其运算
① x(n)
表示向量中的第n个元素
② x(n1:n2)
表示向量中的第n1至n2个元素
例2.3 向量元素的引用、修改和扩展.
>> x=1:2:5
x=
1
3
5


数学实验

>> x(2)=6
%修改第2个元素为6
x=
1
6

>> x(5)=7
%增加第5个分量,第4个分量没有赋值,自动设为0
x=
1
6
5
0
7
>> x([1,end])
2
.
= ( , , . . . , )

1 2

.
.

叫做 n 维向量,向量的第 i 个分量称为 .


数学实验

2.1.1 向量的创建
MATLAB中向量可以由以下方法创建:
(1)元素输入法
在命令行窗口中直接输入,向量元素用“[ ]”括起来,元素之间用空格、逗号或分
号分隔.用空格和逗号分隔生成行向量,用分号分隔生成列向量.

MATLAB数学实验报告2

MATLAB数学实验报告2

MATLAB数学实验报告姓名:李帆班级:机械(硕)21学号:2120104008第一次数学实验报告——线性规划问题一,实验问题1,某饲养场饲养动物出售,设每头动物每天至少需要700g蛋白质,30g矿物质,100mg 维生素。

现有五种饲料可供选择,各种饲料的每千克营养成分含量和单价如下表。

是确定既能满足动物生长的营养需要,游客是费用最省的选用饲料方案。

2,某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个;单位产品所需原料分别为3、1、5公斤;单位产品利润分别为2、3、5元。

工厂每天可利用的工时为12个,可供应的原料为15公斤。

为使总利润为最大,试确定日生产计划和最大利润。

二,问题分析1,1)该题属于采用线性规划的方式求出最优解的数学问题。

该题有以下特点,1.目标函数有线性,是求目标函数的最小值;2.约束条件为线性方程组;3.未知变量都有非负限制。

1,2)求解该类问题的方法有图解法,理论解法和软件解法。

图解法常用于解变量较少的线性规划问题。

理论解法要构建完整的理论体系。

目前用于解线性规划的理论解法有:单纯形法,椭球算法等。

在此,我们采用单纯形法的MATLAB软件解法来求解该问题。

1,3)此题中,要求既要满足动物生长的营养需要,又要使费用最省,则使每种饲料的选用量为变量,以总费用的最小值为所求量,同时每种饲料的使用量要符合营养成分的要求。

1,4)在此,首先确定建立线性规划模型。

设饲料i选用量为xi公斤,i=1,2,3,4,5.则有模型:Minz=0.2x1+0.7x2+0.4x3+0.3x4+0.8x5s.t.{3x1+2x2+6x4+18x5>=700;x1+0.5x2+0.2x3+2x4+0.5x5>=300.5x1+x2+0.2x3+2x4+0.8x5>=100Xj>=0,j=1,2,3,4,5解之得:x1=x2=x3=0X4=39.74359X5=25.14603Zmin=32.435902,1)该问题与第一题分析步骤相似,故只在此写出其线性规划模型Z=2x+3y+5z2x+3y+z<=123x+y+5z<=15三,程序设计流程图第一题:c=[0.2,0.7,0.4,0.3,0.8]A=[3,2,1,6,18;1,0.5,0.2,2,0.5;0.5,1,0.2,2,0.8;1,0,0,0,0;0,1, 0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1]b=[700,30,100,0,0,0,0,0][x,fval]=linprog(c,-A,-b)c=0.20000.70000.40000.30000.8000A=3.0000 2.0000 1.0000 6.000018.00001.00000.50000.20002.00000.50000.5000 1.00000.2000 2.00000.80001.000000000 1.000000000 1.000000000 1.000000000 1.0000b=7003010000000Optimization terminated.x=0.0000-0.00000.000039.743625.6410fval=32.4359第二题c=[-2-3-5]A=[231;315]b=[12;15]lb=[000][x,Z,exitflag,output]=linprog(c,A,b,[],[],lb,[])将上述程序输入matlab。

数学实验二(matlab中二分法求解方程)

数学实验二(matlab中二分法求解方程)

云南大学数学与统计学实验教学中心实验报告
数学实验(二)
一、实验目的:练习用数值迭代逼近法解非线性方程。

1.区间迭代法:对分法和黄金分割法
2.点的迭代法:简单迭代法
二、实验内容:用二分法(即对分法)编程求解方程。

0123=---x x x
三、实验环境:MATLAB.
四.实验方法:
程序代码:
function X=fan(a,b)
e=1e-2;
ep=1;
x0=a;
xn=b;
x=0;
k=0;
N=100;
while (ep>e)
x=(x0+xn)/2;
f1=x^3-x^2-x-1;
f2=x0^3-x0^2-x0-1;
f3=xn^3-xn^2-xn-1;
if f1*f2<0
x0=a;
xn=x;
elseif f1*f3<0
x0=x;
xn=b;
end
ep=abs(f1);
k=k+1;
if k>N
break;
end
x
ep
实验结果:
fan(a,b)
x =
1.8572
ep =
0.0993
五、实验过程
1实验步骤
2 关键代码及其解释
3 调试过程
六、实验总结
1.遇到的问题及解决过程
2.产生的错误及原因分析
3.体会和收获。

matlab2022实验2参考答案

matlab2022实验2参考答案

matlab2022实验2参考答案报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:MATLAB实验二MATLAB符号计算试验报告说明:1做试验前请先预习,并独立完成试验和试验报告。

2报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3报告以Word文档书写。

一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1多项式运算(必做)1.1解方程:f(某)=某^4-10某某^3+34某某^2-50某某+25=0%采用数值方法:>>f=[1-1034-5025];>>root(f)%采用符号计算方法:f1=ym('某^4-10某某^3+34某某^2-50某某+25')olve(f1)1.2求有理分式R=(3某^3+某)(某^3+2)/((某^2+2某-2)(5某^3+2某^2+1))的商多项式和余多项式.a1=[3010];a2=[1002];a=conv(a1,a2);b1=[12-2];b2=[5201];b=conv(b1,b2);[p,r]=deconv(a,b);%注意:ab秩序不可颠倒。

%reidue用于实现多项式的部分分式展开,此处用deconv函数报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:%%此题,有同学程序如下:某1=[3010],某2=[1002],某3=[12-2],某4=[5201]某5=conv(某1,某2)[y6,r]=deconv(某5,某3)R=deconv(y6,某4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。

数学实验报告2函数的可视化与Matlab作图[1]6页word

数学实验报告2函数的可视化与Matlab作图[1]6页word

实验报告实验课程名称数学实验与Matlab实验项目名称函数的可视化与Matlab作图年级专业学生姓名学号理学院实验时间:201 年月日学院:专业:班级:姓名学号实验组指导教成绩实验时间师实验项目名称函数的可视化与MATLAB作图实验目的及要求:第一,MATLAB二维绘图命令。

第二,多元函数的可视化与空间解析几何。

实验(或算法)原理:用MATLAB绘制一阶微分方程的斜率场。

使用quiver指令画向量和gradient指令求数值梯度。

可直接算出方程的解的表达式再画图,也可以用ode45指令直接求出方程的数值解。

实验硬件及软件平台:MATLAB软件实验步骤:xyz295[function dy=xyz295f(x,y)dy=sin(x).*sin(y);]clf,clear» a=0;b=4;c=0;d=4;n=15;» [X,Y]=meshgrid(linspace(a,b,n),linspace(c,d,n)); » z=sin(X).*sin(Y);» Fx=cos(atan(sin(X).*sin(Y)));Fy=sqrt(1-Fx.^2); » quiver(X,Y,Fx,Fy,0.5),hold on,axis([a,b,c,d])» [x,y]=ode45('xyz295f',[0,4],0.4);» plot(x,y,'r.-')实验内容(包括实验具体内容、算法分析、源代码等等):绘制dy/dx=sin(x)sin(y)的斜率场并选取初始值,在斜率场中画出解轨线。

你遇到什么问题?怎么解决?实验结果与讨论:实验结果:实验讨论:通过这次试验让我更加的熟悉用MATLAB作图。

指导教师意见:签名:年月日。

matlab实验报告实验二

matlab实验报告实验二

matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。

在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。

图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。

在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。

实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。

例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。

在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。

例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。

在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。

例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。

在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。

例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。

MATLAB程序设计及应用(第二版)课后实验答案(最新整理)

MATLAB程序设计及应用(第二版)课后实验答案(最新整理)

阵和对角阵,试通过数值计算验证。

22E R RS A OS +⎡⎤=⎢⎥⎣⎦解: M 文件如下;由ans,所以22E R RS A O S +⎡⎤=⎢⎥⎣⎦2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。

为什么?解:M 文件如下:因为它们的条件数Th>>Tp,所以pascal 矩阵性能更好。

3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

解: M 文件如下:4. 已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A 的特征值及特征向量,并分析其数学意义。

解:M 文件如图:数学意义:V的3个列向量是A的特征向量,D的主对角线上3个是A的特征值,特别的,的3个列向量分别是D的3个特征值的特征向量。

5. 下面是一个线性方程组:111⎡⎤输出结果:由结果,X和X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A是较好的矩阵。

6. 建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。

解:M文件如下:分析结果知:sqrtm(A)是类似A的数值平方根(这可由b1*b1=A的结果看出),而sqrt(A)则是对A中的每个元素开根号,两则区别就在于此。

实验三 选择结构程序设计1. 求分段函数的值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

解:M文件如下:2. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,79分~79分为C ,60分~69分为D ,60分以下为E 。

要求:(1) 分别用if 语句和switch 语句实现。

《Matlab软件与基础数学实验》程序(部分)

《Matlab软件与基础数学实验》程序(部分)

《Matlab软件与基础数学实验》程序(部分)追击问题:⼀敌舰在某海域内以椭圆轨迹航⾏,其在时间t时刻的坐标为:x(t)=10+20costy(t)=20+5sint我⽅战舰恰位于原点处,我战舰向敌舰发射制导鱼雷,鱼雷的速率为20,其运⾏⽅向始终指向敌舰,试问敌舰航⾏在何处将被击中?2. 若敌舰的运⾏轨迹变为x(t)=10+20costy(t)=20+20sint试问敌舰航⾏在何处将被击中?(⽆法击中)3. 若敌舰的运⾏轨迹变为x(t)=10+20costy(t)=20+20sint鱼雷速率提⾼⾄21,结果如何?%Matlab程序:clear;clch=0.01;%时间步长k=1;t(1)=0;x(1)=0;y(1)=0;%初始值r=10;while r>=0.05 % k<=250 %m=(20+5*sin(t(k))-y(k))/(10+20*cos(t(k))-x(k) +1.e-10)+1.e-10;if 10+20*cos(t(k))-x(k)>=0x(k+1)=x(k)+20*h/sqrt(1+m^2);elsex(k+1)=x(k)-20*h/sqrt(1+m^2);endif 20+5*sin(t(k))-y(k)>=0y(k+1)=y(k)+20*h/sqrt(1+1/m/m);elsey(k+1)=y(k)-20*h/sqrt(1+1/m/m);endr=(x(k)-10-20*cos(t(k)))^2+(y(k)-20-5*sin(t(k)))^2; r=sqrt(r); t(k+1)=h*k;k=k+1;plot(10+20*cos(t(k)),20+5*sin(t(k)), 'r*')hold onaxis([-10 32 -3 30]);plot(x,y, 'o')pause(0.02)endt=t(end),x=x(end),y=y(end)t =2.6300x =-7.1780y =22.5627第⼆问:速度相同⽆法击中第三问:t =4.4100 x =4.0221 y =0.9141%Matlab程序:clear;clch=0.01;%时间步长k=1;t(1)=0;x(1)=0;y(1)=0;%初始值r=10;while r>=0.05 % k<=250 %m=(20+20*sin(t(k))-y(k))/(10+20*cos(t(k))-x(k) +1.e-10)+1.e-10; if 10+20*cos(t(k))-x(k)>=0x(k+1)=x(k)+22*h/sqrt(1+m^2);elsex(k+1)=x(k)-22*h/sqrt(1+m^2);endif 20+20*sin(t(k))-y(k)>=0y(k+1)=y(k)+22*h/sqrt(1+1/m/m);elsey(k+1)=y(k)-22*h/sqrt(1+1/m/m);endr=(x(k)-10-20*cos(t(k)))^2+(y(k)-20-20*sin(t(k)))^2;r=sqrt(r);t(k+1)=h*k;k=k+1;plot(10+20*cos(t(k)),20+20*sin(t(k)), 'r*')hold onaxis([-12 32 -2 42]);plot(x,y, 'o')pause(0.02)endt=t(end),x=x(end),y=y(end)课本P811. 某农夫有⼀个半径10⽶的圆形⽜栏,长满了草.他要将⼀头⽜栓在⽜栏边界的栏桩上,但只让⽜吃到⼀半草,问栓⽜⿐的绳⼦应为多长?设拴⽜的绳⼦长为r, 以圆形⽜栏C1 的圆⼼为原点建⽴直⾓坐标系, 见图1, 不妨设拴⽜的栏桩为图1中圆形⽜栏C1 上的B 点, 其坐标为(10,0), 则所求问题转化为: 求出r,使得以B 点为圆⼼, 半径为r 的圆C2 与圆C1 相交部分的⾯积是圆C1 ⾯积的⼀半。

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

实验7.隐函数、方程求根、不动点和迭代7.1知识要点与背景7.1.1 隐函数存在定理与四连杆机构的运动7.1.2 不动点和函数迭代7.2实验与观察7.2.1 隐函数的存在定理的可视化1. 隐函数为什么存在?【 clf,plot(Y(:,40),z1(:,40),'.-');hold on,xlabel('x'),ylabel('y'),plot([-5,5],[0,0],'r-'),legend('z=F(x0,y)','z=0'); 】观察程序zxy7_1.m【 clear,clfa=-5;b=5;c=-5;d=5;n=60;u=[15 25 40];x=linspace(a,b,n);y=linspace(c,d,n);[X,Y]=meshgrid(x,y);z1=Y.^3./(2+0.2*sin(X.*Y))+X.^2-4*X; z2=zeros(size(X));surf(X,Y,z1),shading flat,hold on,mesh(X,Y,z2),hidden off,xlabel('x','fontsize',16);ylabel('y','fontsize',16);zlabel('z','fontsize',16);r0=(abs(z1-z2)<=0.7); %处理交线zz=r0.*z1; yy=r0.*Y; xx=r0.*X;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'r.','markersize',12);plot3(X(:,u),Y(:,u),z1(:,u),'b.-','markersize',10); 】2. 如何决定隐函数-非线性方程的求根zxy7-2.m【 global p %说明全局变量p,P用于本程序中和函数子程序zxy7_2f.m间传递参数m=100;x=linspace(-5,5,m); %确定隐函数自变量的范围y0=-4.6; %第一个方程的初值y=[];f=[];for k=1:m%开始循环 p=x(k);%第k 个方程的自变量x(k)通过全局变量p 传递到zxy7_2f.m 中 [y1,fval,exitflag,output] = fzero('zxy7_2f',y0); %求第k 个方程y0=y1; %将第k 方程的解作为下一个方程的初值 y=[y,y1];f=[f,fval]; %保存计算结果end %循环结束plot(x(1:m),y(1:m),'r.-'), %绘制隐函数图形axis([-5 5 -5 3]),grid on 】zxy7_2f.m【 function z=zxy7_2f(y)global p %在这里也要对应说明全局变量p ,使得可以获得外界传递来的P 值 x=p;z=y.^3/(2+0.2*sin(x *y))+x^2-4*x; %计算函数 】7.2.2.用蛛网图观察不动点迭代观察程序: 下面的程序可以绘制这三个函数迭代的蛛网图。

zxy7_3f.m【%计算问题3中的三个函数,s=1、2、3时分别对应函数321,,f f ffunction y=zxy7_3f(x,s)if s==1y=(4-x.*x);elseif s==2y=4./(1+x);elseif s==3y=x-(x.^2+x-4)./(2*x+1);end 】zxyplot7_3.m【 %zxyplot7_3 画一次迭代的蛛网图, 改变p 可调节箭头的大小function out = zxyplot7_3(x,y,p)% 已知有向折线段的始点为(x(1),y(1)),终点为(x(2),y(2)),画出有向折线段% (x(1),y(2))――>(x(2),y(2))% |% |u(1)=0; v(1)=(y(2)-y(1)); u(2)=eps; v(2)=eps;h=quiver([x(1) x(1)],[y(1) y(2)],u,v,p);set(h,'color','red');hold on,u(1)=(x(2)-x(1)); v(1)=0; u(2)=eps; v(2)=eps;h=quiver([x(1) x(2)],[y(2) y(2)],u,v,p); set(h,'color','red');plot([x(1) x(1) x(2)],[y(1) y(2) y(2)],'r.-') 】主程序zxy7_3.m【% 绘制迭代的蛛网图(对问题3的三个函数)clf,clears=2; % 选择函数:s=1、2、3时分别对应函数f1、f2、f3if s==1 %对于函数f1,决定坐标轴的范围。

(以便得到较好的图形显示效果) a=-5;b=5;x00=2.1;y00=0; %初始点x=linspace(a,b,80); y0=x; y1=zxy7_3f(x,s);c=-(1+0.3)*max(abs(y1));d=(1+0.3)*max(abs(y1));elseif s==2|s==3 %对于函数f1,决定坐标轴的范围,将函数限制在同一范围内a=0;b=5; %显示,以便进行观察和比较x00=4;y00=0; %初始点x=linspace(a,b,80);y0=x; %计算直线y=xy1=zxy7_3f(x,s); %计算曲线y=f(x)c=0;d=max((1+0.3)*max(abs(y1)),5.2);endclear y;y=[y0;y1];plot(x,y,'linewidth',2),legend('y=x','y=f2'),hold on, % 画图plot([a b],[0,0],'k-',[0 0],[c d],'k-'),axis([a,b,c,d]), % 画坐标轴z=[];for i=1:10 % 画蛛网图,迭代过程为n=10次xt(1)=x00; yt(1)=y00; %决定始点坐标xt(2)=zxy7_3f(xt(1),s); yt(2)=zxy7_3f(xt(1),s); %决定终点坐标 zxyplot7_3(xt,yt,0.6) % 画蛛网图if i<=5pause % 按任意键逐次观察前5次迭代的蛛网图endx00=xt(2); y00=yt(2); % 将本次迭代的终点作为下一次迭代的起点。

z=[z,xt(1)]; %保存迭代点7.2.3 简单和复杂:二次函数的迭代和混沌观察程序zxy7_4.m【 clear,clf,n0=100;n=150;x0=0.1;hold on,s=[];xx=[];for r=2.6:0.001:4%for r=0:0.3:4x(1)=x0; %初值for j=2:nx(j)=r*x(j-1)*(1-x(j-1)); %迭代ends=[r*ones(1,n+1-n0);s]; %在固定的r处画出n以后的迭代值xn,xn+1,…xx=[x(n0:n);xx]; xs=max(x(n0:n));text(r-0.1,xs+0.05,['\it{r}=',num2str(r)]) %标注endplot(s,xx,'k.','markersize',15); %调整点的大小获得较好的视觉效果%plot(s,xx,'k.','markersize',1); xlabel('参数r'), ylabel('迭代序列x') 】zxy7_5.m (用这个程序可以画出蛛网迭代图(图7.10))【 clfr=2.7; %r=3.2;r=3.9; n=15;x00=0.2;y00=0;a=0;b=1;x=linspace(a,b,50);plot(x,x),axis([a b a b]),hold on,theaxes=axis;y=r*x.*(1-x);plot(x,y),z=[];for i=1:nxt(1)=x00; yt(1)=y00;xt(2)=r*xt(1).*(1-xt(1)); yt(2)=xt(2);zxyplot7_4(xt,yt,0.6)x00=xt(2); y00=yt(2);z=[z,xt(2)];7.3.应用、思考与练习7.3.1四连杆输出角的运动规律和动画模拟1. 确定四杆机构的转角关系2. 动画模拟四杆机构的运动zxy7_6.m【 x=-8:0.5:8; %定义曲面[XX,YY]=meshgrid(x);r=sqrt(XX.^2+YY.^2)+eps;Z=sin(r)./r;surf(Z); %画出祯theAxes=axis; %保存坐标值,使得所有帧都在同一坐标系中fmat=moviein(20); %创建一个动画的矩阵,保存20祯for j=1:20; %循环创建动画数据surf(sin(2*pi*j/20)*Z,Z) %画出每一步的曲面axis(theAxes) %使用相同的坐标系fmat(:,j)=getframe; %拷贝祯到矩阵fmat中endmovie(fmat,10) %演示动画10次%这很有趣】7.3.2轨道飞行器的拦截7.3.3怎样保证或加速迭代序列的收敛1. 函数越平坦,迭代越快吗?2. 如何构造迭代函数使之具有较快的收敛速度?3. 关于迭代的收敛性和收敛速度的定理zxy7_7.m【clf,x=linspace(a,b,50);y=x; plot(x,y),axis([a b a b]),hold on,theaxes=axis;theaxes=axis;button=1;x1=[];y1=[];while button==1[xi,yi,button]=ginput(1); h=plot(xi,yi,'+'),axis(theaxes);x1=[xi,x1];y1=[yi,y1];end[p,c]=polyfit(x1,y1,4);ypolyfit=polyval(p,x);plot(x,ypolyfit),axis(theaxes);x00=(b-a)/2;y00=0;for i=1:100xt(1)=x00; yt(1)=y00; xt(2)=polyval(p,xt(1)); yt(2)=xt(2);zxyplot7_4(xt,yt,0.6); x00=xt(2); y00=yt(2); z=[z,xt(2)];end 】7.3.4.混沌有哪些特点?1.Feigenbaum普适常数2. 周期窗口3. 混沌对初值的敏感性4. 其它迭代函数7.4 非线性方程组求解zxy7_8f.m【 function f=zxy7_7f(x)f=[sin(x(1))+x(2)+x(3)^2*exp(x(1))-4;x(1)+x(2)*x(3); x(1)*x(2)*x(3)]; 】【 options=optimset('Display','off'); %若取'Display'为iter则显示中间迭代结果 [x,fval]=fsolve('zxy7_8f',[1 1 1],options) 】【 syms x1 x2 x3 a c %用syms 对每个符号变量进行说明 f1='a*sin(x1)+c*x2+x3^2*exp(x1)-a'; %象这样定义各个方程f2='x1+x2*x3'; f3='x1*x2*x3';[x1,x2,x3]=solve(f1,f2,f3); %用solve指令求解solution=[x1,x2,x3] 】实验8.线性代数实验8.1 实验(Ⅰ):用Matlab学线性代数8.1.1实验与观察:向量组的线性关系和解线性方程组1. 用线性组合的方式产生向量组【 clear n=3; m=2; a=-10; b=10;rand('seed',32), A = unifrnd(a,b,[n,m]) 】【 x = unifrnd(-1,1,[1,m]), A(:,3)=x(1)*A(:,1)+x(2)*A(:,2) 】2.Gauss消元法和向量组的线性关系的判定【 B=rref(A) 】【 r=2;m=2;s=5;X=[-B(1:2,r+1:m+s) ;eye(m+s-r)] %基础解系】【 r1=rank(A(:,1:2)), r2=rank(A(:,1:3)) 】【 B=rref(A(:,1:3)) 】【 B=rref(A);C=B(1:2,:) 】3 . 观察程序zxy8_1.m (主程序,产生向量并画图)【 clf,n=3;m=2;s=5; % 确定相关的参数a=-10;b=10;rand('seed',32),A = unifrnd(a,b,[n,m]), %产生m个n维向量(生成向量)r=[1:m]; l=1;p=1.2;zxy8_1plot(A,r,l,p) %将向量画出for i=m+1:m+s %产生组合向量x = unifrnd(-1,1,[1,m]);A(:,i)=zeros(n,1);for j=1:mA(:,i)=A(:,i)+x(j)*A(:,j);endendhold on,r=[m:m+s];l=2;p=0.5;zxy8_1plot(A,r,l,p) %用另一种方式画组合向量】其中调用了画图子程序zxy8_1plot【function out=zxy8_1plot(A,r,l,p)%A为若干3维向量拼成的矩阵, 绘制这些向量;r为向量,指明要绘制A的列向量指标。

相关文档
最新文档