MATLAB程序设计与应用(第二版)课后实验答案
更新时间:2024-06-15 20:39:01 阅读量: 综合文库 文档下载
Matlab课后实验题答案
实验一 MATLAB运算基础
1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
2sin850(1) z1? 21?e(2) z2?1?2i??21 ln(x?1?x2),其中x???5?2??0.45e0.3a?e?0.3a0.3?asin(a?0.3)?ln,a??3.0,?2.9,?,2.9,3.0 (3) z3?22?t20?t?1?(4) z4??t2?11?t?2,其中t=0:0.5:2.5
?t2?2t?12?t?3?解: M文件: z1=2*sin(85*pi/180)/(1+exp(2)) x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) 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) t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)
2. 已知:
?1234?4??13?1??,B??203?
A??34787???????3657???3?27??求下列表达式的值:
(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] 解:
M 文件: A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*B A-B+eye(3) A*B A.*B A^3 A.^3 A/B B\\A [A,B] [A([1,3],:);B^2] 3. 设有矩阵A和B
?1?6?A??11??16??215??3?1778910???12131415?,B??0??17181920??9?22232425???423416??69??23?4?
?70?1311??0(1) 求它们的乘积C。
(2) 将矩阵C的右下角3×2子矩阵赋给D。 (3) 查看MATLAB工作空间的使用情况。
解:. 运算结果: E=(reshape(1:1:25,5,5))';F=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; C= E*F H=C(3:5,2:3) C = 93 150 77 258 335 237 423 520 397 588 705 557 753 890 717 H = 520 397 705 557 890 717 4. 完成下列操作:
(1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果: m=100:999; n=find(mod(m,21)==0); length(n) ans = 43 (2). 建立一个字符串向量 例如:
ch='ABC123d4e56Fg9';则要求结果是: ch='ABC123d4e56Fg9'; k=find(ch>='A'&ch<='Z'); ch(k)=[] ch = 123d4e56g9
实验二 MATLAB矩阵分析与处理
?E3?3A?1. 设有分块矩阵?O?2?3R3?2?,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩S2?2??阵和对角阵,试通过数值计算验证A??解: M文件如下;
2?E?OR?RS?。 ?2S?
由ans,所以A??2?E?OR?RS? ?2S?2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么? 解:M文件如下:
因为它们的条件数Th>>Tp,所以pascal矩阵性能更好。 3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
解: M文件如下:
4. 已知
??29618??
A??20512?????885??求A的特征值及特征向量,并分析其数学意义。
解:
M文件如图:
5. 建立5×6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。 解:
M文件如下:
实验四 循环结构程序设计
1. 根据
?26?1111?????,求π的近似值。当n分别取100、1000、10000122232n2时,结果是多少?
要求:分别用循环结构和向量运算(使用sum函数)来实现。 解:M文件如下:
2. 根据y?1?111,求: ????352n?1(1) y<3时的最大n值。
(2) 与(1)的n值对应的y值。 解:M—文件如下:
3. 考虑以下迭代公式:
xn?1?a b?xn其中a、b为正的学数。
(1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次数不超过500次。
?b?b2?4a(2) 如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、
2(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。
解:
M文件如下:
4. 已知
?f1?1?f?0?2??f3?1??fn?fn?1?2fn?2?fn?3求f1~f100中:
(1) 最大值、最小值、各数之和。 (2) 正数、零、负数的个数。 解:M—文件
n?1n?2n?3n?3
以下是运算结果: max(f)=437763282635 min(f)=-899412113528 sum(f)=-742745601951 c1=49 c2=2 c3=49 5. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间内:
(1) 亲密数对的对数。
(2) 与上述亲密数对对应的所有亲密素数之和。 解:
M文件:
运算结果为: j =
29 s =
23615
实验五 函数文件
一、实验目的
1. 理解函数文件的概念。
2. 掌握定义和调用MATLAB函数的方法。 二、实验内容
1. 定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用
该函数文件。
解:M文件如下: 函数fushu.M文件: function [e,l,s,c] = fushu(z) %fushu 复数的指数,对数,正弦,余弦的计算 %e 复数的指数函数值 %l 复数的对数函数值 %s 复数的正弦函数值 %c 复数的余弦函数值 e=exp(z); l=log(z); s=sin(z); c=cos(z); 命令文件M: z=input('请输入一个复数z='); [a,b,c,d]=fushu(z) 运算结果如下: z=input('请输入一个复数z='); [a,b,c,d]=fushu(z) 请输入一个复数z=1+i a = 1.4687 + 2.2874i b = 0.3466 + 0.7854 c 1.2985 + 0.6350i d = 0.8337 - 0.9889i
2. 一物理系统可用下列方程组来表示:
?m1cos??msin??1?0??0?m10m20?sin?cos??sin??cos?0??a1??0??a??mg?0???2???1? 0??N1??0??????1??N2??m2g?从键盘输入m1、m2和θ的值,求a1、a2、N1和N2的值。其中g取9.8,输入θ时以角度为单位。
要求:定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。
解: M文件
函数fc.M文件: function X= fc(A,B) ü fc是求解线性方程的函数 %A A是未知矩阵的系数矩阵 X=A\\B; 命令M文件: clc; m1=input('输入m1='); m2=input('输入m2='); theta=input('输入theta='); x=theta*pi/180; g=9.8; A=[m1*cos(x) -m1 -sin(x) 0 m1*sin(x) 0 cos(x) 0 0 m2 -sin(x) 0 0 0 -cos(x) 1]; B=[0;m1*g;0;m2*g]; X=fc(A,B) 运算结果: 输入m1=1 输入m2=1 输入theta=30 X = 7.8400 3.3948 6.7896 15.6800 3. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如13是绝对素数。试
求所有两位绝对素数。
要求:定义一个判断素数的函数文件。 解:M文件: 函数prime.m文件 function [p] = prime(p) % 输入p的范围,找出其中的素数 m=p(length(p)); for i=2:sqrt(m) n=find(rem(p,i)==0&p~=i); p(n)=[]; %将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数 end p; 命令文件: clc; p=10:99; p=prime(p); %找出10到99内的所有素数 p=10*rem(p,10)+(p-rem(p,10))/10; %将p素数矩阵每个元素个位十位调换顺序 p=prime(p) %再对对换后的素数矩阵找出所有的素数 运算结果:
p = 11 31 71 13 73 17 37 97 79
4. 设f(x)?11,编写一个MATLAB函数文件fx.m,使得?(x?2)2?0.1(x?3)4?0.01调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。
解: 函数fx.m文件: function f= fx(x) %fx fx求算x矩阵下的f(x)的函数值 A=0.1+(x-2).^2; B=0.01+(x-3).^4; f=1./A+1./B; 命令文件: clc;
y=(x+sqrt(pi))/(exp(2)).*(x<=0)+0.5*log(x+sqrt(1+x.^2)).*(x>0); plot(x,y) 运行结果:
由图可看出,函数在零点不连续。
4. 绘制极坐标曲线ρ=asin(b+nθ),并分析参数a、b、n对曲线形状的影响。 解:M文件如下: clc; theta=0:pi/100:2*pi; a=input('输入a='); b=input('输入b='); n=input('输入n='); rho=a*sin(b+n*theta); polar(theta,rho,'m') 采用控制变量法的办法,固定两个参数,变动第三个参数观察输出图象的变化。 分析结果:由这8个图知道,
当a,n固定时,图形的形状也就固定了,b只影响图形的旋转的角度;
当a,b固定时,n只影响图形的扇形数,特别地,当n是奇数时,扇叶数就是n,当是偶数时,扇叶数则是2n个;
当b,n固定时,a影响的是图形大小,特别地,当a是整数时,图形半径大小就是a。 5. 绘制函数的曲线图和等高线。
z?cosxcosye?x2?y24
其中x的21个值均匀分布[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。
解:M文件: clc; x=linspace(-5,5,21); y=linspace(0,10,31); [x,y]=meshgrid(x,y); z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); subplot(2,1,1); surf(x,y,z); title('曲面图'); subplot(2,1,2); surfc(x,y,z); title('等高线图'); 运行结果:
6. 绘制曲面图形,并进行插值着色处理。
?x?cosscost??3??y?cosssint0?s?,0?t? ?22???z?sins解:M文件:
clc; s=0:pi/100:pi/2; t=0:pi/100:3*pi/2; [s,t]=meshgrid(s,t); x=cos(s).*cos(t); y=cos(s).*sin(t); z=sin(s); subplot(2,2,1); mesh(x,y,z); title('未着色的图形'); subplot(2,2,2); surf(x,y,z); title('shading faceted(缺省)'); subplot(2,2,3); surf(x,y,z);shading flat; title('shading flat'); subplot(2,2,4); surf(x,y,z);shading interp; %插值着色 title('shading interp'); 运行结果有:
实验八 数据处理与多项式计算
二、实验内容
1. 利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:
(1) 均值和标准方差。 (2) 最大元素和最小元素。
(3) 大于0.5的随机数个数占总数的百分比。 解: M文件: clc; x=rand(1,30000); mu=mean(x) %求这30000个均匀分布随机数的平均值 sig=std(x) %求其标准差σ1 y=length(find(x>0.5)); %找出大于0.5数的个数 p=y/30000 %大于0.5的所占百分比 运行结果: mu = 0.499488553231043 sig = 0.288599933559786 p = 0.499400000000000
2. 将100个学生5门功课的成绩存入矩阵P中,进行如下处理: (1) 分别求每门课的最高分、最低分及相应学生序号。 (2) 分别求每门课的平均分和标准方差。
(3) 5门课总分的最高分、最低分及相应学生序号。
(4) 将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。
提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。
解:M文件: clc; t=45+50*rand(100,5); P=fix(t); %生成100个学生5门功课成绩 [x,l]=max(P) %x为每门课最高分行向量,l为相应学生序号 [y,k]=min(P) %y为每门课最低分行向列,k为相应学生序号 mu=mean(P) %每门课的平均值行向量 sig=std(P) %每门课的标准差行向量 s=sum(P,2) %5门课总分的列向量 [X,m]=max(s)%5门课总分的最高分X与相应学生序号m [Y,n]=min(s)%5门课总分的最低分Y与相应学生序号n [zcj,xsxh]=sort(s) %zcj为5门课总分从大到小排序,相应学生序号xsxh 运行结果:
3. 某气象观测得某日6:00~18:00之间每隔2h的室内外温度(0C)如实验表1所示。
0
实验表1 室内外温度观测结果(C)
时间h
6
8 20.0 19.0
10 22.0 24.0
12 25.0 28.0
14 30.0 34.0
16 28.0 32.0
18 24.0 30.0
室内温度t1 18.0 室外温度t2 15.0
试用三次样条插值分别求出该日室内外6:30~18:30之间每隔2h各点的近似温度(0C)。 解:
M文件: clc; h=6:2:18; t1=[18.0 20.0 22.0 25.0 30.0 28.0 24.0]; t2=[15.0 19.0 24.0 28.0 34.0 32.0 30.0]; T1=interp1(h,t1,'spline')%室内的3次样条插值温度 T2=interp1(h,t2,'spline')%室外的3次样条插值温度
运行结果: T1 = Columns 1 through 3 40.000000000000703 44.000000000001130 48.000000000001705 Columns 4 through 6 54.000000000002885 64.000000000005883 60.000000000004512 Column 7 52.000000000002444 T2 = Columns 1 through 3 34.000000000000284 42.000000000000902 52.000000000002444 Columns 4 through 6 60.000000000004512 72.000000000009408 68.000000000007503 Column 7
64.000000000005883 4. 已知lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。
实验表2 lgx在10个采样点的函数值
x 1 11 21 31 41 51 61 71 81 91 101
lgx 0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510 2.0043
试求lgx的5次拟合多项式p(x),并绘制出lgx和p(x)在[1,101]区间的函数曲线。 解:
M文件: x=1:10:101; y=lg10(x); P=polyfit(x,y,5) y1=polyval(P,x); plot(x,y,':o',x,y1,'-*') 运行结果: Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try centering and scaling as described in HELP POLYFIT. > In polyfit at 80 P = 0.0000 -0.0000 0.0001 -0.0058 0.1537 -0.1326 (这里出现警告是提示不必用5价函数就已经可以完美拟合了,是可以降价拟合。) 在[1,101]的区间函数图像
5. 有3个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行下列操作:
(1) 求P(x)=P1(x)+P2(x)P3(x)。 (2) 求P(x)的根。
(3) 当x取矩阵A的每一元素时,求P(x)的值。其中 :
1.2?1.4???1?
A??0.7523.5???52.5??0?(4) 当以矩阵A为自变量时,求P(x)的值。其中A的值与第(3)题相同。
解:M文件: clc;clear; p1=[1,2,4,0,5]; p2=[1,2]; p3=[1,2,3]; p2=[0,0,0,p2]; p3=[0,0,p3]; p4=conv(p2,p3); %p4是p2与p3的乘积后的多项式 np4=length(p4); np1=length(p1); p=[zeros(1,np4-np1) p1]+p4 %求p(x)=p1(x)+p2(x) x=roots(p) %求p(x)的根 A=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.5]; y=polyval(p,A) %x取矩阵A的每一元素时的p(x)值
运行结果:
p = 0 0 0 0 1 3 8 7 11 x = -1.3840 + 1.8317i -1.3840 - 1.8317i -0.1160 + 1.4400i -0.1160 - 1.4400i y = 1.0e+003 * 0.0100 0.0382 0.0125 0.0223 0.0970 0.4122 0.0110 1.2460 0.1644
正在阅读:
评论员文章(2012年7月-2012年10月20日)10-30
容器规定12-15
盘刹使用操作维护手册(电控) - 图文03-20
湖南省长郡中学2016届高三第一次月考化学试卷(WORD)07-25
高中地理第六章人类与地理环境的协调发展测评1 - 图文11-11
材料科学基础习题及答案12-08
模拟电子琴发声控制系统课程设计04-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 课后
- 程序设计
- 答案
- 实验
- 应用
- MATLAB
- HALCON 算子函数 整理 1-19章
- 购物中心营运巡检工作规范
- 杭州师大考研333教育综合真题
- 创作背景
- 四轴加工
- 09四川造价员土建开卷考试(试题和答案) - 图文
- 企业战略管理:谭木匠的蓝海战略案例分析
- 2018届九年级数学上册 第一章特殊平行四边形第1节菱形的性质与判
- 2015年《小学教育教学知识与能力》(十)
- 2019顺义市场调研报告 doc - 图文
- 行政管理专业专业实践教学大纲
- 高中理科数学常见题型篇(直线和圆锥曲线)
- 2015-2020年中国榨汁机行业运营趋势及发展前景报告 - 图文
- 2017年中国印刷片材现状调研及市场前景预测(目录) - 图文
- 2018交通银行春季校园招聘备考建议、笔试例题
- 绿廊
- 安1-6-1 应急预案(13-11)
- 知识型员工的非物质激励体系研究
- 台湾Tronic Technocrystal- 通益蓝宝石科技公司蓝宝石单晶炉
- 2018届山西省晋城市高三上学期第一次模拟考试数学(文)试题Word版