实验二 MATLAB中的数值计算与程序设计
MATLAB数值与符号运算

z2=polyval(p2,a2)
3.题
P1=[1,2,4,0,5];
P2=[1,0];
P3=[1,2,3];
1) P4=conv(P2,P3)
P4=[0,1,2,3,0];
P=P1+P4
2) x=roots(P)
3) A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];
a1=0:1:90;
y1=interp1(t,x1,a1,'spline')
x2=[0,0.2679,0.5774,1.0000,1.7320,3.7320,NaN];
a2=0:1:75;
y2= interp1(t,x2,a2,'spline')
p1=polyfit(t,x1,5);
z1=polyval(p1,a1)
(2)A的最大元素和最小元素。
(3)求A每行元素的和以及全部元素之和。
(4)分别对A的每列元素按升序、每行元素按降序。
2.按要求对指定函数进行插值和拟合。
(1)按表5-4所示用3次样条方法插值计算0~90度内整数点的正弦值和0~75度内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。
Y=polyval(P,A)
4) Z=polyvalm(P,A)
表5-5 1~100内特殊值得平方根表
N
1
4
9
16
25
36
49
64
81
100
√N
1
2
3
4
5
6
789源自103.有两个多项式P1=x^4+2*x63+4*x^2+5,P2(x)=x+2;P3(x)=x^2+2*x+3,试进行下列操作:
高等数学:MATLAB实验

MATLAB实验
2.fplot绘图命令 fplot绘图命令专门用于绘制一元函数曲线,格式为:
fplot('fun',[a,b]) 用于绘制区间[a,b]上的函数y=fun的图像.
MATLAB实验 【实验内容】
MATLAB实验
由此可知,函数在点x=3处的二阶导数为6,所以f(3)=3为 极小值;函数在点x= 1处的二阶导数为-6,所以f(1)=7为极大值.
MATLAB实验
例12-10 假设某种商品的需求量q 是单价p(单位:元)的函 数q=12000-80p,商 品的总成本C 是需求量q 的函数 C=25000+50q.每单位商品需要纳税2元,试求使销售 利润达 到最大的商品单价和最大利润额.
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验 实验九 用 MATLAB求解二重积分
【实验目的】 熟悉LAB中的int命令,会用int命令求解简单的二重积分.
MATLAB实验
【实验M步A骤T】 由于二重积分可以化成二次积分来进行计算,因此只要
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
实验七 应用 MATLAB绘制三维曲线图
【实验目的】 (1)熟悉 MATLAB软件的绘图功能; (2)熟悉常见空间曲线的作图方法.
【实验要求】 (1)掌握 MATLAB中绘图命令plot3和 mesh的使用; (2)会用plot3和 mesh函数绘制出某区间的三维曲线,线型
MATLAB程序设计与应用(刘卫国编)课后实验答案

实验一 MATLAB 运算基础1. 先求以下表达式的值,然后显示MATLAB 工作空间的利用情形并保留全数变量。
(1) 0122sin851z e=+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求以下表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C的右下角3×2子矩阵赋给D。
(3) 查看MATLAB工作空间的利用情形。
解:. 运算结果:4. 完成以下操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 成立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 成立一个字符串向量例如:ch='ABC123d4e56Fg9';那么要求结果是:实验二 MATLAB 矩阵分析与处置1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 别离为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
MATLAB实验程序

