matlab实习作业
matlab实习作业
专业实训班级:姓名:学号:指导教师:成绩:电子与信息工程学院信息与通信工程系习题一:输入10个数,求其中最大数和最小数。
要求分别用循环结构和调用MATLAB的max函数、min函数来实现。
解:(1)循环结构方式M文件:indata = input(' Please input the number 10 ');maxdata = indata(1);mindata = indata(1);for(i=1:10)if(indata(i) > maxdata)maxdata = indata(i);endif(indata(i) < mindata)mindata = indata(i);endendmaxdatamindata运行结果:(2)调用函数方式M文件:indata = input('Please input the number 20');maxdata = max(indata)mindata = min(indata)运行结果:习题二:求Fibonacci数列(1)大于4000的最小项。
(2)5000之内的项数解:(1)M文件:f=[1,1];i = 1;while f(i)+f(i+1)< 4000f(i+2)=f(i)+f(i+1);i=i+1;endmindata = min(f)运行结果:(2)M文件:f=[1,1];i = 1;while f(i)+f(i+1)< 5000f(i+2)=f(i)+f(i+1);i=i+1;enddata = f运行结果:习题三:写出下列程序的输出结果:s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=afor j=1:4if rem(k(j),2)~=0s=s+k(j);endendends运行结果:习题四:解方程组Ax =b ,分别用求逆解法与直接解法求其解。
MATLAB作业1 参考答案
MATLAB 作业1参考答案1 、在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。
【求解】略.2、启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),toc ,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查询,逐条给出上述程序段与结果的解释。
【求解】在MATLAB 环境中感触如下语句,则可以看出,求解500500⨯随机矩阵的逆,并求出得出的逆矩阵与原矩阵的乘积,得出和单位矩阵的差,得出范数。
一般来说,这样得出的逆矩阵精度可以达到1210-。
>> tic, A=rand(500); B=inv(A); norm(A*B-eye(500)), tocans =1.2333e-012Elapsed time is 1. seconds.3、试用符号元素工具箱支持的方式表达多项式5432()34236f x x x x x x =+++++,并令11s x s -=+,将f(x) 替换成s 的函数。
【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数>> syms s x;f=x^5+3*x^4+4*x^3+2*x^2+3*x+6;F=subs(f,x,(s-1)/(s+1)) F =(s-1)^5/(s+1)^5+3*(s-1)^4/(s+1)^4+4*(s-1)^3/(s+1)^3+2*(s-1)^2/(s+1)^2+3*(s-1)/(s+1)+6syms x sx=(s-1)./(s+1);y=x.^5+3*x.^4+4*x.^3+2*x.^2+3*x+6;ysimple(y)y=19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^54、用MATLAB 语句输入矩阵A 和B123414233241432141322314,234123324114324132234114j j j j j j j j A B j j j j j j j j ++++⎡⎤⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥==⎢⎥⎢⎥++++⎢⎥⎢⎥++++⎣⎦⎣⎦前面给出的是4 ×4 矩阵,如果给出A(5; 6) = 5 命令将得出什么结果?【求解】用课程介绍的方法可以直接输入这两个矩阵>> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1若给出A(5,6)=5 命令,虽然这时的行和列数均大于B 矩阵当前的维数,但仍然可以执行该语句,得出>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5复数矩阵也可以用直观的语句输入>> B=[1+4i 2+3i 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i;2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i];B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i5、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。
matlab_实习报告
matlab_实习报告在大学的学习生涯中,实习是一个非常重要的环节,它能够让我们将理论知识与实际应用相结合,提升自己的专业技能和综合素质。
本次实习,我选择了使用 MATLAB 这个强大的工具进行实践操作,通过一段时间的学习和实践,我收获颇丰。
一、实习目的本次实习的主要目的是深入了解和掌握MATLAB 软件的使用方法,能够运用其解决实际问题,并提高自己的编程能力和逻辑思维能力。
同时,通过实际项目的操作,培养自己的团队协作精神和解决问题的能力,为今后的学习和工作打下坚实的基础。
二、实习单位及岗位介绍我实习的单位是_____,在实习期间,我主要负责利用 MATLAB 进行数据分析和算法实现的相关工作。
三、实习内容及过程(一)基础学习在实习的初期,我首先对 MATLAB 的基本语法和操作进行了系统的学习。
了解了变量的定义、数据类型、矩阵运算、函数的编写等基础知识。
通过大量的练习和实例,我逐渐熟悉了 MATLAB 的编程环境,能够熟练地编写简单的程序。
例如,在学习矩阵运算时,我通过编写程序实现了矩阵的加法、乘法、求逆等操作,深刻理解了矩阵运算在数学和工程中的重要应用。
(二)项目实践在掌握了基础知识后,我开始参与实际的项目。
其中一个项目是对一组数据进行分析和处理,以提取有用的信息。
首先,我使用MATLAB 读取数据文件,并对数据进行预处理,包括去除噪声、缺失值处理等。
然后,运用统计学方法对数据进行分析,计算均值、方差、相关性等统计量。
最后,通过绘图函数将分析结果以直观的图表形式展示出来,以便更好地理解数据的特征和趋势。
在这个过程中,我遇到了很多问题。
例如,数据的格式不一致导致读取错误,算法的复杂度过高导致运行时间过长等。
通过查阅资料、请教同事和不断地调试,我最终解决了这些问题,顺利完成了项目任务。
(三)算法实现除了数据分析,我还参与了算法的实现工作。
在一个图像识别的项目中,需要使用机器学习算法对图像进行分类。
MATLAB上机实习报告
Matlab上机实习实习报告上周我们进行了本学期第二个实习部分-Matlab上机实习。
本次实习一星期,共做了四个部分。
分别是:一,Matlab基本操作;二,数值数组及其运算;三,Matlab图形绘制基础;四,SIMULINK仿真基础。
下面分别介绍个部分实习内容。
实习内容一Matlab基本操作1,实习目的:·掌握Matlab的启动和退出;·熟悉Matlab的命令窗口;·熟悉其他常用窗口和工具栏;2,对本软件有了初步认识后,接下来就开始指导书要求做一些训练了在指令窗中输入下面一段程序,功能是::画出衰减振荡曲线y=(e-t/3)sin3t及其他的包络线y0=(e-t/3)。
T的取值范围是[0,4 ]。
t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,’-r’,t,y0,’:b’,t,-y0,’:b’)观察输出结果3,通过下拉菜单File:Preferences改变设置指令窗中的字体、颜色等。
如:数据显示格式的设置:Format short 小数点后四位(缺省情况),如显示p为3.1416。
Format long 小数点后十四位,如显示p为3.14159265358979。
Formant bank 小数点后两位,如显示p为3.14。
Format short e 小数点后四位科学记数法,如显示p为3.1416e+000。
Format long e 小数点后十四五位科学记数法,如显示p为3.141592653589793e+000。
在指令窗中键入y1=2*sin(0.3*pi)/(1+sqrt(5))然后利用回调指令计算y2=2*y1*cos(0.3*pi)/(1+sqrt(5))y1 =0.5000y2 =0.18164,了解软件中的一些功能和命令。
包括熟悉历史指令窗(Command History)、熟悉当前目录浏览器(Current Diretory)、熟悉工作空间浏览器(Workspace Browser),以及一些指令如: Clear 清除当前工作区中的所有变量Clc 清除指令窗中内容(未清除当前工作区中的变量)Clf 清除图形窗口Cd 设置当前工作目录Exit,quit 退出Matlab实习内容二数值数组及其运算1,实习目的·掌握一维数组的创建和寻访;·掌握二维数组的创建和寻访;·掌握的Matlab矩阵和数组的运算;·熟悉Matlab关系操作和逻辑操作;2,实习内容和步骤(1)常量与变量变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
MATLAB上机实习指导书
MATLAB上机实习指导书目录实习内容一MATLAB基本操作-----------------------------------2 实习内容二数值数组及其运算---------------------------------8 实习内容三MATLAB图形绘制基础-------------------------------15 实习内容四SIMULINK仿真基础---------------------------------22 附录1 流程控制------------------------------------------------24 附录2 SIMULINK的库模块-------------------------------------- 25附录3 转义符号------------------------------------------------27实习内容一MATLAB基本操作一、实习目的掌握MATLAB的启动和退出;熟悉MATLAB的命令窗口;熟悉其它常用窗口和工具栏。
二、实习内容与步骤1、进入MATLAB的开发环境。
方法一:点击桌面上的快捷方式或matlab\文件夹下的快捷方式图标。
方法二:开始→所有程序→MA TLAB6.5→MATLAB6.5.EXE。
方法三:点击matlab\bin\win32文件夹下的matlab.exe。
这三种方法的当前目录不同。
优先选用方法一。
可见到如下交互界面(见图1-1):图1-1 Matlab默认桌名平台2、退出MATLAB的开发环境。
退出Matlab的方式很多:(1)在Matlab命令窗口的“File”菜单下选择“Exit Matlab”;(2)快捷键“Ctrl+q”;(3)在命令窗口输入“quit”命令;(4)在命令窗口输入“exit”命令;(5)用鼠标单击命令窗口右上角的“X”按钮;(6)用鼠标双击命令窗口左上角的图标“”。
MATLAB实习报告
MATLAB实习报告实习报告一、实习单位概述我在公司完成了为期两个月的MATLAB实习。
该公司是一家致力于研发和生产先进电子产品的科技型企业。
公司专注于电脑硬件和软件产品的开发,拥有一支强大的研发团队,同时与多个国内外知名大学与研究机构合作。
二、实习内容在实习期间,我主要负责开发一个基于MATLAB的图像处理算法,用于自动识别和分类图像中的目标物体。
具体而言,我的任务包括以下几个方面:1.数据预处理:对输入图片进行预处理,包括灰度化、降噪、图像增强等操作,以提高后续算法的准确性和鲁棒性。
2.特征提取:使用MATLAB内置的图像处理工具箱,提取目标物体的特征信息,如颜色、纹理、形状等。
3.目标识别:通过编写MATLAB脚本,实现目标物体的自动识别,使用机器学习算法训练分类器,并应用于测试集中的图像。
4.结果评估:对算法的准确性和性能进行评估,包括计算分类准确率、召回率等指标,并分析算法的优缺点和改进空间。
三、实习收获通过这次实习,我收获了许多宝贵的经验和知识。
首先,我深入学习了MATLAB的图像处理工具箱,了解了常用的图像处理算法和技术。
在实践中,我熟悉了MATLAB的基本语法和函数,并学会了如何利用MATLAB进行图像的读取、处理和保存。
其次,我掌握了图像特征提取和目标识别的方法和技巧。
通过对图像进行灰度化、降噪和图像增强等预处理步骤,我能够有效提取目标物体的特征信息,并通过机器学习算法实现目标的自动识别和分类。
最后,我学会了如何评估和改进算法的准确性和性能。
通过对测试集中的图像进行分类,并计算分类准确率和召回率等指标,我能够客观地评估算法的优劣,并提出针对性的改进方法。
四、实习总结通过这次实习,我不仅得到了理论知识的巩固和实践技能的提升,还培养了团队合作和解决问题的能力。
在与团队成员的合作中,我学会了如何与他人相互协作,分享经验与知识,并且通过互相帮助和配合,达到更好的工作效果。
同时,面对实习过程中遇到的问题和困难,我学会了如何利用各种资源和工具,积极主动地解决问题。
Matlab上机实习 - 副本
MATLAB 上机实习报告一、实验内容实验四1、使用函数,实现方阵左旋90°或右旋90°的功能。
例如,原矩阵为A,A 左旋后得到B,右旋后得到C 。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=129631185210741A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=321654987121110B ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=101112789456123C >> B=rot90(A)B = 10 11 127 8 94 5 61 2 3>> C=rot90(A,3)C = 3 2 16 5 49 8 712 11 102、建立一个方阵A ,求A 的逆矩阵和A 的行列式的值,并验证A 与A -1是互逆的。
>> A=[1 2 3;2 1 4; 3 4 1]A = 1 2 32 1 43 4 1>> det(A)Ans=20>> inv(A)Ans=-0.7500 0.5000 0.25000.5000 -0.4000 0.10000.2500 0.1000 -0.1500>> det(inv(A))Ans=0.0500>> A*inv(A)Ans= 1 0 00 1 00 0 1>>inv(A)*AAns= 1 0 00 1 00 0 1A*inv(A)= inv(A)*A=E所以A 与A -1是互逆的。
3、求下列矩阵的主对角线元素、上三角阵、下三角阵、秩和迹。
1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=901511250324153211A 2) ⎥⎦⎤⎢⎣⎡-=2149.824343.0B >> diag(A) Ans= 1 1 5 9 >> tril(A) Ans= 1 0 0 0 5 1 0 0 3 0 5 011 15 0 9 >> triu(A) Ans= 1 -1 2 3 0 1 -4 2 0 0 5 2 0 0 0 9 >> rank(A) Ans=4 >> trace(A) Ans=16 >> diag(B)Ans= 0.43004.0000>> tril(B)Ans= 0.4300 0 0 -8.9000 4.0000 0>> triu(B)Ans= 0.4300 43.0000 2.0000 0 4.0000 21.0000>> rank(B)Ans=2>> trace(B)??? Error using ==> trace at 13 Matrix must be square.4、求矩阵A 的特征值和相应的特征向量。
MATLAB实验练习题(计算机)-南邮-MATLAB-数学实验大作业答案
“MATLAB”练习题要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。
1、求230x e x -=的所有根.(先画图后求解)(要求贴图)>> solve('exp(x)—3*x^2',0)ans =—2*lambertw (—1/6*3^(1/2))-2*lambertw(—1,—1/6*3^(1/2))—2*lambertw (1/6*3^(1/2))3、求解下列各题:1)30sin lim x x x x ->->> sym x ;〉> limit((x-sin (x))/x^3)ans =1/62) (10)cos ,x y e x y =求>> sym x;>> diff (exp(x )*cos(x),10)ans =(-32)*exp(x)*sin (x)3)21/20(17x e dx ⎰精确到位有效数字)〉〉 sym x;〉〉 vpa((int(exp(x^2),x,0,1/2)),17)ans =0.544987104183622224)42254x dx x+⎰〉> sym x ;>〉 int (x^4/(25+x^2),x)ans =125*atan (x/5) - 25*x + x^3/35)求由参数方程arctan x y t⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。
〉> sym t;>> x=log(sqrt (1+t^2));y=atan(t);〉> diff (y ,t )/diff (x ,t)ans =1/t6)设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x ).>> syms x y ;f=x *y+exp(y )—exp (1);〉> -diff(f,x )/diff (f,y)ans =-y/(x + exp (y))7)0sin 2x e xdx +∞-⎰>〉 syms x ;>〉 y=exp(-x)*sin(2*x );〉> int(y ,0,inf )ans =2/58) 08x =展开(最高次幂为)〉> syms xf=sqrt(1+x);taylor(f,0,9)ans =— (429*x^8)/32768 + (33*x^7)/2048 — (21*x^6)/1024 +(7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + x/2 + 19) 1sin (3)(2)x y e y =求〉> syms x y ;>〉 y=exp(sin (1/x));>〉 dy=subs (diff(y,3),x ,2)dy =—0.582610)求变上限函数2x x ⎰对变量x 的导数.>> syms a t ;>〉 diff (int(sqrt(a+t),t,x ,x^2))Warning: Explicit integral could not be found 。
MATLAB实习题
MATLAB实习题1矩阵运算矩阵建立,转置、加、减、乘、求逆等运算。
(1)矩阵的建立:>> a=eye(5);b=1*a;b(1,2)=2;b(2,3)=3;b(3,4)=4;b(4,5)=5;b运行结果:b =1 2 0 0 00 1 3 0 00 0 1 4 00 0 0 1 50 0 0 0 1(2)矩阵的转置:>> a=[1 2 3;4 5 6;7 8 9],b=a'运行结果:a =1 2 34 5 67 8 9b =1 4 72 5 83 6 9(3)矩阵的逆:>> a=[1 2 0;0 3 4;0 0 5];inv(a)运行结果:ans =1.0000 -0.6667 0.53330 0.3333 -0.26670 0 0.2000(4)矩阵的加:>> A=[1 1;1 1]A =1 11 1>> B=[2 2;2 2]B =2 22 2>> C=A+B运行结果;C =3 33 3(5)矩阵的减:>> A=[1 1;1 1]A =1 11 1>> B=[2 2;2 2]B =2 22 2>> C=A-B运行结果;C =-1 -1-1 -1(5)矩阵的乘:>> A=[1 1;1 1]A =1 11 1>> B=[2 2;2 2]B =2 22 2>> C=A*B运行结果;C =4 44 42 M文件的编写与运行判断一年是否是闰年function leapyear(year)%使用该程序判断是否是闰年sign=0;if mod(year,4)~=0sign=0;elseif mod(year,400)==0sign=1;elseif mod(year,100)==0sign=0;elsesign=1;endif sign==1fprintf('%4d year is a leap year!\n',year)elsefprintf('%4d year is not a leap year!\n',year)end执行结果:>> leapyear(1996)1904 year is a leap year!>> leapyear(1900)1900 year is not a leap year!3 数据文件的建立与读取例:建立班级一门课成绩数据库,编程读取并排序、另存。
MATLAB实验作业一
MATLAB的基本操作(一)实验内容及步骤1.进入MATLAB工作环境,熟悉各窗口的功能。
(1)双击桌面图标,或从“开始”菜单打开MATLAB.exe,启动MATLAB。
(2)查看MATLAB界面各窗口的布局、了解其功能,并完成各窗口之间的切换。
(3)设置当前工作目录。
在D盘创建mymatlab目录,并将其作为当前工作目录。
今后的实验过程中以此目录作为当前工作目录。
2.计算5.542+cos(35π)√17.89÷3.5−e2的值。
(1)在命令窗口(Command Window)中输入程序:a=5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)(2)按回车键运行,如果出现“Error”(出错信息),则应找出原因并改正,再运行。
(3)运行结果22.9291过程: >> a=5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)a =22.9291>>3.输入矩阵A=[428256319], B=[111222333], 在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A(1)在命令窗口键入A=[4 2 8;2 5 6;3 1 9] ,生成矩阵A;键入B=[1 1 1;2 22;3 3 3] ,生成矩阵B。
>>A=[4 2 8;2 5 6;3 1 9] A =4 2 82 5 63 1 9>> B=[1 1 1;2 2 2;3 3 3]B =1 1 12 2 23 3 3>> A(2,3)ans =6>> A(6)ans =1>> A(:,2)ans =251>> A(3,:)ans =3 1 9>> A(:,1:2:3)4 82 63 9>> A(:,3).*B(:,2)ans =81227>> A(:,3)*B(2,:)ans =16 16 16 12 12 12 18 18 18>> A*Bans =32 32 32 30 30 30 32 32 32>> A.*Bans =4 2 8 4 10 12 9 3 27>> A^2ans =44 26 116 36 35 10041 20 111>> A.^2ans =16 4 644 25 369 1 81>> B/Aans =0.5000 0.0769 -0.38461.0000 0.1538 -0.76921.5000 0.2308 -1.1538>> B./Aans =0.2500 0.5000 0.12501.0000 0.4000 0.33331.0 3.0000 0.3333>> B.\Aans =4.0000 2.0000 8.00001.00002.50003.00001.0000 0.3333 3.0000>>4. 产生一个5阶魔方矩阵,将矩阵的第3行4列元素赋值给变量a;将由矩阵第2,3,4行第2,5列构成的子矩阵赋值给变量b。
matlab实习报告二5篇
matlab实习报告二5篇第一篇:matlab实习报告二MATLAB实习报告(2)实验二 MATLAB矩阵分析与处理王夏一、实验目的1、掌握生成特殊矩阵的方法。
2、掌握矩阵分析的方法。
3、用矩阵求逆发解线性方程组。
二、实验内容1、设有分块矩阵A=[E3×3 R3×2;O2×3 S2×2],其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证A²=[E R+RS;O S²]。
程序清单:E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag([4,5]);A=[E R;O S] ;A2=A^2;C=[E R+R*S;O S^2];length(find(A2==C))==25 运行结果:ans =12、产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及他们的条件数Th和Tp,判断哪个矩阵的性能更好,为什么?程序清单:format rat H=hilb(5);format short P=pascal(5);Hh=det(H);Hp=det(P);Th=cond(A);Tp=cond(P);运行结果:Hh =3.7493e-012 Hp =1 Th =5.5228 Tp =8.5175e+003 实验收获:会建立希尔伯特矩阵和帕斯卡矩阵,知道怎么求矩阵行列式的值以及条件数。
希尔伯特矩阵的性能更好,条件数越接近1的矩阵性能越好。
3、建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
程序清单:A=[1:5;1:0.1:1.5;2 5 7 3 9;2:6;3:0.4:4.6]Ha=det(A);Ra=rank(A);Ta=trace(A);Na=norm(A);运行结果:Ha =1.4421e-031 Ra = 3 Ta =18.7000 Na =19.49664、已知向量A,求A的特征值及特征向量,并分析其数学意义。
MATLAB基础训练作业(含答案)
实验一 MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。
二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-522-70)3(2)>>area=pi*^2(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。
m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令>>m1( 2 , 3 )>>m1( 11 )>>m1( : , 3 )>>m1( 2 : 3 , 1 : 3 )>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)(5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i )(6)执行命令>>x=0::6*pi;>>y=5*sin(x);>>plot(x,y)(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
四、思考题1、以下变量名是否合法为什么(1)x2(2)3col(3)_row(4)for2、求以下变量的值,并在MATLAB 中验证。
MATLAB上机实习报告
Matlab上机实习实习报告十八周我们进行了本学期的第二次实习——Matlab上机实习。
本次实习一星期,共实习了五个部分。
分别是:一,Matlab基本操作;二,数值数组及其运算;三,Matlab图形绘制基础;四:SIMULINK仿真基础;五:句柄图形和图形用户界面制作。
下面分别介绍各部分内容:实习内容一Matlab基本操作1.实习目的:●掌握Matlab的启动和退出;●熟悉的命令窗口;●熟悉其它常用窗口和工具栏;2.输入一段程序:t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,’-r’,t,y0,’:b’,t,-y0,’:b’)输出结果:3.了解文件中的一些功能和指令.例如:clear 清除当前工作区中所有变量clc 清除指令窗内容clf 清除图形窗口cd 设置当前工作目录exit,quit 退出MATLAB实习内容二数值数组及其运算1.实习目的●掌握一维数组的创建和寻访●掌握二维数组的创建和寻访●掌握MATLAB的矩阵和数组的运算●熟悉MATLAB关系操作和逻辑操作2.要求在闭区间[0,2pi]上产生50个等距采样的一维数组A,试用两种不同的指令实现。
要访问1到5元素如何实现;寻访7到最后一个元素如何实现;寻访第2.6.8个元素如何实现;寻访大于2的元素如何实现;给第3.5.9个元素赋值100如何实现:(1)>> A=linspace(0,2*pi,50);>> A=0:(50/49):50;>> AA =Columns 1 through 90 1.0204 2.0408 3.0612 4.0816 5.1020 6.1224 7.1429 8.1633Columns 10 through 189.1837 10.2041 11.2245 12.2449 13.2653 14.2857 15.3061 16.3265 17.3469Columns 19 through 2718.3673 19.3878 20.4082 21.4286 22.4490 23.4694 24.4898 25.5102 26.5306Columns 28 through 3627.5510 28.5714 29.5918 30.6122 31.6327 32.6531 33.6735 34.6939 35.7143Columns 37 through 4536.7347 37.7551 38.7755 39.7959 40.8163 41.8367 42.8571 43.8776 44.8980Columns 46 through 5045.9184 46.9388 47.9592 48.9796 50.0000(2)>> whos A>> A(1:5)ans =0 1.0204 2.0408 3.0612 4.0816(3)>> A(7:50)ans =Columns 1 through 86.12247.14298.16339.1837 10.2041 11.2245 12.2449 13.2653Columns 9 through 1614.2857 15.3061 16.3265 17.3469 18.3673 19.3878 20.4082 21.4286Columns 17 through 2422.4490 23.4694 24.4898 25.5102 26.5306 27.5510 28.5714 29.5918Columns 25 through 3230.6122 31.6327 32.6531 33.6735 34.6939 35.7143 36.7347 37.7551Columns 33 through 4038.7755 39.7959 40.8163 41.8367 42.8571 43.8776 44.8980 45.9184Columns 41 through 4446.9388 47.9592 48.9796 50.0000(4)>> A([2 6 8])ans =1.0204 5.1020 7.1429(5)>> poison=find(A>2)poison =Columns 1 through 143 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 15 through 2817 18 19 20 21 22 23 24 25 26 27 28 29 30Columns 29 through 4231 32 33 34 35 36 37 38 39 40 41 42 43 44Columns 43 through 4845 46 47 48 49 50 (6)>> A([3 5 9])=100 (7)>> A=[1 2 3;4 5 6] A =1 2 3 4 5 63. 在指令窗口输入A=[1 2 3;4 5 6] 观察结果:分别用“全坐标”“单坐标”来寻访第2行第1列的元素,并说明二维数组元素的存储顺序。
matlab实习五答案
实习五(给出程序及相应的答案)1、做一个带按钮的界面,当按动按钮时,在计算机声卡中播放一段音乐。
(提示,找一个.wav文件,简单起见可以在windows目录下找一个文件,将其放在当前工作目录下或搜索路径上,当按动“开始”按钮时调入该文件并播放,发声功能由sound函数完成,具体用法请查阅帮助信息)(1)先建立一个静态文本对象作为界面的标题“简单声音播放器”(2)建立一个按钮对象用于启动播放器,callback函数中的内容为[y,f,b]=wavread('loff'); % 读入声音文件loff.wavsound(y,f,b) % 由声卡播放声音(3)再建立一个用于关闭界面的按钮对象,callback函数中的内容为close(gcbf)2、做一个滑条(滚动条)界面,图形窗口标题设置为GUI Demo: Slider,并关闭图形窗口的菜单条。
功能:通过移动中间的滑块选择不同的取值并显示在数字框中,如果在数字框中输入指定范围内的数字,滑块将移动到相应的位置,见下图。
(1)在figure的属性浏览器中设置Name为GUI Demo: Slider(2)先建立一个滑条对象,在属性浏览器中设置Max为50,Min为-50;(3)在滑条的两端各放置一个静态文本用于显示最大值和最小值;(4)滑条对象的callback函数中的内容为:val=get(handles.slider1,'value');set(handles.edit1,'string',num2str(val));(5)在滑条上方放置一个文本框,用于显示滑块的位置所指示的数值,也可以在文本框中直接输入数值,callback函数中的内容为:str=get(handles.edit1,'string');set(handles.slider1,'value',str2num(str));3、用单选框做一个如图所示的界面,通过选择不同的单选框来决定使用不同的色彩图。
Matlab实验题目与答案
(温馨提示:实验课结束后,请将所有作业(题目、代码、结果)利用word 整理成一个完整的实验报告,加上封面,打印,纸质档于18周周一交)第一次上机作业目的:1. 掌握MATLAB 各种表达式的书写规则2. 运行课堂上讲过的例子,熟悉矩阵、表达式的基本操作和运算。
作业:1. 熟悉matlab 集成环境界面。
回答以下问题,并操作相关的指令:(1) 分别写出清除命令窗口和清除变量的指令。
答: clc 和clear(2)在命令行输入命令后,matlab 的搜索过程是怎样的?答: (1)检查该命令对象是不是一个变量。
(2)检查该命令对象是不是一个内部函数。
(3)检查该命令对象是否为当前目录下的程序文件。
(4)检查该命令对象是否为MATLAB 搜索路径中其他目录下的M 文件。
(3)什么是matlab 的当前工作目录?写出两种设置当前工作目录的方法? 答: 就是matlab 当前文件读取和存储的默认路径(1)在当前目录窗口中更改(2)在MATLAB 桌面工具栏中更改(3)使用cd 命令:cd c:\mydir---将c :\mydir 设置为当前目录(4)什么是matlab 的搜索路径?写出两种设置搜索路径的方法?答: 指Matlab 运行文件时进行搜索的目录。
(1)用path 命令设置:(2)用Set Path 对话框设置(5)help 命令和doc 命令有什么作用,它们有什么区别?答: help 命令:最基本的帮助命令,查询信息直接显示在命令窗口。
doc 命令:在帮助窗口中显示HTML 帮助文档,显示函数的详细用法及 例子,比help 命令更详细。
2. 在matlab 中输入下列表达式,并求各表达式的值,显示MATLAB 工作空间的使用情况并用两种方式保存全部变量,变量保存的文件名必须包含自己的学号后四位数:(1))1034245.01(26-⨯+⨯=w w=sqrt(2)*(1+0.34245*10^-6)w =1.4142(2),)tan(22ac b e abc c b a x ++-+++=ππ 其中a=3.5,b=5,c=9.8。
Matlab实践作业
ans =
0.5000
输出矩阵 1 4 7 ������ = 2 5 8 3 6 9
>> A=reshape([1:9],3,3)
A=
1 2 3
4 5 6
7 8 9
4、设������ =
2 1 3 4 2 5 ,������ = ,求������ + ������ 3 4 2 2 −3 4
第 2 页共 6 页
ezplot('tan(x)') legend('y=tan(x)') title('Figure 2-2: Question 8 using function ezplot') grid on
得到图形如下:
第 6 页共 6 页
Matlab 实践作业
班级 学号 姓名
问题: 1、 计算表达式1996/18的结果
>> 1996/18
ans =
110.8889
注:上表左侧为输入的代码文本形式,右侧为截图,以下同。 2、 输入表达式 2 sin 0.3������ 1+ 5
>> 2*sin(0.3*pi)/(1+sqrt(5))
>> A=[2,1,3;3,4,2]
A=
2 3
1 4
3 2
>> B=[4,2,5;2,-3,4]
B=
4 2
2 -3
5 4
>> A+B
ans =
6 5
3 1
8 6
4、 设������ = 3������ 2 − 3������ +
>> A+B
matlab实习作业
Matlab语言及应用结课报告题目:利用matlab语言建立速度扫描程序学院:地空学院年级:061114姓名:张宁学号:20111000486指导老师:王贤敏2015年6月25日目录第一章模型背景与意义 (1)第二章建立模型的思路与步骤 (2)第三章模型演示及结果 (4)第四章结论与评价 (14)第五章参考文献 (15)附录 (16)第一章模型背景与意义1.1 MATLAB产生的历史背景MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB的应用:利用MATLAB可以进行以下各种工作①数值计算②数值和符号计算③工程和科学绘图④控制系统的设计与仿真⑤数字图像处理⑥数字信号处理⑦通讯系统设计与仿真⑧财务与金融工程1.2 MATLAB的语言特点和开发环境MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。
西南交通大学MATLAB实习任务
任务:-15-03 (任务号_组号)课程名称:matlab程序设计及应用课程代码:9990267实习周数:J 学分:实习单位:物理科学与技术学院实习地点:图书馆机房实习时间:17: 00 至19:00二、实习主要容:(仿真结果及分析,含源程序+注释+图)源程序(以第三个程序为例做注释):%线极化波phi=O; %定义各个参量Exm=l;Eym=l;w=l;k=l;t=linspace(0J.e-6J 000);z=linspace(0.10*2*pi/k, 1000); Ex=Exm*cos(w*t・k*z);Ey=Eym*cos(w*t・k*z+phi); comet(Ex.Ey)hold onfigure;comet3(Ex.Ey,z) %时间及步长设置%空间及步长设置%电场方程%绘制彗星图%圆极化波..phi=pi/2; %各个参量设定Exm=l; Eym=l; w=l; k=l; t=linspace(0J.e-6J 000); %各参量及步长设置z=linspace(0J 0*2*pi/k, 1000); Ex=Exm*cos(w*t・k*z); Ey=Eym*cos(w*t.k*z+phi);comet(Ex,Ey,0.1) %绘制彗星图hold on figure; comet3(Ex.Ey,z)%椭圆极化波 phi=pi/4;Exm=l;Eym=l;w=I;k=l;t=linspace(0J.e-6J 000);z=linspace(0,10*2*pi/k, 1000);Ex=Exm*cos(w*t ・k*z);Ey=Eym*cos(w*t ・k*z+phi);comet(Ex.Ey.O.l)hold on figure;comet3(Ex.Ey,z)%各个参量及步长设置 %绘制彗星图%设定各个参量的取值三、实习总结、体会:1本次实习通过使用MATLAB软件来建立线极,椭圆极,原极化波的方程及绘图,画出的图形很漂亮,初步掌握了彗星图的绘制方法。
Matlab实验作业
MATLAB实验报告姓名:学号:学院:专业:任课老师:日期:Matlab 实验报告一、选择题目所选题目为MATLAB 试题中的第二题,题目内容如下:B 、设计遗传算法求解f (x)极小值,具体表达式如下:321231(,,)5.12 5.12,1,2,3i i i f x x x x x i =⎧=⎪⎨⎪-≤≤=⎩∑ 要求必须使用m 函数方式设计程序。
二、问题分析本题目是一个很简单的数学问题,很显然f (x)的最小值为0。
但是本次实验要求为必须以matlab 为实验平台,设计遗传算法对问题进行求解。
遗传算法是一种现代智能算法,实际上它的功能十分强大,能够用于求解一些难以用常规数学手段进行求解的问题,尤其适用于求解多目标、多约束,且目标函数形式非常复杂的优化问题。
但是遗传算法也有一些缺点,最为关键的一点,即没有任何理论能够证明遗传算法一定能够找到最优解,算法主要是根据概率论的思想来寻找最优解。
因此,遗传算法所得到的解只是一个近似解,而不一定是最优解。
鉴于遗传算法在求解上的巨大优势,现在对于遗传算法的研究也越来越多。
Matlab 中有专门的遗传算法工具箱,我们只需要按照一定的格式将目标函数、约束条件进行输入,同时根据问题的需要对其中的一些参数进行设置,即可以运行遗传算法对问题进行求解。
在本实验中,要求我们自行设计遗传算法,因此,首先我们必须要弄懂遗传算法的基本原理,之后才能将问题转化成遗传算法能够处理的形式。
例如,我们需要知道怎么表达自变量,怎么表达目标函数,怎么对目标函数进行优化,等等。
在此基础上,我们才能够运用matlab 编写正确的程序,对问题进行求解。
Matlab 实验报告三、遗传算法简介遗传算法是美国Michigan 大学的Holland 教授在20世纪60年代所提出来的。
遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化算法,它借鉴了达尔文的进化论和孟德尔的遗传学说。
遗传算法操作借鉴适者生存的原则,在每一代的进化中,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。
大连东软信息学院Matlab实验报告-第一次作业
MATLAB教程练习题1.利用Matlab中的函数生成3×3单位阵,2×3全0阵和4×3全1阵;2.利用Matlab中的函数生成10个在区间[14,99]上均匀分布的随机整数。
3. 计算向量(2,4,6,8)的最大值,最小值,平均值,中值【查一下这个函数】;4. 在行向量(2,4,6,8)和(1,3,5,7)之间实施加减乘除及幂运算;5. 在向量(1,3,5)与标量2之间实施加减乘除及幂运算。
6. 求 121211130⎛⎫ ⎪ ⎪ ⎪⎝⎭-的转置、行列式【查一下这个函数】、逆矩阵【查一下这个函数】。
7.要求利用diag 函数和其他函数生成数组A =。
8.将上面生成的数组A = ,转换成行向量B。
9. 产生一均匀分布在(-5,5)之间的5*3阶随机矩阵C,并要求所有的数值为整数。
10. 利用函数产生一个(0,1)间均匀分布的6*6随机矩阵D,然后统计D中大于等于0.6的元素个数。
11.产生一个4*5的随机矩阵E,要求为整数,且矩阵的元素范围为[0,100],计算出矩阵的最大值所在的位置。
12. 产生100到1的等差数列,数据点为20个,赋值给F(1)取F的第10个单元的值,赋值给F1;(2)取F的前10个单元的值,赋值给F2;(3)取F的后5个单元的值,赋值给F3;(4)取F的偶数单元的值,赋值给F4;(5)将F的数据倒排,赋值给F5。
13. 定义矩阵G=[1 2 3;4 5 6;7 8 9];(1)抽取A中的第1、2行,第2、3列元素,赋值给G1;(2)抽取A中的第1、4个元素作为新矩阵G2的第1行,抽取第2、3个元素作为新矩阵G2的第2行;resleep(1 4 2 3 , 2,2)(3)对矩阵G1和G2进行求和、求差、求乘和点乘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB实习报告
班级:*********
姓名:*******
学号:********
习题一:输入10个数,求其中最大数和最小数。
要求分别用循环结构和调用MATLAB的max函数、min函数来实现。
解:(1)循环结构方式
M文件:
indata = input(' Please input the number 10 ');
maxdata = indata(1);
mindata = indata(1);
for(i=1:10)
if(indata(i) > maxdata)
maxdata = indata(i);
end
if(indata(i) < mindata)
mindata = indata(i);
end
end
maxdata
mindata
运行结果:
(2)调用函数方式
M文件:
indata = input('Please input the number 10 ');
maxdata = max(indata)
mindata = min(indata)
运行结果:
习题二:求Fibonacci数列
(1)大于4000的最小项。
(2)5000之内的项数
解:(1)M文件:
f=[1,1];
i = 1;
while f(i)+f(i+1)< 4000
f(i+2)=f(i)+f(i+1);
i=i+1;
end
mindata = min(f)
运行结果:
(2)M文件:
f=[1,1];
i = 1;
while f(i)+f(i+1)< 5000
f(i+2)=f(i)+f(i+1);
i=i+1;
end
data = f
运行结果:
习题三:解方程组Ax =b ,分别用求逆解法与直接解法求其解。
解:(1)直接解法 M 文件: A=[ 2,-1, 0, 0, 0; -1, 2,-1, 0, 0; 0,-1, 2,-1, 0; 0, 0,-1, 2,-1; 0, 0, 0,-1, 2] b = [1;0;0;0;0] X = A\b
运行结果:
⎥⎥⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦
⎤
⎢⎢⎢
⎢⎢
⎢⎣⎡--------=00001,21
00
12100012100012
10001
2b A
(2)逆解法
M文件:
A=[ 2,-1, 0, 0, 0;
-1, 2,-1, 0, 0;
0,-1, 2,-1, 0;
0, 0,-1, 2,-1;
0, 0, 0,-1, 2]
b = [1;0;0;0;0]
X = inv(A)*b
运行结果:
习题四:编一个m程序,求N阶方阵A的行列式的值。
解:M文件
det(rand(input('Random input matrix order ')))
运行结果:
习题五:今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,…,5)值。
解:M文件:
P1 = [1,0,0,-2,1]; %P1(x)多项式的系数
P2 = [0,0,1,4,-0.5];%P2(x) 多项式的系数
P = P1 + P2 %P1(x)+P2(x) 多项式的系数
i = 0:5;
Xi = i * 0.2 %Xi
y = polyval(P,Xi) %输出
运行结果:
习题六:试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。
如N=5,原来x为:
x=[ 1 3 5 7 9 ]
而经过颠倒处理后x中数据的次序应该为:
x=[ 9 7 5 3 1 ]
解:M文件:
num = input('num is ');
indata = input('indata is')
if mod(num,2)
display('The input is odd');
for i = 1:1:(num-1)/2
temp = indata(i);
indata(i) = indata(num+1-i);
indata(num+1-i) = temp;
end
else
display('The input is even');
for i = 1:1:(num/2)
temp = indata(i);
indata(i) = indata(num+1-i);
indata(num+1-i) = temp;
end
end
display('Reverse the order after the results is');
display(indata);
运行结果:
当输入的数为偶数时:
当输入的数为奇数时:
习题七:在[0 2π]范围内绘制二维曲线图y=sin(x)*cos(5x)。
解: M文件:
x = linspace(0,2*pi,60);
y = sin(x).*cos(5*x)
plot(x,y,'b','linewidth',3);
axis([0 2*pi -1.5 1.5]);
title('sin(x)cos(5x)');
xlabel('x');
ylabel('y');
运行结果:
习题八:把自己姓名中的各个拼音字母(小写)所对应的ASCII 值转换为二进制序列,并用二进制脉冲绘图表示出来
解:M文件:
name = 'wangcunyue'
ASCII = double(a)
c = dec2bin(b,8)%Convert decimal integer to a binary string
c = c'; %??
stem(str2num(c(:)))%Convert string matrix to numeric array
name = 'wangcunyue'
b = double(name)
c = dec2bin(b,8)%Convert decimal integer to a binary string
c = c'; %??
stem(str2num(c(:)))%Convert string matrix to numeric array
运行结果:
心得体会:通过这几天的学习,我对matlab具有的功能震撼了,应用于各个领域。
我很喜欢它的编程风格,它与面向过程的C语言有一定的相似又有很大的不同,它的Simulink仿真平台与我之前接触过的Labview编程风格很相识,我认为也可以把它称之为G语言(图形语言),它的GUI图形界面又与我之前接触的面向对象的VB语言很相识,建立起图形界面很方面,只需要在相应的控件的回调函数来编写的它的相应的操作即可,它的强大功能深深的吸引了我,在资金不足的情况下在网上买了一本精通
matlab的书籍,打算利用空余时间好好学习这个拥有强大魅力的软件。