电子科技大学matlab-上机实验五
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上机实验答案.docx
实验一MATLAB 运算基础Matlab 上机实验答案1. 先求下列表达式的值,然后显示MATLAB X 作空间的使用情况并保存全部变量。
» z1 =2*sin(85*pi/180)/(1 +exp(2)) z1 =0.2375⑵ z? =*ln(x +Jl + x?),其中 「45 » x=[2 1+2i;・0.45 5];» z2=1/2*log(x+sqrt(1 +x A2)) z2 =0.7114 ・ 0.0253i 0.8968 + 0.3658i 0.2139+ 0.9343i1.1541 ・0.0044ie 0.3asin(a+0.3) + ln^^a = —3Q — 29 2.9,3.0(1)2sin85°» a=-3.0:0.1:3.0;» z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)(» z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1)z3 =Columns 1 through 50.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416i 0.7822 + 3.1416iColumns 6 through 100.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416i 0.6196 + 3.1416i 0.5496 + 3.1416iColumns 11 through 150.4688 + 3.1416i 0.3780 + 3.1416i 0.2775 + 3.1416iColumns 16 through 20-0.0771 + 3.1416i -0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 25-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271+3.1416i -1.8436 + 3.1416iColumns 26 through 30-2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 + O.OOOOi-3.0017 + O.OOOOi -2.3085 + O.OOOOiColumns 31 through 35-1.8971 + O.OOOOi -1.5978 + O.OOOOi -1.3575 + O.OOOOi -1.1531 + O.OOOOi -0.9723 + O.OOOOiColumns 36 through 400.4841 + O.OOOOi0.6474 + O.OOOOi0.6119 + O.OOOOi 0.5777 + O.OOOOi 0.5327 + O.OOOOi-0.8083 + O.OOOOi -0.6567 + O.OOOOi -0.5151 + O.OOOOi-0.3819 + O.OOOOi -0.2561 + O.OOOOiColumns 41 through 45-0.1374 + O.OOOOi -0.0255 + O.OOOOi 0.0792 + O.OOOOi0.1766 + O.OOOOi 0.2663 + O.OOOOiColumns 46 through 500.3478 + O.OOOOi 0.4206 + O.OOOOi0.5379 + O.OOOOi 0.5815 + O.OOOOiColumns 51 through 550.6145 + O.OOOOi 0.6366 + O.OOOOi0.6470 + O.OOOOi 0.6351 + O.OOOOiColumns 56 through 600.4774 + O.OOOOi 0.4126 + O.OOOOiColumn 610.3388 + O.OOOOir 0<r<l(4) z4=< t2 -1 l<t<2 9其中Z=0:0・5:2・ 5尸—2r + l 2<r<3»t=0:0.5:2.5;»z4=(t>=0&t<1 ).*(t.A2)+(t>=1 &t<2).*(t.A2-1 )+(t>=2&t<3).*(t.A2-2.*t+1)z4 =0 0.2500 0 1.2500 1.0000 2.25002.已知:求下列表达式的值:(1) A+6*B和A・B+I (其中I为单位矩阵)(2) A*B 和 A.*B⑶A八3和A/3⑷A/B及B\A(5)[A,B]和[A([1,3],:);B^2]» A=[12 34 -4;34 7 87;3 65 7];» B=[1 3-1;2 0 3;3 -2 7];» A+6*Bans =» A.*Bans =12 102 468 0 2619 ・130 49» A A3 ans =37226 23382424737078688 45414214918848604600766118820»A.A3ans =» B\A ans =ans =12 3 4 11 2067.0000-134.0000 68.00003.设有矩阵A和B(1) 求它们的乘积C。
MATLAB课后上机实验报告
《MATLAB程序设计与应用》实验指导书实验一 matlab 集成环境使用与运算基础1,先求下列表达式的值,然后显示matlab 工作空间的使用情况并保存全部变量。
(1)0122sin851z e =+程序:.>> z1=2*sin(85*pi/180)/(1+exp(2)) 结果: z1 =0.2375(2)22121(0.4552i z In x x +⎡⎤=+=⎢⎥-⎣⎦其中 程序:>> x=[2,1+2*i;-0.45,5];>> z2=0.5*log(x+sqrt(1+x*x)) 结果: z2 =0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044i(3)0.3,9.2,8.2,...,8.2,9.2,0.3,23.0)3.0sin(23.03.03---=+++-=-a aIn a e e z a a 提示:利用冒号表达式生成a 向量,求各点函数值时用点乘运算。
程序:>> a=-3.0:0.1:30;>> z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin((a+0.3)*pi/180)+log((0.3+a)/2) 结果: z3 =1.0e+003 *Columns 1 through 40.0003 + 0.0031i 0.0003 + 0.0031i 0.0003 + 0.0031i 0.0002 + 0.0031iColumns 5 through 80.0002 + 0.0031i 0.0001 + 0.0031i 0.0001 + 0.0031i 0.0000 + 0.0031i Columns 9 through 12-0.0000 + 0.0031i -0.0001 + 0.0031i -0.0001 + 0.0031i -0.0002 + 0.0031i Columns 13 through 16-0.0003 + 0.0031i -0.0003 + 0.0031i -0.0004 + 0.0031i -0.0005 + 0.0031i Columns 17 through 20-0.0006 + 0.0031i -0.0007 + 0.0031i -0.0008 + 0.0031i -0.0009 + 0.0031i Columns 21 through 24-0.0010 + 0.0031i -0.0012 + 0.0031i -0.0014 + 0.0031i -0.0016 + 0.0031i Columns 25 through 28-0.0019 + 0.0031i -0.0023 + 0.0031i -0.0030 + 0.0031i -0.0370 Columns 29 through 32-0.0030 -0.0023 -0.0019 -0.0016 Columns 33 through 36-0.0014 -0.0012 -0.0010 -0.0009 Columns 37 through 40-0.0008 -0.0007 -0.0006 -0.0005 Columns 41 through 44-0.0004 -0.0003 -0.0003 -0.0002 Columns 45 through 48-0.0001 -0.0001 -0.0000 0.0000 Columns 49 through 520.0001 0.0001 0.0002 0.0002 Columns 53 through 560.0003 0.0003 0.0003 0.0004 Columns 57 through 600.0004 0.0005 0.0005 0.0005 Columns 61 through 640.0006 0.0006 0.0006 0.0007 Columns 65 through 680.0007 0.0007 0.0008 0.0008 Columns 69 through 720.0008 0.0008 0.0009 0.0009 Columns 73 through 760.0009 0.0010 0.0010 0.0010 Columns 77 through 800.0011 0.0011 0.0011 0.0011 Columns 81 through 840.0012 0.0012 0.0012 0.0013 Columns 85 through 880.0013 0.0013 0.0013 0.0014 Columns 89 through 920.0014 0.0014 0.0015 0.0015 Columns 93 through 960.0015 0.0016 0.0016 0.0016 Columns 97 through 1000.0017 0.0017 0.0017 0.0018 Columns 101 through 1040.0018 0.0018 0.0019 0.0019 Columns 105 through 1080.0020 0.0020 0.0020 0.0021 Columns 109 through 1120.0021 0.0022 0.0022 0.0023 Columns 113 through 1160.0023 0.0024 0.0024 0.0025 Columns 117 through 1200.0025 0.0026 0.0026 0.0027 Columns 121 through 1240.0027 0.0028 0.0029 0.0029 Columns 125 through 1280.0030 0.0031 0.0031 0.0032 Columns 129 through 1320.0033 0.0034 0.0034 0.0035 Columns 133 through 1360.0036 0.0037 0.0038 0.0039 Columns 137 through 1400.0040 0.0041 0.0042 0.0043 Columns 141 through 1440.0044 0.0045 0.0046 0.0047 Columns 145 through 1480.0049 0.0050 0.0051 0.0053 Columns 149 through 1520.0054 0.0056 0.0057 0.0059 Columns 153 through 1560.0060 0.0062 0.0064 0.0066 Columns 157 through 1600.0068 0.0069 0.0071 0.0074 Columns 161 through 1640.0076 0.0078 0.0080 0.0083 Columns 165 through 1680.0085 0.0088 0.0090 0.0093 Columns 169 through 1720.0096 0.0099 0.0102 0.0105 Columns 173 through 1760.0108 0.0112 0.0115 0.0119 Columns 177 through 1800.0123 0.0127 0.0131 0.0135 Columns 181 through 1840.0139 0.0144 0.0148 0.0153 Columns 185 through 1880.0158 0.0163 0.0168 0.0174 Columns 189 through 1920.0180 0.0185 0.0191 0.0198 Columns 193 through 1960.0204 0.0211 0.0218 0.0225 Columns 197 through 2000.0233 0.0241 0.0249 0.0257 Columns 201 through 2040.0265 0.0274 0.0284 0.0293 Columns 205 through 2080.0303 0.0313 0.0324 0.0335 Columns 209 through 2120.0346 0.0358 0.0370 0.0382 Columns 213 through 2160.0395 0.0409 0.0423 0.0437 Columns 217 through 2200.0452 0.0467 0.0483 0.0500 Columns 221 through 2240.0517 0.0534 0.0552 0.0571 Columns 225 through 2280.0591 0.0611 0.0632 0.0654 Columns 229 through 2320.0676 0.0699 0.0723 0.0748 Columns 233 through 2360.0773 0.0800 0.0827 0.0856 Columns 237 through 2400.0885 0.0915 0.0947 0.0979 Columns 241 through 2440.1013 0.1047 0.1083 0.1121 Columns 245 through 2480.1159 0.1199 0.1240 0.1282 Columns 249 through 2520.1326 0.1372 0.1419 0.1467 Columns 253 through 2560.1518 0.1570 0.1624 0.1679 Columns 257 through 2600.1737 0.1796 0.1858 0.1921 Columns 261 through 2640.1987 0.2055 0.2125 0.2198 Columns 265 through 2680.2273 0.2351 0.2431 0.2514 Columns 269 through 2720.2600 0.2689 0.2781 0.2876 Columns 273 through 2760.2974 0.3076 0.3180 0.3289 Columns 277 through 2800.3401 0.3517 0.3637 0.3761 Columns 281 through 2840.3889 0.4021 0.4158 0.4299 Columns 285 through 2880.4446 0.4597 0.4753 0.4915 Columns 289 through 2920.5082 0.5254 0.5433 0.5617 Columns 293 through 2960.5807 0.6004 0.6208 0.6418 Columns 297 through 3000.6636 0.6861 0.7093 0.7333 Columns 301 through 3040.7581 0.7838 0.8103 0.8377 Columns 305 through 3080.8660 0.8952 0.9254 0.9567 Columns 309 through 3120.9890 1.0223 1.0568 1.0924 Columns 313 through 3161.1292 1.1673 1.2066 1.2472Columns 317 through 3201.2892 1.3326 1.3774 1.4237Columns 321 through 3241.4715 1.5210 1.5721 1.6249Columns 325 through 3281.6794 1.7357 1.7940 1.8541Columns 329 through 3311.9163 1.98052.0468(4)⎪⎩⎪⎨⎧=<≤<≤<≤+--=5.2:5.0:0,322110,121,2224t t t t t t t t z 其中提示:用逻辑表达式求分段函数值。
matlab实验报告
电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析学生姓名:学号:指导教师:实验目的通过上机编程实验,使学生熟悉对MATLAB软件平台的使用,使学生掌握MATLAB 的编程技巧,让学生对MATLAB软件平台在科学计算中的重要作用有深入了解Matlab实验报告一.第一次1.1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。
并以x,y 为坐标显示图像x(n+1) = a*x(n)-b*(y(n)-x(n)^2);y(n+1) = b*x(n)+a*(y(n)-x(n)^2)n=input('input the number of pionts:');a=input('input a:');b=input('input b:');x=[];y=[];x(1)=input('input x1:');y(1)=input('input y1:');for i=2:nx(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2);y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2);endfigure;plot(x,y,'linewidth',2)axis equaltext(x(1),y(1),'1st point')输入数据:input the number of points:10input a:1input b:2input x1:3input x2:42.编程实现奥运5环图,允许用户输入环的直径。
hold onr=input('shuru r:');x=5;y=5;jiao=linspace(0,2*pi);X=r*cos(jiao)+x;Y=r*sin(jiao)+y;plot(X,Y,'y','linewidth',5);x=10;y=5;jiao=linspace(0,2*pi);X=r*cos(jiao)+x;Y=r*sin(jiao)+y;plot(X,Y,'g','linewidth',5);x=15;y=5;jiao=linspace(0,2*pi);X=r*cos(jiao)+x;Y=r*sin(jiao)+y;plot(X,Y,'b','linewidth',5); x=7;y=2;jiao=linspace(0,2*pi);X=r*cos(jiao)+x;Y=r*sin(jiao)+y;plot(X,Y,'r','linewidth',5); x=12;y=2;jiao=linspace(0,2*pi);X=r*cos(jiao)+x;Y=r*sin(jiao)+y;plot(X,Y,'k','linewidth',5);输入:shuru r:43.A=input('input numbers :'); [m,n]=size(A); for i=1:nfor j=1:(n-i)if sort_A(j)>sort_A(j+1) t=sort_A(j);sort_A(j)=sort_A(j+1); sort_A(j+1)=t; end endend sort_A输入数据:inpute number:[2,4,5,8,7,3,1,0,6,9] 输出数据: Sort_A=0 1 2 3 4 5 6 7 8 9二.第二次 1. 对高阶多项式()()()()()2011220k p x x x x x k ==---=-∏编程求下面方程的解()190p x x ε+=并绘图演示方程的解与扰动量ε的关系。
MATLAB技术上机实践报告
目录上机实践一MATLAB在“高等数学”中的应用练习(4学时)(1)上机练习——MATLAB解常微分方程(SJ101.m)(2)上机练习——MATLAB二元函数作图(SJ102.m)(3)上机编程——微分运算和积分运算(SJ103.m)(4)上机编程——线性方程组的数值解法(SJ104.m)上机实践二MATLAB在“力学”中的应用练习(4学时)(1)上机练习——质点直线运动的位置、速度和加速度(SJ201.m)(2)上机练习——轻质杆的斜抛运动(SJ202.m)(3)上机编程——质点的抛体运动(SJ203.m)(4)上机编程——物体在恒力作用下的直线运动(SJ204.m)上机实践三MATLAB在“电磁学”中的应用练习(4学时)(1)上机练习——电磁波的发射方法一(SJ301.m)(2)上机练习——电磁波的发射方法二(SJ302.m)(3)上机编程——静电场场强分布计算(SJ303.m)(4)上机编程——带电粒子在电场中的运动(SJ304.m)上机实践四MATLAB在“振动和波动”中的应用练习(4学时)(1)上机练习——旋转矢量法(SJ401.m)(2)上机练习——用惠更斯作图法确定波阵面(SJ402.m)(3)上机编程——同方向简谐振动的合成(SJ403.m)(4)上机编程——简谐波横波的演示(SJ404.m)上机实践五MATLAB在“量子物理”中的应用练习(4学时)(1)上机练习——黑体辐射随波长的变化规律(SJ501.m)(2)上机练习——势垒和隧道效应(SJ502.m)(3)上机编程——双缝干涉图样的动画模拟(SJ503.m)上机实践六MATLAB在“电子信息技术”中的应用练习(4学时)(1)上机练习——含受控源的电阻电路计算(SJ601.m)(2)上机练习——方波分解为多次正弦波之和(SJ602.m)(3)上机编程——电阻电路的计算(SJ603.m)(4)上机编程——连续信号的MATLAB描述(SJ604.m)上机实践一 MATLAB 在“高等数学”中的应用练习(4学时)【上机实践目的】使用MATLAB 软件编写相应的M 文件进行计算模拟高等数学中的一些基本问题。
matlab上机试验[教学]
Matlab 上机实验一、 实验目的1、 掌握绘制MATLAB 二维、三维和特殊图形的常用函数;2、 熟悉并掌握图像输入、输出及其常用处理的函数。
二、 实验内容1 绘制函数的网格图和等高线图。
422cos cos y x yex z +-=其中x 的21个值均匀分布在[-5,5]范围,y 的31个值均匀分布在[0,10],要求将产生的网格图和等高线图画在同一个图形窗口上。
2 绘制三维曲面图,使用纯铜色调色图阵进行着色,并进行插值着色处理。
⎪⎩⎪⎨⎧===s z t s y ts x sin sin cos cos cos230,20ππ≤≤≤≤t s3 已知⎪⎪⎩⎪⎪⎨⎧>++≤+=0),1ln(210,22x x x x e x y π在-5<=x<=5区间绘制函数曲线。
4 已知y1=x2,y2=cos(2x),y3=y1*y2,其中x 为取值-2π~2π的等差数列(每次增加0.02π),完成下列操作:a) 在同一坐标系下用不同的颜色和线型绘制三条曲线,给三条曲线添加图例;b) 以子图形式,分别用条形图、阶梯图、杆图绘制三条曲线,并分别给三个图形添加标题“y1=x^2”,“y2=cos(2x)”和“y3=y1*y2”。
5 在xy 平面内选择区域[][],,-⨯-8888,绘制函数z =的三种三维曲面图。
6 在[0,4pi]画sin(x),cos(x)(在同一个图象中); 其中cos(x)图象用红色小圆圈画.并在函数图上标注 “y=sin(x)”, “y=cos(x)” ,x 轴,y 轴,标题为“正弦余弦函数图象”.7 分别用线框图和曲面图表现函数z=cos(x)sin(y)/y ,其中x 的取值为[-1.5pi,1.5pi],y=x ,要求:要有标题、坐标轴标签8 有一组测量数据满足-ate =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成)9 22y x xez --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图10 x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。
MATLAB上机实验报告
MATLAB上机实验报告实验一、实验目的--------------------------------------------------------------------------------------------------------3二、实验内容--------------------------------------------------------------------------------------------------------3三、实验步骤--------------------------------------------------------------------------------------------------------31. M 文件的编辑----------------------------------------------------------------------------------------------32. 程序流程控制结构---------------------------------------------------------------------------------------31) for 循环结构-----------------------------------------------------------------------------------------42) while 循环结构----------------------------------------------------------------------------------------5练习-----------------------------------------------------------------------------------------------------------53)if-else-end分支结构---------------------------------------------------------------------------------54)switc-case结构----------------------------------------------------------------------------------------63. 子函数和参数传递------------------------------------------------------------------------------------------6练习-----------------------------------------------------------------------------------------------------------74. 局部变量和全局变量--------------------------------------------------------------------------------------8 MATLAB上机练习6.1 M 文件--------------------------------------------------------------------------------------------8(1)脚本文件-----------------------------------------------------------------------------------------------------8(2)函数文件-----------------------------------------------------------------------------------------------------9(3)函数调用-----------------------------------------------------------------------------------------------------9 6.2 MATLAB 的程序控制结构( 1) for 循环----------------------------------------------------------------------------------------------------9(2) while 循环----------------------------------------------------------------------------------------------------12(3)if语句---------------------------------------------------------------------------------------------------------12(4)switch 语句-------------------------------------------------------------------------------------------------13(5)try 语句-----------------------------------------------------------------------------------------------------14(6)程序流的控制--------------------------------------------------------------------------------------------14 6.3 数据的输入与输出-----------------------------------------------------------------------------------14(1)键盘输入语句------------------------------------------------------------------------------------------14(2)屏幕输出语句---------------------------------------------------------------------------------------------14 6.4 MATLAB文件操作(1)fopen 语句-----------------------------------------------------------------------------------------------------15(2) fclose 语句-----------------------------------------------------------------------------------------------------15 6.5 面向对象编程--------------------------------------------------------------------------------------------15(1)创建类目录----------------------------------------------------------------------------------------------------15(2) 建立类的数据结构-----------------------------------------------------------------------------------------15(3)创建类的基本方法---------------------------------------------------------------------------------------------16 6.6 MATLAB 程序优化-----------------------------------------------------------------------------------------17 6.7程序调试------------------------------------------------------------------------------------------------------17 6.8 习题----------------------------------------------------------------------------------------------------------17实验五MATLAB 程序设计一、实验目的掌握MATLAB 程序设计的主要方法,熟练编写MATLAB 函数。
matlab上机实践五(计算物理班)
实验五MATLAB解方程实验要求:为达到理想的实验效果,同学们务必做到:(1)实验前认真准备,要根据实验目的和实验内容,复习好实验中可能要用到的命令,想好编程的思路,做到胸有成竹,提高上机效率。
(2)实验过程中积极思考,要深入分析命令、程序的执行结果以及各种屏幕信息的含义、出现的原因并提出解决办法。
(3)实验后认真总结,要总结本次实验有哪些收获,还存在哪些问题,并写出实验报告。
实验报告应包括实验目的、实验内容、流程图(较大程序)、程序(命令)清单、运行结果以及实验的收获与体会等内容。
同学们在上机过程中会碰到各种各样的问题,分析问题和解决问题的过程就是积累经验的过程。
只要同学们按照上面3点要求去做,在学完本课程后就一定会有很大的收获。
实验仪器:计算机实验时间:2018.5.实验原理:1.Matlab线性方程组求解:直接解法:左除,矩阵求逆;矩阵分解求解:LU分解迭代解法:jacobi迭代;gauss-serdel迭代2.Matlab非线性方程求解:单变量非线性方程求解:z=fzero(@fname,x0,tol,trace)z=fzero('fname',x0,tol,trace)非线性方程组求解:X=fsolve('fun',X0,option)X=fsolve(@fun,X0,option)3.常微分方程(组)初值问题的数值解法龙格-库塔法[t,y]=solver('fname',tspan,y0)[t,y]= solver(@fname,tspan,y0)实验目的:1.掌握matlab求解线性方程组2.掌握matlab求解非线性方程(组)3.掌握常微分方程(组)初值问题的数值解法实验内容:1. 求解线性方程组2348374365x y z x y z x y z ⎧⎪++=⎪⎨++=⎪⎪-+=⎩ 利用矩阵除法,矩阵求逆,矩阵分解,jacobi 迭代法和和Gauss-serdel 迭代法(初值x0=1,y0=1,z0=0.5)求解方程组。
《MATLAB与数值分析》第一次上机实验报告
电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析学生姓名:李培睿学号:2013020904026指导教师:程建一、实验名称《MATLAB与数值分析》第一次上机实验二、实验目的1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算操作。
(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序)2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。
(用.m文件编写进行符号因式分解和函数求反的程序)3. 掌握Matlab函数的编写规范。
4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、三维曲线和面的填充、三维等高线等。
(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释)5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。
三、实验内容1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。
并以x,y为坐标显示图像x(n+1) = a*x(n)-b*(y(n)-x(n)^2);y(n+1) = b*x(n)+a*(y(n)-x(n)^2)2. 编程实现奥运5环图,允许用户输入环的直径。
3. 实现对输入任意长度向量元素的冒泡排序的升序排列。
不允许使用sort 函数。
四、实验数据及结果分析题目一:①在Editor窗口编写函数代码如下:并将编写的函数文件用“draw.m”储存在指定地址;②在Command窗口输入如下命令:③得到图形结果如下:题目二:①在Editor窗口编写函数代码如下:并将编写的函数文件用“circle.m”储存在指定地址;②再次在Editor窗口编写代码:并将编写的函数文件用“Olympic.m”储存在指定地址;③在Command窗口输入如下指令(半径可任意输入):④按回车执行,将在图形窗口获得五环旗:题目三:①在Editor窗口编写函数代码如下:并用.将编写的函数文件用“qipaofa.m”储存在指定地址;②在Command窗口输入一组乱序数值,则可以得到升序排序结果如下:五、总结及心得体会1.要熟悉MATLAB编译软件的使用方法,明白有关语法,语句的基本用法,才可以在编写程序的时候游刃有余,不至于寸步难行。
matlab上机实验报告ppt
matlab上机实验报告pptMATLAB上机实验报告摘要:本实验报告利用MATLAB软件进行了一系列实验,包括数据处理、图像处理、信号处理等内容。
通过实验,我们掌握了MATLAB软件的基本操作和应用技巧,提高了数据分析和处理的能力。
1. 实验背景MATLAB是一种用于数学计算、数据分析和可视化的高级技术计算语言和交互式环境。
它是工程师和科学家们进行算法开发、数据分析、数据可视化和数值计算的首选工具。
本次实验旨在通过实际操作,掌握MATLAB的基本操作和应用技巧。
2. 实验内容本次实验主要包括以下内容:(1)数据处理:利用MATLAB对一组实验数据进行处理,包括数据的导入、清洗、分析和可视化。
(2)图像处理:利用MATLAB对一幅图像进行处理,包括图像的读取、处理和保存。
(3)信号处理:利用MATLAB对一组信号进行处理,包括信号的生成、滤波和频谱分析。
3. 实验过程(1)数据处理:首先,我们利用MATLAB将实验数据导入到工作空间中,然后对数据进行清洗和分析,最后利用MATLAB绘制出数据的可视化图表。
(2)图像处理:我们利用MATLAB读取一幅图像,并对图像进行处理,比如调整图像的亮度、对比度等参数,最后保存处理后的图像。
(3)信号处理:我们利用MATLAB生成一组信号,并对信号进行滤波处理,然后利用MATLAB进行信号的频谱分析。
4. 实验结果通过本次实验,我们成功地利用MATLAB对实验数据进行了处理和分析,得到了清晰的数据可视化图表;对一幅图像进行了处理,并保存了处理后的图像;对一组信号进行了滤波处理,并进行了频谱分析。
实验结果表明,MATLAB是一款功能强大、灵活多样的工程计算软件,能够满足工程师和科学家们的各种需求。
5. 实验结论本次实验通过MATLAB软件的实际操作,使我们掌握了MATLAB的基本操作和应用技巧,提高了我们的数据分析和处理能力。
同时,也加深了我们对MATLAB软件的理解和认识,为今后的工程计算和科学研究打下了坚实的基础。
上机5实验内容
上机5实验内容1 已知函数21100x 1,,1s in (x),1)(2≤≤<≤<≤⎪⎩⎪⎨⎧+=x x x x x f -+,计算f(-0.5),f(0),f(1),并作出该函数的曲线图,说明x=1.5,x=0,x=1处的连续性和可导性。
2 定义二元函数f(x,y)=x 3-y 3+3x 2+3y 2-9x,并在区域-4<x<2,-1<y<3内作出该曲面的图形,计算该函数在驻点(1,0), (1,2),(-3,0),(-3,2)的取值,并在曲面上用’*’描出驻点,以不同的角度观察曲面图形,说明哪些驻点是极值点,若是极值点,是极大值还是极小值?3 编写程序,按利润完成产品的排序,并按利润由大到小输出产品的序号。
4编写M 文件,完成某班50名学生的高等数学考试成绩的统计工作,要求统计该班最高分,最低分,计算平均分,及格率。
上机5实验步骤1 (1)在MatLab 命令窗口中,点击菜单File ->New->M-file ,打开M 文件编辑窗口输入程序如下:function y=fun1(x) if (x>=-1)&(x<0) y=x+1; elseif x<1 y=sin(x)+1; elseif x<=2 y=x.*x; end(2)在M 文件编辑窗口中,点击File ->Save ,在默认路径下存盘,文件名为fun1.m (3)在MatLab 命令窗口中,输入 fun1(-0.5),fun1(0),fun1(1)得f(-0.5)= 0.5000 ,f(0)= 1 ,f(1)= 1 (4) 在MatLab 命令窗口中,输入plot(0,fun1(0),'*',1,fun1(1),'*',1.5,fun1(1.5),'*') fplot('fun1',[-1,2])由图像观察得各点的连续性和可导性:在x=1.5处连续可导在x=0处连续可导在x=1处连续不可导2 (1)在MatLab命令窗口中,点击菜单File->New->M-file,打开M文件编辑窗口输入程序如下:function z=fun2(x)z=x(1).^3-x(2).^3+3*x(1).^2+3*x(2).^2-9*x(1);end(2)在M文件编辑窗口中,点击File->Save,在默认路径下存盘,文件名为fun2.m (3)在MatLab命令窗口中,输入如下指令:fun2([1,0]),fun2([1,2]),fun2([-3,0]),fun2([-3,2])得f(1,0)= -5 ,f(1,2)= -1 ,f(-3,0)= 27 ,得f(-3,2)= 31 ,>>hold off>>clf>>x=-4:0.1:2;>>y=-1:0.1:3;>>[X,Y]=meshgrid(x,y);>>Z=X.^3-Y.^3+3*X.^2+3*Y.^2-9*X;>>mesh(X,Y,Z)>>hold on>>plot3(1,0,fun2([1,0]),'b*')在图形窗口用旋转工具,观察点(1,0)处取得极值的情况是最小点,>>plot3(1,2,fun2([1,2]),'r*')在图形窗口用旋转工具,观察点(1,2)处取得极值的情况是极小点,>>plot3(-3,0,fun2([-3,0]),'m*')在图形窗口用旋转工具,观察点(-3,0)处取得极值的情况是极大点,>>plot3(-3,2,fun2([-3,2]),'y*')在图形窗口用旋转工具,观察点(-3,2)处取得极值的情况是最大点,3(1) 在MatLab命令窗口中,点击菜单File->New->M-file,打开M文件编辑窗口输入程序如下:data(1,:)=1:8;data(2,:)=[8.25 10.3 6.68 12.03 16.85 17.51 9.3 10.65];data(3,:)=[15.00 16.25 9.9 18.25 20.80 24.15 15.50 18.25];data(4,:)=data(3,:)-data(2,:);for i=1:7w=data(4,i);k=i;flag=0;for j=i+1:8if w<data(4,j)w=data(4,j);k=j;flag=1;endendif flag==1data(:,[i k])= data(:,[k i]);endenddata(1,:)(2) 在M文件编辑窗口中,点击File->Save,在默认路径下存盘,文件名为fun3.m(3) 在命令窗口输入>>fun3 %把产品按利润排序,输出排序后的产品序号为:8 1 6 4 7 2 5 34(1)按“开始”-“程序”-“附件”-“记事本”,打开“记事本”,输入学生成绩,成绩之间用空格或逗号隔开。
matlab上机实验报告
matlab上机实验报告《Matlab上机实验报告:探索数据分析与图像处理的奇妙世界》摘要:本实验报告基于Matlab平台,探索了数据分析与图像处理的应用。
通过实验,我们发现Matlab具有强大的数据处理和图像处理能力,能够帮助我们快速高效地分析数据和处理图像。
本文将详细介绍实验过程和结果,以及对Matlab在数据分析与图像处理中的应用前景进行探讨。
1. 实验目的本次实验旨在通过Matlab平台进行数据分析与图像处理实验,探索Matlab在这两个领域的应用能力,为学习者提供实践机会,加深对数据分析与图像处理的理解,并为未来的科研工作和工程实践提供技术支持。
2. 实验内容2.1 数据分析我们首先使用Matlab对一组实验数据进行分析,包括数据的可视化、统计特征提取、数据拟合等操作。
通过Matlab强大的数据处理工具,我们可以快速准确地分析数据,提取出其中的规律和特征,为后续的决策和应用提供支持。
2.2 图像处理其次,我们利用Matlab对一组图像进行处理,包括图像的增强、滤波、边缘检测等操作。
通过Matlab丰富的图像处理工具,我们可以对图像进行各种操作,改善图像质量,提取图像特征,甚至实现图像识别和分析。
3. 实验结果在数据分析方面,我们利用Matlab对实验数据进行了可视化展示,并提取了数据的统计特征,得到了数据的分布规律和趋势。
在图像处理方面,我们利用Matlab对图像进行了增强和边缘检测,得到了处理后的图像,观察到了图像质量的改善和边缘特征的提取。
4. 实验结论通过本次实验,我们深刻认识到Matlab在数据分析与图像处理领域的强大能力,能够帮助我们快速高效地分析数据和处理图像,为科研工作和工程实践提供技术支持。
我们相信,在未来的发展中,Matlab将在数据分析与图像处理领域发挥越来越重要的作用。
5. 展望基于本次实验的结果,我们对Matlab在数据分析与图像处理领域的应用前景进行了展望。
我们相信,随着科技的不断发展,Matlab将在数据分析与图像处理领域发挥越来越重要的作用,为人类社会的进步和发展做出更大的贡献。
实验五matlab上机2
实验五今日实验内容1.本周为第5周,上传实验报告为05;2.完成实验指导书第4页程序,并实现对该程序的调用,将程序粘贴在实验报告内容中;3.观察程序运行结果,并完成图1-2所示的结果,并将程序和结果图粘贴在实验报告上,同时说明n的取值与图像的结果之间的关系;编程如下:function projectdemo(n)n=5if mod(n,floor(n))~= 0 | n <= 2 | mod(n,2)==0%error( 'n必须是大于等于3的奇数整数');end% 产生n×n的拉普拉斯滤波器center = -((n^2) - 1);lapmask = ones(n);lapmask((n + 1)/2, (n + 1)/2) = center% 输入待滤波的图像fin = im2double(imread('Frowns.jpg'));gout = fin - imfilter(fin, lapmask, 'replicate');% 构造图像的标注S0 = char('×'); S1 = num2str(n); S2 = char( '滤波图像');S = strcat(S1,S0,S1,S2);% 显示原始图像与滤波图像subplot(121);imshow(fin);%axis ontitle('原始图像','FontSize',14,'FontName','隶书','color','b');subplot(122);imshow(gout);%axis ontitle(S,'FontSize',14,'FontName','隶书','color','b');%%************************** END **************************%%程序运行结果如下:将n的值取7时,输出结果如下:N取31时,输出结果如下:由上图可得,当n在大于等于3的奇数整数基础上,n值的不断变大,图像色差越来越明显,提高了图像质量。
Matlab实验5
图7-3 传递函数模块的参数设置
9
Matlab实验讲义
图7-4 增益模块的参数设置 剩下的Absolute tolerance 保持为Auto,则设置即告完成。不难看出,Numerator和Denominator选 项下填入的分别是系统传递函数分子和分母多项式系数的降幂排列。同MATLAB下传递函数的 输入相类似,系数与系数间需用逗号或空格分开。 分别双击两个Gain模块,在弹出的参数设置对话框中的Gain选项下(如图7-4所示)分别设 置积分系数 1/Ti =1/0.05和 b p =0,其余选项可不必理会而保持默认值。 双击To workspace元件的图标,元件的输出变量名设置为simout,这是输出到MATLAB Workspace下的变量名称;保存格式(Save format)选择为Array。该元件的作用是将仿真时间和仿 真结果输出到MATLAB环境下的Workspace。在上面的设置下仿真完成后,在Workspace下将产 生两个向量:tout 和simout。其中tout是系统自动产生的,存放仿真时间,而simout则存放仿真 结果。这样我们就可以在Command Window下或通过M程序文件应用相应的变量以及各种 MATLAB函数进行分析或绘图了。还有一点要说明的是,如果使用Mux元件将多路信号合并为 一路并输出到Workspace元件时,在MATLAB下形成的simout这时为一矩阵,其中的每一列对应 着一路结果信号,这在想要同时观察多路信号时将是十分有用的。 选择图7-2下菜单选项Simulation\Simulation Parameters… 进行仿真参数设置。 在这里只需将 Stop Time设置为30,而其余参数保持为默认值即可。一般来说,仿真结束时间是根据不同的控 制对象来选择的。对于调节系统而言,一般可先选为30~50秒,然后,再根据实际仿真结果进行 适当的调整。 接下来,需在MATLAB环境下初始化参数变量。如果刚搭建好系统的方框图就进行仿真的 话,读者就会看图7-5所示的对话框。这说明在方框图软反馈和实际微分环节中的参数bt、Td 和Tn没有定义,无法进行仿真。这是因为SIMULINK是根据数值求解的,因此使用变量,必须在 相应的Workspace中有定义。我们仅仅给出了变量名而没有赋值,系统自然无法仿真。我们回到 MATLAB Command Window,键入以下代码: bt=0.75; Td=6; Tn=1 回到SIMULINK环境下就可以开始仿真了。 当然, 也可以在相应的传递函数模块元件参数设 置对话框中直接键入相应的数值, 但这样一来物理意义就不够明显, 并且不利于以后的结构化建 模和参数修改。 完成上述步骤后,就可选择Simulation\Start菜单选项进行仿真了,其结果示于图7-6中。
数学建模MATLAB上机实验报告
MATLAB课程实验报告学院:资源与安全工程学院专业班级:城地1503班学号: 020******* 姓名:沈超锋指导教师:向淑晃2016年12月目录实验一 MATLAB工作环境熟悉及简单命令的执行 (2)一、实验目的 (2)二、实验内容 (2)三、实验步骤: (2)实验二 MATLAB的数值计算功能(一) (6)一、实验目的 (6)二、实验内容 (6)三、实验步骤 (6)实验三 MATLAB的数值计算功能(二) (11)一、实验目的: (11)二、实验内容 (11)三、实验步骤 (11)实验四 MATLAB程序设计入门 (15)一、实验目的 (15)二、实验内容 (15)三、实验步骤 (15)实验五 MATLAB的符号运算功能 (19)一、实验目的 (19)二、实验内容 (19)三、实验步骤 (19)实验六 MATLAB的可视化功能 (22)一、实验目的 (22)二、实验内容 (22)三、实验步骤 (22)数学建模MATLAB上机实验报告实验一MATLAB工作环境熟悉及简单命令的执行第九周10月29日一、实验目的:熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。
二、实验内容:MATLAB的启动和退出,熟悉MATLAB的桌面(desktop),包括菜单(Menu),工具条(toolbar),命令窗口(Command Window),历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:(一)MATLAB的工作环境1、启动MATLAB,熟悉MATLAB的桌面。
MATLAB的工作环境主要由命令窗(Command Window)、若干个图形窗(Figure window)、文本编辑器(File Editor)和文件管理器组成。
各视窗之间的切换可用快捷键Alt+Tab。
2、命令窗命令窗是人们与MATLAB作人机对话的主要环境,通过它可以键入MATLAB的各种命令并读出相应的结果。
MATLAB上机实验实验报告
MATLAB上机实验一一、实验目的初步熟悉MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息; 命令窗口二、实验内容1 熟悉MATLAB 平台的工作环境;2 熟悉MATLAB 的5 个工作窗口;3 MATLAB 的优先搜索顺序;三、实验步骤1. 熟悉MATLAB 的5 个基本窗口①Command Window 命令窗口②Workspace 工作空间窗口③Command History 命令历史记录窗口④Current Directory 当前目录窗口⑤Help Window 帮助窗口1 命令窗口Command Window;在命令窗口中依次输入以下命令:>>x=1>> y=1 2 34 5 67 8 9;>> z1=1:10,z2=1:2:5;>> w=linspace1,10,10;>> t1=ones3,t2=ones1,3,t3=ones3,1>> t4=ones3,t4=eye4x =1z1 =1 2 3 4 5 6 7 8 9 10t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写;答:1变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用;当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在;脚本没有输入输出参数,由一系列MATLAB命令组成的M文件没有单独的工作空间,只能共享调用者的工作空间;当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中;2.全局变量在函数或基本工作空间内,用global声明的变量为全局变量;例如声明a为全局变量:>>global a声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值;如果函数的子函数也要使用全局变量,也必须用global声明;3.永久变量永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取;当声明它的函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量:>>persistent a2变量命名规则如下:始于字母,由字母、数字或下划线组成;区分大小写;可任意长,但使用前N个字符;N与硬件有关,由函数namelengthmax返回,一般N=63;不能使用关键字作为变量名关键字在后面给出;避免使用函数名作为变量名;如果变量采用函数名,该函数失效;3区分大小写②试说明分号、逗号、冒号的用法;答:分号:加上分号“;”其作用是将计算机结果存入内存,但不显示在屏幕上,反之,语句结尾若不加“;”,则表示在语句执行后,在将计算结果存入内存的同时,还将运算结果显示出来;逗号:分割列表冒号:从什么到什么,比如1:10意思是——1到10③linspace 称为“线性等分”函数,说明它的用法;可使用help命令,格式如下:>>help linspace④说明函数ones 、zeros 、eye 的用法;答;1ones函数:全部元素都为1的常数矩阵; 2zeros函数:全部元素都为0的矩阵; 3eye函数:单位矩阵;4linspace函数:如a=linspacen1,n2,n3,表示在线性空间上,行矢量的值从n1到n22 工作空间窗口Workspace;单击工作空间窗口右上角的按钮,将其从MATLAB 主界面分离出来;①在工作空间查看各个变量,或在命令窗口用who, whos注意大小写查看各个变量;②在工作空间双击变量,弹出Array Editor 窗口数组编辑器窗口,即可修改变量;③使用save 命令把工作空间的全部变量保存为文件;>>save④输入下列命令:>>clear all %清除工作空间的所有变量观察工作空间的变量是否被清空;使用load 命令把刚才保存的变量载入工作空间;>>load⑤清除命令窗口命令:>>clc3 历史命令窗口Command History;打开历史命令窗口,可以看到每次运行MATLAB 的时间和曾在命令窗口输入过的命令,练习以下几种利用历史命令窗口重复执行输入过的命令的方法;①在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择Copy,然后再Paste 到命令窗口;②在历史命令窗口中双击要执行的一行命令,或者选中要重复执行的一行或几行命令后,用鼠标将其拖动到命令窗口中执行;③在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择Evaluate Selection,也可以执行;④或者在命令窗口使用方向键的上下键得到以前输入的命令;例如,按方向键“↑”一次,就重新将用户最后一次输入的命令调到MATLAB 提示符下;重复地按方向上键“↑”,就会在每次按下的时候调用再往前一次输入的命令;类似地,按方向键“↓”的时候,就往后调用一次输入的命令;按方向键“←”或者方向键“→”就会在提示符的命令中左右移动光标,这样用户就可以用类似于在字处理软件中编辑文本的方法编辑这些命令;4 当前目录命令窗口Current Directory;MATLAB 的当前目录即是系统默认的实施打开、装载、编辑和保存文件等操作时的文件夹;打开当前目录窗口后,可以看到用“save”命令所保存的文件是保存在目录C:\MATLAB6p5\work 下;5 帮助窗口Help Window;单击工具栏的图标,或选择菜单View|Help,或选择菜单Help|MATLAB Help 都能启动帮助窗口;①通过Index 选项卡查找log2函数的用法,在Search index for 栏中输入需要查找的词汇“log2”,在左下侧就列出与之最匹配的词汇条目,选择“log21”,右侧的窗口就会显示相应的内容;②也可以通过Search 选项卡查找log2 函数的用法;Search 选项卡与Index 选项卡不同,Index 只在专用术语表中查找,而Search 搜索的是整个HTML 帮助文件;2. MATLAB 的数值显示格式设置屏幕显示方式有紧凑Compact和松散Loose两种,其中Loose 为默认方式;>>a=ones1,30>>format compact>>a数字显示格式有short、long、short e、long e 等,请参照教材的列表练习一遍;>>format long>>pi>>format short>>pi>>format long>>pi>>format +>>pi>>-pi3. 变量的搜索顺序在命令窗口中输入以下指令:>>pi>>sinpi;>>exist'pi'>>pi=0;>>exist'pi'>>pi>>clear pi>>exist'pi'>>pi思考题:① 3 次执行exist'pi'的结果一样吗如果不一样,试解释为什么答:不一样,pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clear pi之后所赋的值被清空,因此pi的值又成为②圆周率pi 是系统的默认常量,为什么会被改变为0答:pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clear pi之后所赋的值被清空,因此pi的值又成为实验二 MATLAB语言基础一、实验目的基本掌握MATLAB向量、矩阵、数组的生成及其基本运算区分数组运算和矩阵运算、常用的数学函数;交接字符串的操作;二、实验内容1 向量的生成和运算;2 矩阵的创建、引用和运算;3 多维数组的创建及运算;4 字符串的操作;三、实验步骤1.向量的生成和运算1 向量的生成直接输入法:A =2 3 4 5 6>> B=1;2;3;4;5B =12345冒号生成发:>> A=1:2:10 ,B=1:10 ,C=10:-1:1A =1 3 5 7 9B =1 2 3 4 5 6 7 8 9 10C =10 9 8 7 6 5 4 3 2 1函数法:Linspace 是线性等分函数,logspace 是对数等分函数;>> A=linspace1,10 ,B=linspace1,30,10A =Columns 1 through 9Columns 10 through 18Columns 19 through 27Columns 28 through 36Columns 37 through 45Columns 46 through 54Columns 55 through 63Columns 64 through 72Columns 73 through 81Columns 82 through 90Columns 91 through 99Column 100B =Columns 1 through 9Column 10>> A=logspace0,4,5A =1 10 100 1000 10000练习:使用logspace 创建1-4 的有10个元素的行向量;答案:>> A=logspace1,10,4piA =+010Columns 1 through 9Columns 10 through 122 向量的运算维数相同的行向量只见可以相加减,维数相同的列向量也可以相加减,标量可以与向量直接相乘除;>> A=1 2 3 4 5, B=3:7,A =1 2 3 4 5B =3 4 5 6 7>> AT=A', BT=B',AT =12345BT =34567>> E1=A+B, E2=A-BE1 =4 6 8 10 12E2 =-2 -2 -2 -2 -2 >> F=AT-BT,F =-2-2-2-2-2>> G1=3A, G2=B/3,G1 =3 6 9 12 15G2 =向量的点积与叉积运算;>> A=ones1,10;B=1:10; BT=B';>> E1=dotA,BE1 =55>> E2=ABTE2 =55>> clear>> A=1:3,B=3:5,A =1 2 3B =3 4 5>> E=crossA,BE =-2 4 -22.矩阵的创建、引用和运算1 矩阵的创建和引用矩阵是由nm 元素构成的矩阵结构,行向量和列向量是矩阵的特殊形式;直接输入法:>> A=1 2 3;4 5 6A =1 2 3 4 5 6 >> B= 1 4 72 5 83 6 9B =1 4 72 5 83 6 9 >> A1ans =1>> A4:endans =5 36 >> B:,1ans =123>> B:ans =123456789>> B5ans =5抽取法>> clear>> A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16A =1 2 3 45 6 7 89 10 11 1213 14 15 16>> B=A1:3,2:3B =2 36 710 11>> C=A1 3,2 4C =2 410 12>> A1 3;2 4ans =1 95 13函数法:>> A=ones3,4A =1 1 1 11 1 1 11 1 1 1>> B=zero3Undefined function or method 'zero' for input arguments of type 'double'. >> B=zeros3B =0 0 00 0 00 0 0>> C=eyes3,2Undefined function or method 'eyes' for input arguments of type 'double'. >> C=eye3,2C =1 00 10 0>> D=magic3D =8 1 63 5 74 9 2拼接法>> clear>> A=ones3,4A =1 1 1 11 1 1 1>> B=zeros3B =0 0 00 0 00 0 0>> C=eye4C =1 0 0 00 1 0 00 0 1 00 0 0 1>> D=A BD =1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 >> F=A;CF =1 1 1 11 1 1 11 1 1 10 1 0 0 0 0 1 0 0 0 0 1 拼接函数和变形函数法:>> clear>> A=0 1;1 1A =0 11 1>> B=2ones2B =2 22 2>> cat 1,A,B,Aans =0 11 12 22 20 11 1>> cat 2 A,B,Acat 2 A,B,AError: Unexpected MATLAB expression.>> cat2,A,B,Aans =0 1 2 2 0 11 12 2 1 1>> repmatA,2,2ans =0 1 0 11 1 1 10 1 0 11 1 1 1>> repmatA,2ans =0 1 0 11 1 1 10 1 0 11 1 1 1练习:使用函数法、拼接法、拼接函数法和变形函数法,按照要求创建以下矩阵:A为43⨯的3⨯的单位矩阵、D为33⨯的0矩阵/C为33⨯的全1矩阵、B为3魔方阵、E由C 和D纵向拼接而成,F抽取E的2---5行元素生成、G由F经变形为46⨯的大3⨯的矩阵而得、以G为子矩阵用复制函数repmat生成8矩阵H;答案:>> A=ones3,4A =1 1 1 11 1 1 11 1 1 1>> B=zeros3,3B =0 0 00 0 00 0 0>> C=eye3C =1 0 00 1 00 0 1>> D=magic3D =8 1 63 5 74 9 2>> E=C;DE =1 0 00 1 00 0 18 1 63 5 74 9 2>> F=2:5,:F=2:5,:Error: Expression or statement is incorrect--possibly unbalanced , {, or . >> F=E2:5,:F =0 1 00 0 18 1 63 5 7>> G=respaceE,3,4Undefined command/function 'respace'.>> G=respaceF,3,4Undefined command/function 'respace'.>> G=reshapeF,3,4G =0 3 1 10 1 5 68 0 0 7>> H=repmatG,2,2H =0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 2)矩阵的运算矩阵的加减、数乘与乘法已知矩阵:>> A=1 23 -1,A =1 23 -1>> B=-1 01 2B =-1 01 2>> A+Bans =0 24 1>> 2Aans =2 46 -2>> 2A-3Bans =5 43 -8>> ABans =1 4-4 -2矩阵的逆矩阵>> format rat;A=1 0 1;2 1 2;0 4 61 0 12 1 2 0 4 6 >> A1=invAA1 =-1/3 2/3 -1/6 -2 1 0 4/3 -2/3 1/6 >> AA1ans =1 0 0 0 1 0 0 0 1 矩阵的除法>> a=1 2 1;3 1 4;2 2 1,b=1 1 2,d=b'a =1 2 1 3 1 42 2 1b =1 1 2112>> c1=binva,c2=b/ac1 =6/7 3/7 -4/7 c2 =6/7 3/7 -4/7 >> c3=invad, c4=a\bc3 =12/7-4/7Error using ==> mldivideMatrix dimensions must agree.>> c3=invad, c4=a\dc3 =12/7-4/7c4 =12/7-4/7练习:按下列要求求出各种的矩阵运算的值求矩阵的秩、特征值和特征向量、矩阵的乘幂与开方;矩阵的指数与对数矩阵的提取与翻转答案:>> A=6 3 4 3-2 5 7 -48 -1 -3 -7A =6 3 4 3-2 5 7 -48 -1 -3 -7>> B=rankAB =3>> rb=rankArb =3>> X,Lamda=eigAError using ==> eigMatrix must be square.>> X,Lamda=eigsAError using ==> eigsA must be a square matrix or a function which computes Ax. >> C=6 3 4-2 5 78 -1 -3C =6 3 4-2 5 78 -1 -3>> X,Lamda=eigsCX =Lamda =0 00 00 0>> X,Lamda=eigCX =Lamda =0 0 0 0 0 0 >> X,Lamda=eigCX =Lamda =0 0 0 0 0 0 >> D=A^2Error using ==> mpower Matrix must be square. >> D=C^2D =34 12 626 22 34>> E=sqrtmCE =+ - -+ - -- + +>> F=expmCF =+004>> G=logmCWarning: Principal matrix logarithm is not defined for A with nonpositive real eigenvalues. A non-principal matrix logarithm is returned.> In funm at 153In logm at 27G =+ - -- + + >> H=fliplrCH =4 3 6 75 -2 -3 -1 8 >> I=triuCI =6 3 4 0 57 0 0 -3 >> J=trilCJ =6 0 0 -2 5 0 8 -1 -3 >> K=diagCK =65-33.多维数组的创建及运算1)多维数组的创建>> A1=1,2,3;4 5 6;7,8,9;A2=reshape10:18,3,3 A2 =10 13 1611 14 1712 15 18>> T1:,:,1=ones3;T1:,:,2=zeros3T1:,:,1 =1 1 11 1 11 1 1T1:,:,2 =0 0 00 0 00 0 0>> T2=ones3,3,2T2:,:,1 =1 1 11 1 11 1 1T2:,:,2 =1 1 11 1 11 1 1>> T3=cat3,A1,A2,T4=repmatA1,1,1,2T3:,:,1 =1 2 34 5 67 8 9T3:,:,2 =10 13 1611 14 1712 15 18T4:,:,1 =1 2 34 5 67 8 9T4:,:,2 =1 2 34 5 67 8 92)多维数组的创建数组运算用小圆点加在运算符的前面表示,以区分矩阵的运算;特点是两个数组相对应的元素进行运算;>> A=1:6;B=ones1,6;>> C1=A+B,C2=A-BC1 =2 3 4 5 6 7C2 =0 1 2 3 4 5 >> C3=A.B,C4=B./A,C5=A.\BC3 =1 2 3 4 5 6C4 =C5 =关系运算或逻辑运算的结果都是逻辑值;>> I=A>3,C6=AII =0 0 0 1 1 1C6 =4 5 6>> A1=A-3,I2=A1&AA1 =-2 -1 0 1 2 3 I2 =1 1 0 1 1 1>> I3=~II3 =1 1 1 0 0 0 4.字符串的操作1 字符串的创建>> S1='Ilike MATLAB'S1 =Ilike MATLAB>> S2='I''m a stuent.'S2 =I'm a stuent.>> S3=S2,'and',S1S3 =I'm a MATLAB2)求字符串长度>> lengthS1ans =12>> sizeS1ans =1 123)字符串与一维数值数组的相互转换>> CS1=absS1CS1 =73 108 105 107 101 32 77 65 84 76 65 66>> CS2=doubleS1CS2 =73 108 105 107 101 32 77 65 84 76 65 66>> charCS2ans =Ilike MATLAB>> setstrCS2ans =Ilike MATLAB练习:用char 和向量生成的方法创建如下字符串AaBbCc......XxYyZz.>> S1=65:90;S2=97:122;>> C=S1;S2;>> C=C:';>> S3=doubleC;charS3ans =AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvWwXxYyZz实验三 MALTAB数值运算一、实验目的掌握MATLAB的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作;二、实验内容1)多项式运算;2)多项式插值和拟合;3)数值为积分;4)结构数组和细胞数组;三、实验步骤1、多项式运算1)多项式表示;在MATLAB中,多项式表示成向量的形式;如:432S S S+-+在MATLAB中表示为359>> s=1 3 -5 0 92)多项式的加减法相当于向量的加减法,但必须注意阶次要相同;如不同,低阶次的要补0;如多项式23547+-++相加;s s s s++与多项式432239s s>> s1=0 0 2 3 11>> s2=1 2 -5 4 7>> s3=s1+s2答;s1 =0 0 2 3 11s2 =1 2 -5 4 7s3 =1 2 -3 7 183)多项式的乘、除法分别用函数conv和的deconv实现; >> s1=2 3 11>> s2=1 3 -5 4 7>> s3=convs1,s2>> s4=deconvs3,s1答;s1 =2 3 11s2 =1 3 -5 4 7s3 =2 9 10 26 -29 65 77s4 =1 3 -5 4 74)多项式求根用函数roots;>> s1=2 4 2>> rootss1答;s1 =2 4 2ans =-1-15)多项式求值用函数polyval>> s1=2 4 1 -3>> polyvals1,3>> x=1:10>> y=polyvals1,x答;s1 =2 4 1 -3ans =90x =1 2 3 4 5 6 7 8 9 10y =Columns 1 through 84 31 90 193 352 579 886 1285 Columns 9 through 10练习:求23(1)(3)(1)21s s ss s+++++的“商”及余数;>> s1=1 0 1;s2=1 3;s3=1 1;>> s4=1 0 2 1;>> q,r=deconvconvconvs1,s2,s3,s4答;q =1 4r =0 0 2 -5 -12、多项式插值和拟合有一组实验数据如附表1-1所示;附表1-1分别用拟合二阶至三阶和插值线性和三次样条的方法来估算X=时Y的值;以下是实现一阶拟合的语句;>> x=1:10>> y=16 32 70 142 260 436 682 1010 1342 1960>> p1=polyfitx,y,1 %一阶拟合>> y1=polyvalp1, %计算多项式P1在x=的值答;x =1 2 3 4 5 6 7 8 9 10y =Columns 1 through 816 32 70 142 260 436 682 1010Columns 9 through 101342 1960p1 =y1 =+0033、数值微积分1)差分使用diff函数实现;>> x=1:2:9>> diffx答;x =1 3 5 7 9ans =2 2 2 22)可以用因变量和自变量差分的结果相处得到数值微分;>> x=linspace0,2pi,100;>> y=sinx;>> plotx,y>> y1=diffy./diffx;>> plotx1:end-1,y1答;3)cumsum函数求累计积分,trapz函数用梯形法求定积分,即曲线的面积;>> x=ones1,10>> cumsumx>> x=linspace0,pi,100;>> y=sinx;>> trapzx,y>> p=cumsumy;>> p100pi/100-1答;x =1 1 1 1 1 1 1 1 1 1ans =1 2 3 4 5 6 7 8 9 10ans =ans =练习:图A1是瑞士地图,为了算出其国土面积,首先对地图作如下测量:以由西向东方向为X轴,由南向北方向为Y 轴,选择方便的原点,并将从最西边界点到最东边界点在X轴上的区间适当划分为若干段,在每个分点的Y方向测出南边界点和北边界点的Y坐标Y1和Y2,这样就得到表1,根据地图比例尺回到18mm相当于40Km,试由测量数据计算瑞士国km比较;地图的数据见附表1-2单位mm;土近似面积,与其精确值412282附表1-2X 7 13 34 48 56 61 91Y1 44 45 47 50 50 38 30 30 34 36 34 41 45 46续表提示:由高等数学的知识,一条曲线的定积分是它与x轴所围成的面积,那么两条曲线所围成的面积可由两条曲线的定积分相减得到;4、结构数组与细胞数组1)机构数组的创建;>> ='Jack';>> student2.n>> ='Lucy';>> student或者用struct函数创建;>> student=struct'number',{'001','002'},'name',{'Jack','Lucy'};答;student =1x2 struct array with fields:numbername2)机构数组的操作;>> student1.subject= %添加subject域并赋予空值>> student1.score=>> filednamesstudeng>>fieldnamesstudeng>>fieldnamesstudent>> getfieldstudent,{2},'name'>> student=rmfieldstudent,'subject' %删除subject域>> student=setfieldstudent,{1},'score',90;>> student2.score=88; %比较和上一条语句是否效果一样答;student =1x2 struct array with fields:numbernamesubjectstudent =1x2 struct array with fields:numbernamesubjectscoreUndefined function or variable 'studeng'.练习:创建一结构数组stusorce,其域为:No,Name,English,Math,Chinese,Total,Average;结构数组的大小为2×2;3)细胞数组的创建;>> A={'How are you',ones3;1 2;3 4,{'cell'}}; %直接创建>> B1,1={'Hello world'}; %由各个细胞元素创建>> B1,2={magic3};>> B2,1={1 2 3 4};答或者用cell函数先创建空的细胞数组,然后再给各个元素赋值c=cell1,2;>> c1,1={'Hello world'};>> c1,2={magic3};>> c1,3={1 2 3 4};4)细胞数组的操作;>> ans1=A1,1>> ans2=A1,1>> whos ans1 ans2>> celldispA>> a1=A{2,1}1,2>> a2 a3=dealA{1:2}答;ans1 ='How are you'ans2 ='How are you'Name Size Bytes Class Attributesans1 1x1 84 cellans2 1x1 84 cellA{1,1} =How are youA{2,1} =1 23 4A{1,2} =1 1 11 1 11 1 1A{2,2}{1} =cella1 =2a2 =How are youa3 =1 23 4实验四 MALTAB符号运算一、实验目的掌握符号变量和符号表达式的创建,掌握MALTAB的symbol工具箱的一些基本运用;二、实验内容1)符号变量、表达式、方程及函数的表示; 2)符号微积分运算;3)符号表达式的操作和转换;4)符号微分方程求解;三、实验步骤1、符号运算的引入在数值运算中如果求x xxπsinlim→,则可以不断让的让x趋近0,一球的表达式趋近什么数,但终究不能令x=0,因为在数值运算中0不是能作除数的;MATLAB的符号运算能解决这内问题;输入如下命令:>> f=sym'sinpix/x'>> limitf,'x',0答;f =sinpix/xans =pi2、符号常量、符号变量、符号表达式的创建1)使用sym创建输入以下命令,观察Workspace中A、B、f是什么内性的数据,占用多少字节的内存空间;>> A=sym'1' %符号常量>> B=sym'x' %符号变量>> f=sym'2x^2+3x-1' %符号表达式>> clear>> f1=sym'1+2' %有单引号,表示字符串>> f2=sym1+2 %无单引号>> f2=sym1+2>> f4=sym'2x+3' %为什么出错>> x=1>> f4=sym2x+3答;A =1B =x2x^2+3x-1f1 =1+2f2 =3f2 =3f4 =2x+3x =1f4 =5通过看MATLAB的帮助可知,sym的参数可以使字符串或是数值类型,无论是哪种类型都会生成符号类型数据; 2)使用syms创建>> clear>> syms x y z>> x,y,z>> f1=x^2+2x+1>> f2=expy+expz^2>> f3=f1+f2答;x =xy =yz =zf1 =x^2+2x+1f2 =expy+expz^2f3 =x^2+2x+1+expy+expz^23、符号矩阵创建>> syms a1 a2 a3 a4>> A=a1 a2;a3 a4>> A1,A3答;A =a1, a2a3, a4ans =a1a24、符号算术运算1)符号向量相乘、相除符号量相成和数值量相乘一样,分成矩阵乘和数组乘;>> a=sym5;b=sym7;>> c1=ab>> c2=a/b>> a=sym5;B=sym3 4 5;>> C1=aB,C2=a\B>> syms a b>> A=5 a;b 3;B=2a b;2b a;>> C1=AB,C2=A.B>> C3=A\B,C4=A./B答;c1 =35c2 =5/7C1 =15, 20, 25C2 =3/5, 4/5, 1C1 =10a+2ab, 5b+a^22ab+6b, b^2+3aC2 =10a, ab2b^2, 3aC3 =2ab-3/-15+ab, a^2-3b/-15+ab2ba-5/-15+ab, -5a-b^2/-15+abC4 =5/2/a, a/b1/2, 3/a2)符号数值任意精度控制和运算任意精度的VPA运算可以使用命令digits设定默认的精度和vpa对指定对象以新的精度进行计算来实现; >> a1=sym'2sqrt5+pi'>> a=sym'2sqrt5+pi'>> b=sym2sqrt5+pi>> digits>> vpaa>> digits15>> c1=vpaa,56>> c2=vpab,56答a1 =2sqrt5+pia =2sqrt5+pib =Digits = 32ans =ans =c1 =c2 =注意观察c1和c2的数值类型,c1和c2是否相等;3) 符号类型与数值类型的转换使用命令sym 可以把数值型对象转换成有理数性符号对象,命令vpa 可以讲数值型对象转换为任意精度的VPA 型符号对象;使用double,numeric 函数可以将有理数型和VPA 型符号对象转换成数值对象.>> clear>> a1=sym'2sqrt5+pi'>> b1=doublea1 %符号转数值>> b2=isnumericb1 %判断是否转换成了数值>> a2=vpaa1,70 %数值转符号答;a1 =2sqrt5+pib1 =b2 =1a2 =85、 符号表达式的操作和转换1独立变量的确定原则独立变量的确定原则:在符号表达式中默认变量是惟一的;MATLAB 会对单个英文小写字母除i 、j 外进行搜索,且以x 为首选独立变量;如果表达式中字母不唯一,且无x,就选在字母表最接近x 的字母;如果有相连的字母,则选择在字母表中较后的那一个;例如:'*3'z y +中,y 是默认独立变量;)'*sin('b t a +,t 是默认独立变量;输入以下命令,观察并分析结果;>> clear>> f=sym'a+b+i+j+x+y+xz'>> findsymf>> findsymf,1>> findsymf,2>> findsymf,3>> findsymf,4>> findsymf,5>> findsymf,6答;f =a+b+i+j+x+y+xzans =a, b, j, x, xz, yans =xans =x,xzans =x,xz,yans =x,xz,y,jans =x,xz,y,j,bans =x,xz,y,j,b,a2符号表达式的化简符号表达式化简主要包括表达式美化pretty 、合并同类项collcet 、多项式展开expand 、因式分解factor 、化简simple 或simplify 等函数;①合并同类项collect;分别按x 的同幂项和e 指数同幂项合并表达式: 2(1)()t t x xe x e --+++;>> syms x t;>> f=x^2+x^exp-t+1x+exp-t;>> f1=collectf>> f2=collectf,'exp-t'答;f1 =x^3+exp-tx^2+x^exp-t+1x+x^exp-t+1exp-tf2 =x^2+x^exp-t+1exp-t+x^2+x^exp-t+1x②对显示格式加以美化pretty;针对上例,用格式美化函数可以使显示的格式更符合数学书写习惯;>> prettyf1>> prettyf2答;f1 =x^3+exp-tx^2+x^exp-t+1x+x^exp-t+1exp-tf2 =x^2+x^exp-t+1exp-t+x^2+x^exp-t+1x>> prettyf1prettyf23 2 exp-t exp-tx + exp-t x + x + 1 x + x + 1 exp-t2 exp-t 2 exp-tx + x + 1 exp-t + x + x + 1 x注意与直接输出的f1和f2对比;③多项式展开expand;展开12x-成x不同次幂的多项式.(1)>> syms x>> f=x-1^12;>> expandf>> prettyexpandf答;ans =1+x^12-12x^11+66x^10-220x^9+495x^8-792x^7+924x^6-792x^5+495x^4-220x^3+66x^2-12x 12 11 10 9 8 7 6 51 + x - 12 x + 66 x - 220 x + 495 x - 792 x + 924 x - 792 x4 3 2+ 495 x - 220 x + 66 x - 12 x④因式分解factor;将表达式121x-做因式分解;>> syms x;f=x^12-1;>> prettyfactorf答;ans =1+x^12-12x^11+66x^10-220x^9+495x^8-792x^7+924x^6-792x^5+495x^4-220x^3+66x^2-12x 12 11 10 9 8 7 6 51 + x - 12 x + 66 x - 220 x + 495 x - 792 x + 924 x - 792 x4 3 2+ 495 x - 220 x + 66 x - 12 x>> syms x;f=x^12-1;prettyfactorf2 2 2 4 2x - 1 1 + x + x 1 + x 1 - x + x 1 + x x - x + 1⑤化简simple或simplify;将函数f=;>> clear>> syms x;f=1/x^3+6/x^2+12/x+8^1/3;>> g1=simplef>> g2=simplifyf答;g1 =2x+1/xg2 =2x+1^3/x^3^1/36、符号表达式的变量替换subs函数可以对符号表达式中的符号变量进行替换>> clear>> f=sym'x+y^2+4x+10'>> f1=subsf,'x','s' %使用s替换x>> f2=subsf,'x+y','z'答;f =x+y^2+4x+10f1 =s+y^2+4s+10f2 =z^2+4x+107、符号极限、符号积分与微分1)求极限函数的调用格式limitF,x,a %返回符号对象F当x→a时的极限limitF,a %返回符号对象F当独立变量→a时的极限limitF %返回符号对象F当独立变量→0a=0时的极限limitF,x,a,’right’ %返回符号对象F当x→a时的右极限limitF,x,a,’left’ %返回符号对象F当x→a时的左极限例一:>> clear>> f=sym'sinx/x+ax'>> limitf,'x',0 %以x为自变量求极限>> limitf,'a',0 %以a为自变量求极限>> limitf %在默认情况下以x为自变量求极限>> findsymf %得到变量并且按字母表顺序排列答‘f =sinx/x+axans =1ans =sinx/xans =1ans =a, x例二:>> clear>> f=sym'sqrt1+1/n;>> limitf,n,inf %求n趋于无穷大时的极限2)求积分函数的调用格式intF %求符号对象F关于默认变量的不定积分intF,v %求符号对象F关于指定变量v的不定积分intF,a,b %求符号对象F关于默认变量的从a到b的定积分intF,v,a,b %求符号对象F关于指定变量的从a到b的定积分3)求微分方程的调用格式diffF %求符号对象F关于默认变量的微分diffF,v %求符号对象F关于指定变量v的微分diffF,n %求符号对象F关于默认变量的n阶微分,n为自然数1、2、3……diffF,v,n %求符号对象F关于指定变量v的n阶微分8、符号方程求解1常规方程求解函数的调用格式g=solveeq %求方程或表达式或字串eq关于默认变量的解g=solveeq,var %求方程或表达式或字串eq关于指定变量var的解g=solveeq1,eq2,….,eqn,var1,var2,…,varn %求方程或表达式或字串eq1,eq2,eq3,……eqn关于指定变量组var1,var2,……,varn的解求一元二次方程20++=的解;其求解方法有多种形式:ax bx c①seq=solve'ax^2+bx+c'②seq=solve'ax^2+bx+c=0'③eq=’ax^2+bx+c’;④eq=’ax^2+bx+c=0’;seq=solveeq⑤sym x a b ceq=ax^2+bx+cseq=solveeq2常微分方程求解求解常微分方程的函数是dsolve;应用此函数可以求得常微分方程组的通解,以及给定边界条件或初始条件后的特解;常微分方程求解函数的调用格式:r=dsolve’eq1,eq2,…’,’cond1,cond2,…’,’v’r=dsolve’eq1’,’eq2’,…,’cond1’,’cond2’,…,’v’说明:①以上两式均可给出方程eq1,、qeq2对应初始条件cond1、cond2之下的一v 作为解变量的各微分方程的解; ②常微分方程解的默认变量为t;③第二式中最多可接受的输入式是12个;④微分方程的表达方法;在用MATLAB 求解常微分方程时,用大写字母Dy 表示dxdy ,用D2y 表示22d y dx ,依此类推; 边界条件以类似于ya=b 给出;其中y 为因变量,a 、b 为常数.如果初始条件给的不够,求出的解为含有C1、C2等待定常数的通解;例一 求微分方程x dx dy 2=的通解. 练习:1求222132lim x x x x →--+; 2求函数()cos 2sin 2f x x x =-的积分;求函数()g x =3计算定积分60(sin 2)x dx π+⎰ 4求下列线性方程组的解5求解但y0=2,在z0=7时,微分方程组的解;实验五 MATLAB 程序设计一、实验目的掌握MATLAB 程序设计的主要方法,熟练编写MATLAB 函数.二、 实验内容1M 文件的编辑;。
MATLAB上机实验实验报告
MATLAB上机实验实验报告实验名称:用MATLAB实现多项式拟合及插值一、实验目的:通过使用MATLAB实现多项式拟合及插值的方法,掌握MATLAB软件的基本操作和函数应用,进一步了解多项式拟合及插值的原理和实现过程。
二、实验原理:多项式拟合及插值是一种常见的数值分析方法,通过对已知数据点集合的拟合或插值,构造出一个多项式函数,用于近似表示原始数据。
1.多项式拟合:通过最小二乘法原理,选择一个合适的多项式函数,使得拟合出的多项式与已知数据点之间的误差最小。
拟合函数可以是一次、二次或高阶多项式。
2.多项式插值:通过已知数据点的横纵坐标值,构造一个满足这些点的多项式函数。
插值函数可以是一次、二次或高阶多项式。
插值函数经过每个已知数据点。
三、实验步骤:1.数据准备:选择一组已知数据,包含横纵坐标值。
数据点的个数可以根据具体情况自行确定。
2.多项式拟合:使用MATLAB中的polyfit函数,根据已知数据点进行多项式拟合。
根据拟合结果,获取拟合的多项式系数。
3.多项式插值:使用MATLAB中的polyfit函数,根据已知数据点进行多项式插值。
通过plot函数绘制原始数据点的散点图和插值多项式的曲线图。
可以尝试不同阶数的多项式插值。
4.结果分析:根据实验结果,分析拟合与插值的效果。
对比拟合结果与原始数据的误差大小,评估拟合的准确性。
对比插值结果与原始数据的差异,评估插值的精确度。
五、实验总结:通过这次实验,我熟练掌握了使用MATLAB实现多项式拟合及插值的方法。
在实验中,我了解了多项式拟合的原理,以及如何利用最小二乘法求取多项式拟合的系数。
同时,我也学会了如何使用MATLAB中的polyfit函数实现多项式拟合和插值。
通过实验结果的分析,我对拟合和插值的实际应用和效果有了更加深入的认识。
[1]MATLAB官方文档[2]高等数值分析教程以上为MATLAB上机实验实验报告,共计1200字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 与数值分析实验报告(五)
沈汉男
一、实验的性质和任务
通过上机实验,使学生对数值积分、微分方程求解方法有一个初步的理解。
二、实验内容
1.选用复合Simpson 公式,计算
并用Matlab 的符号运算工具箱计算其精确值。
比较结果,找出问题原理,提出解决问题的方法。
2.求积分方程
t t e ds s y e e t y --=⎰10
)(12)(的数值解和精确解,分析二者的差异。
3.利用Euler 法对不同的步长求下面初值问题的数值解:
⎩⎨⎧=-=10
)0(20)()('y t y t y 并通过绘图,与方程的解析解进行比较。
三、实验过程
实验1
a.实验过程:
(1)、创建文件simpr1.m 如下:
function s=simpr1(f,a,b,n)h=(b-a)/(2*n);s1=0;s2=0;for k=1:n x=a+h*(2*k-1);s1=s1+feval('f',x);end for k=1:(n-1)x=a+h*2*k;s2=s2+feval('f',x);end s=h*(feval('f',a)+feval('f',b)+4*s1+2*s2)/3
dx
x x ⎰--+1
1)1ln()1ln(
创建文件f.m 如下:
function y=f(x)y=(log(1+x))*(log(1-x));
在主界面中输入
simpr1('f',-1,1,10)
所得结果为:
s =
-Inf
ans =
-Inf
(2)在主界面中输入程序
clear all
syms x
y=int(log(1+x)*log(1-x),'x','-1','1')
eval(y)
所得结果为
y =
2*log(2)^2-pi^2/3-log(16)+4
ans =
-1.1016
b.实验结果分析:
由上面的实验结果可以看出有时候复合Simpson 公式并不能求出所需解实验2:
a.实验过程:原积分方程为
t t e ds s y e e t y --=⎰10
)(12)(对其进行化简和变形,得:
⎪⎩
⎪⎨⎧+==21)0('
e y y y 原问题转化为一个常微分初值问题。
创建文件Euler_1.m:
function E=Euler_1(fun,x0,y0,xN,N) x=zeros(1,N+1);y=zeros(1,N+1);
x(1)=x0;y(1)=y0;
h=(xN-x0)/N;
for n=1:N
x(n+1)=x(n)+h;
y(n+1)=y(n)+h*feval(fun,x(n),y(n)); end
T=[x',y']
plot(0:N,0:N,x,y,'o',x,y,'-')
创建文件f.m:
function z=f(x,y)
z=y;
在主界面中输入
Euler_1('f',-5,(exp(1)+1)/2,5,10),
其结果为:T=
1.0e+003*
-0.00500.0019
-0.00400.0037
-0.00300.0074
-0.00200.0149
-0.00100.0297
00.0595
0.00100.1190
0.00200.2380
0.00300.4759
0.00400.9519
0.0050 1.9038
其解析解为:
t e
y
图像为:
b.实验结论:
Euler公式能够较精确的求出常微分方程的解实验3:
a.实验过程:
创建文件Euler_1.m:
function E=Euler_1(fun,x0,y0,xN,N) x=zeros(1,N+1);y=zeros(1,N+1);
x(1)=x0;y(1)=y0;
h=(xN-x0)/N;
for n=1:N
x(n+1)=x(n)+h;
y(n+1)=y(n)+h*feval(fun,x(n),y(n)); end
T=[x',y']
plot(0:N,0:N,x,y,'o',x,y,'-')
创建文件f.m:
function z=f(x,y)
z=y-20;
在主界面中输入
Euler_1('f',-10,10,10,10)
所的结果为:
T=
-1010
-8-10
-6-70
-4-250
-2-790
0-2410
2-7270
4-21850
6-65590
8-196810
10-590470在主界面中输入
Euler_1('f',-10,10,10,20)所的结果为:T=
-1010
-90
-8-20
-7-60
-6-140
-5-300
-4-620
-3-1260
-2-2540
-1-5100
0-10220
1-20460
2-40940
3-81900
4-163820
5-327660
6-655340
7-1310700
8-2621420
9-5242860
10-10485740在主界面中输入
Euler_1('f',-10,10,10,30)
所的结果为:
T=
1.0e+007*
-0.00000.0000
-0.00000.0000
-0.0000-0.0000
-0.0000-0.0000
-0.0000-0.0000
-0.0000-0.0000
-0.0000-0.0000
-0.0000-0.0000
-0.0000-0.0001
-0.0000-0.0001
-0.0000-0.0002
-0.0000-0.0003
-0.0000-0.0005
-0.0000-0.0008
-0.0000-0.0013
-0.0000-0.0021
0.0000-0.0035
0.0000-0.0059
0.0000-0.0098
0.0000-0.0164
0.0000-0.0273
0.0000-0.0456
0.0000-0.0760
0.0000-0.1266
0.0000-0.2110
0.0000-0.3517
0.0000-0.5862
0.0000-0.9770
0.0000-1.6284
0.0000-2.7140
0.0000-4.5234
原方程解析解为:
t e
=20
y-
其图像为:
b.实验结果分析:
用Euler公式求解常微分方程处置问题时,
步长越短,其数值解越接近其解析解。