实验一要求: 查看matlab 的版本代码:version结果:ans =7.1.0.246 (R14) Service Pack 31.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1)z 1=2185sin 2e+z1=(2*sin(85*pi/180))/(1+exp(2))z =0.2375(2)z 2=⎥⎦⎤⎢⎣⎡+=++545.0-i 212其中),1ln(212x x x x=[2,1+2*i;-0.45,5]x =2.0000 1.0000 + 2.0000i-0.4500 5.0000>> z2=1/2*log(x+sqrt(1+x*x))z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044i(3)z 3=23.0ln )3.0sin(23.03.0a a e e aa +++--,a=-3.0,-2.9,-2.8, …3.0 提示:用冒号表达式生成a 向量,求各点的函数值时用点乘计算。
a=[-3.0:0.1:3.0]z3=1/2.*((exp(0.3.*a)-exp(-0.3.*a))).*sin(a+0.3)+log((0.3+a).*1/2)(4)z 4=⎪⎩⎪⎨⎧<≤+-<≤-<≤32,12,21,110,222t t t t t t t 其中t=0:0.5:2.5提示:用逻辑表达式求分段函数值。
t=0:0.5:2.5t =0 0.5000 1.0000 1.5000 2.0000 2.5000>> z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3) z4 =0 0.2500 0 1.2500 1.0000 2.25002.已知:A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡7653877344-3412,B=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡72-3321-31求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵) A=[12,34,-4;34,7,87;3,65,7]A =12 34 -434 7 873 65 7>> B=[1,3,-1;2,0,3;3,-2,7]B =1 3 -12 0 33 -2 7>> A+6*Bans =18 52 -1046 7 10521 53 49>> I=eye(size(A))I =1 0 00 1 00 0 1>> A-B+Ians =12 31 -332 8 840 67 1(2)A*B和A.*BA*Bans =68 44 62309 -72 596154 -5 241>> A.*Bans =12 102 468 0 2619 -130 49(3)A^3和A.^3A^3ans =37226 233824 48604247370 149188 60076678688 454142 118820>> A.^3ans =1728 39304 -6439304 343 65850327 274625 343(4)A/B和B\AA/Bans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000>> B/Aans =0.1027 -0.0062 -0.00690.0617 0.0403 -0.03660.0205 0.0855 -0.0507(5)[A,B]和[A([1,3],:);B^2][A,B]ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7>> [A([1,3],:);B^2]ans =12 34 -43 65 74 5 111 0 1920 -5 403.设有矩阵A和BA=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡25242322212019181716151413121110987654321,B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡111340794-23096-171603 (1) 求它们的乘积C 。
MATLAB程序设计

MATLAB程序设计MATLAB提供了一个完善的程序设计语言环境,使用户能够方便地编制复杂的程序,完成各种计算。
本节先介绍关系运算、逻辑运算,再介绍M-文件(即程序文件)的结构及MATLAB的程序控制流语句。
一、关系运算和逻辑运算1.关系运算(1)关系运算符:< ;< = ;> ;> = ;= = ;~ =(2)关系表达式:用关系运算符将两个同类型的量(表达式)连接起来的式子。
【注】①关系运算本质上是标量运算,关系表达式的值是逻辑值(0-假1-真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。
例1.对向量进行关系运算。
>> A=1:5,B=5:-1:1 % 输入向量A = 1 2 3 4 5B = 5 4 3 2 1>> C=(A>=4) % 对向量进行关系运算C = 0 0 0 1 1>> D=(A==B) % 对向量进行关系运算D = 0 0 1 0 02.逻辑运算(1)逻辑运算符:& (and,与)、| (or,或)、~ (not,非)(2)逻辑表达式:用逻辑将两个逻辑量连接起来的式子。
【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。
(真值表见P27)例2.对向量进行逻辑运算。
>> a=1:9,b=9-aa = 1 2 3 4 5 6 7 8 9b = 8 7 6 5 4 3 2 1 0>> c=~(a>4) % 非运算c = 1 1 1 1 0 0 0 0 0>> d=(a>=3)&(b<6) % 与运算d = 0 0 0 1 1 1 1 1 13.逻辑函数any(x) 向量x 中有非零元返回1,否则返回0。
(向量函数) all(x) 向量x 中所有元素非零返回1,否则返回0。
matlab实验

实验一 MATLAB基本操作一、实验目的1、了解MATLAB应用程序环境2、掌握MATLAB语言程序的书写格式和MATLAB语言程序的结构。
3、掌握在MATLAB应用环境下编写程序4、掌握MATALB调试过程,帮助文件5、掌握MATLAB语言上机步骤,了解运行一个MATLAB程序的方法。
6、本实验可在学习完教材第一章后进行。
二、主要仪器及耗材PC电脑,MATLAB6.5软件三、实验内容和步骤1、MATLAB语言上机步骤:(1)、进入系统在C盘或其他盘上找到MATLAB或MATLAB6.5,然后双击其图标打开文件夹。
然后进行编辑源程序->编译->连接->执行程序->显示结果(2)、常用命令编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
2、有下面的MATLAB程序。
(1)数值计算功能:如,求方程 3x4+7x3 +9x2-23=0的全部根p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根(2)绘图功能:如,绘制正弦曲线和余弦曲线x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));(3)仿真功能:如,请调试上述程序。
3、熟悉MATLAB环境下的编辑命令,具体见附录一。
三、实验步骤1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
四、实验注意事项1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论对策成功或失败的原因。
2、总结MATLAB程序的结构和书写规则。
五、思考题1、matlab到底有多少功能?2、MATLAB的搜索路径3、掌握使用MATLAB帮助文件实验二 MATLAB 矩阵及其运算一、 实验目的1、了解矩阵的操作,包括矩阵的建立、矩阵的拆分、矩阵分析等2、了解MATLAB 运算,包括算术运算、关系运算、逻辑运算等3、掌握字符串的操作,了解结构数据和单元数据。
MATLAB基础及程序设计
一、变量和数值
➢Matlab的变量有一定的命名规则: (1)变量名区分大小写。’A’与’a’是不同的变量。 (2)变量名不能超过63个字符。 (3)变量名必须以字母开头。 (4)关键字(如if,while等)不能作为变量名。 (5)有一些系统自动定义的特殊变量,如pi,inf,i等。
➢特殊变量 ans: 用于结果的缺省变量名 pi: 圆周率 eps:计算机的最小数 inf:无穷大
>>syms a b c x f2=a*x^2+b*x+c 上面的语句即创建了符号变量a,b,c,x,又创建了符号表达 式,f1,f2符号表达式相同。
二、符号表达式的代数运算: 特点: 1、传统的数值运算由于计算机的有效位数的 限制,会产生误差。符号运算则可以避免。
2、符号运算可以得出完全的封闭解或任意精 度的数值解。
六、代数方程组的求解
[例] x1+x2=5 2x1+x2=7 x1+2x3=4
求解x1,x2。 a=[1 1 0;2 1 0;1 0 2];b=[1;5;5]; x=a\b x=
2 3
七、多项式拟合 多项式拟合是用一个多项式来逼近一组给定的 数据,在数据分析上是常用的方法,使用polyfit 函数来实现.拟合的准则是最小二乘法。 [例] x0=0:0.1:1;
2、用MATLAB函数创建 + rand —— 随机矩阵 >>rand(m,n)
+eye —— 单位矩阵 >>eye(m,n)
+zeros ——全部元素都为0 的矩阵
+>>zeros(m,n) +ones ——全部元素都为1的 矩阵
+ >>ones(m,n)
Matlab实验
数组右除和左除的运算结果是完全等效的, ‚A./B”运算结果是将矩阵A的每一个元素与矩阵B 的对应元素相除。需要注意的是,参与数组运算 的两矩阵(数组)的大小必须相等。
27
7. 矩阵的下标
在matlab中,矩阵下标的行、列号都是从1开始的。
MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提 取子块和重排子块的操作。 –A(m,n):提取第m行,第n列元素; –A(:,n):提取第n列元素;A(m,:):提取第m行元素 –A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到 第n2列的所有元素(提取子块)。 –A(:):得到一个长列矢量,该矢量的元素按矩阵的列 进行排列。 –A(:,:): 矩阵的所有行和列
(3)rand()函数用于产生在[0,1]区间均匀分 布的随机阵,rand(n)产生(n×n)维的随机阵, rand(n,m)产生n行m列的随机阵。
18
利用M文件产生矩阵
对于大的且经常调用的矩阵,可以将其存入M文 件,以方便调用,避免重复使用。
利用外部数据文件装入到指定矩阵。
用户可以通过‚load”命令加载外部数据文件创建矩阵。
2
特点:
• • • • • • 功能强大,使用方便,界面友好; 计算精确,同时容易实现结果的可视化; 易于扩展与共享,对不同的应用可以建立不同的工具 箱,同时能够保护开发者的知识产权。 Matlab软件中集成了SimuLink软件,可以非常方便地 进行系统的建模与仿真。 集成了大量的经过验证的工具箱,可以直接使用。 能够和许多编译器(C, C++, Delphi, Fortran等)接 口,生成直接可执行的文件,能调用其他语言或被其 他语言调用。 容易学习和使用,等等。
《MATLAB程序设计实验》教学大纲
MATLAB程序设计实验Matlab Programing II一、课程基本情况课程总学时:32学时实验总学时:16学时学分: 2 学分开课学期:第4学期课程性质:选修对应理论课程:MATLAB程序设计适用专业:大气科学(大气探测方向)教材:《精通matlab 7》,Duane Hanselman著,朱仁峰译,清华大学出版社,2006开课单位:大气物理学院大气探测系二、实验课程的教学目标和任务Matlab程序设计属于实践性较强的课程,因此需要大量的动手实践提升自己编程能力,进而利用Matlab解决学习中遇到的实际问题。
实验课程的目标是:通过Matlab基本操作和重要应用的训练,使学生具有初步使用Matlab进行科学计算、处理数据,以及画图显示的能力。
课程实验分为8次,分别对应教学课程中的7章内容,其中第7章内容为2次实验。
8次实验中,前4次的目的是使同学掌握Matlab基本编程能力,后4次培养学生解决实际问题的能力。
这几次实验中基于Matlab的数据分析、文本文件的读写、二进制文件如气象雷达数据的读写是实验课程的重点和难点内容,而二进制气象雷达数据的读取是难点中的难点。
通过理论和应用相结合,课堂学习和上机操作结合,使学生全面掌握使用Matlab的能力,进而将Matlab应用到大气探测数据的处理过程。
三、实验课程的内容和要求四、课程考核(1)实验报告的撰写要求:基于实验习题进行编程和结果显示,纸版上交(2)实验报告:7次(3)考核及成绩评定:7次报告成绩平均值五、参考书目(1)《Matlab Reference Guide》, The Math Works, Inc, 1993;(2)《MA TLAB 7基础与提高—MA TLAB应用技术》,电子工业出版社,飞思科技产品研发中心编著,2005;(3)《精通MA TLAB7》,电子工业出版社,王正林、刘明等著,2006。
matlab 程序设计
【例5.8】用try... catch... end结构来进行矩阵相乘运算. 例
% EX0508 try结构 n=4; a=magic(n); m=3; b=eye(3); try c=a*b catch c=a(1:m,1:m)*b end lasterr
5.2.6 流程控制语句
break, continue, return, pause, keyboard, input 1. break命令 命令 break命令可以使包含break的最内层的for或while 语句强制终止,立即跳出该结构,执行end后面的命令, break命令一般和if结构结合使用.
5.2.4 switch…case开关结构
语法: switch 开关表达式 case 表达式 表达式1 语句段1 语句段 case表达式2 case表达式2 表达式 语句段2 语句段 ... otherwise 语句段n 语句段 end
说明: (1) 将开关表达式依次与case后面的表达式进行比较,如 果表达式1不满足,则与下一个表达式2比较,如果都不 满足则执行otherwise后面的语句段n;一旦开关表达式 与某个表达式相等,则执行其后面的语句段. (2) 开关表达式只能是标量或字符串. (3) case后面的表达式可以是标量,字符串或元胞数组, 如果是元胞数组则将开关表达式与元胞数组的所有元素 进行比较,只要某个元素与开关表达式相等,就执行其 后的语句段.
(2) 将函数文件保存为"Ex0502.m". (3) 在MATLAB命令窗口输入以下命令,则会出现f的计算值 注意: 注意:M脚本文件和M函数文件的文件名及函数名的命名规 和绘制的曲线:f=Ex0502(0.3) 则与MATLAB变量的命名规则相同.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二MATLAB中的数值计算与程序设计
一实验目的:
完成MATLAB下数据分析与程序设计有关问题的练习。
学习脚本文件的编写,数值输入,数组计算,程序调试等;练习利用MATLAB编程序解决基本数学问题。
学习全局和局部变量的使用,流程控制结构,函数编写及其调试。
二实验仪器和设备
装有MATLAB6.0以上计算机一台
三实验原理
1. 常用运算命令
例1 求a=S^3+2S^2+3S+4根.
a=[1 2 3 4];
roots(a)
ans =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
或
roots([1 2 3 4])
ans =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
例2 已知某多项式的根如下
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
求该多项式.
poly([-1.6506,-0.1747+1.5469i,-0.1747 - 1.5469i])
ans =
1.0000
2.0000
3.0001
4.0001
即所求多项式为S^3+2S^2+3S+4 .
2. 无条件循环
当需要无条件重复执行某些命令时,可以使用for循环:
for 循环变量t=表达式1 : 达式2 : 表达式3
语句体
end
说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。
例3:例4:矩阵输入程序
生成3×4阶的Hiltber矩阵。
m=input(‘矩阵行数:m=’);
for i=1 : 3n= input(‘矩阵列数:n=’);
for j=1 : 4 for i=1:m
H(i,j)=1/(i+j-1);for j=1:n
end disp([‘输入第’,num2str(i),’行,第’,num2str(j),’
end 列元素’])
A(i, j) = input (‘ ’)
end
end
3. 条件循环
1) if-else-then 语句
if-else-then 语句的常使用三种形式为: (1) if 逻辑表达式 (3) if 逻辑表达式1
语句体 语句体1
end elseif 逻辑表达式2
语句体2
(2) if 逻辑表达式1 elseif 逻辑表达式3
语句体1 …
else else
语句体2 语句体n
end end
2) while 循环语句
while 循环的一般使用形式为:
while 表达式
语句体
end
例4:
用迭代法计算多项式方程523--x x = 0的一个实根。
解:
x0=3;r=1;n=0;
while r > 1e-5
x1=x0;
x0=3+5/x1.^2;
r=abs(x0-x1);
n=n+1;
end,x0,n
运行结果为:
x0 =
3.4260
n =
9
4. 分支结构
若需要对不同的情形执行不同的操作,可用switch 分支语句:
switch 表达式(标量或字符串)
case 值1
语句体1
case 值2
语句体2
…
otherwise
语句体n
end
说明:当表达式不是“case”所列值时,执行otherwise语句体。
5. 建立M文件
将多个可执行
...的系统命令,用文本编辑器编辑后并存放在后缀为.m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。
这个后缀为.m的文件,也称为Matlab的脚本文件(Script File)。
注意:文件存放路径必须在Matlab能搜索的范围内。
6. 建立函数文件
对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。
1.格式:
function [输出变量列表]=fun_name(输入变量列表)
用户自定义的函数体
2.函数文件名为:fun_name,注意:保存时文件名
...最好相同;
...与函数名
3.存储路径:最好在系统的搜索路径上。
4. 调用方法:输出参量=fun_name (输入变量)
例5:
计算s = n!,在文本编辑器中输入:
function s=pp(n);
s=1;
for i=1:n
s=s*i;
end
s;
在MATLAB 命令窗口中输入:s=pp(5)
结果为: s = 120
四 实验内容和步骤
(一)验证例题中的操作。
(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。
1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。
2.编写分段函数 ⎪⎩
⎪⎨⎧≤≤-<≤=其它021210)(x x x x x f 的函数文件,存放于文件ff.m 中,并求
)3(-f ,)2(f ,)(∞f 的值。
3. 编写一个函数文件求三个数的最大值。
4:产生一个随机数,若大于0.5,则把这个数连加,直到刚好超过10为止,求这个数。
五 写出实验总结报告。