MATLAB练习题(考前必看) 实验一:matlab 快速入门 习题2-1 1.创建double的变量,并进行计算。 a=87,b=190,计算 a+b、a-b、a*b。 创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。 (1) 代码: a=87,b=190 a+b a-b a*b 结果(截图):
(2)代码: c=uint8(87) d=uint8(190) c+d c-d c*d 结果(截图): 习题2-3 设 , ,计算:
代码+截图 u=2; v=3; 4*u*v/log(v)
(exp(u)+v)^2/(v^2-u)
sqrt(u-3*v)/(u*v)
习题2-5 5.判断下面语句的运算结果。 4 < 20 4 <= 20 (3) 4 == 20 (4) 4 ~= 20 (5) ‘b'<‘B’ 代码 1.4<20
2.4<=20
3.4==20
4.4~=20
5.’b'<‘B’
习题2-6 设 ,, , ,判断下面表达式的值。 代码+截图:
a=39; b=58; c=3; d=7; a>b (2) a<c
(3) a>b&&b>c
(4) a==d
(5)a|b>c
(6) ~~d 实验二:matlab 数组和向量 习题3-1 在命令提示符下输入以下两条命令: >> x = [ 9 3 0 6 3] >> y = mod((sqrt(length(((x+5).*[1 2 3 4 5]))*5)),3) 求y值为多少?
习题3-3 nums1=[7 1 3 5 32 12 1 99 10 24] nums2=[54 1 456 9 20 45 48 72 61 31 10 96 11] nums3=[44 11 25 41 84 77 998 85 2 3 15] 编写脚本文件以创建三个相应的三个向量—newNums1、newNems2和 newNums3,分别包含以上三个向量中从第一个素开始且间隔取值的素。 代码: clc;clear; nums1=[7 1 3 5 32 12 1 99 10 24]; odds=1:2:length(nums1); newNums1=nums1(odds)
clc;clear; nums2=[54 1 456 9 20 45 48 72 61 31 10 96 11] odds=1:2:length(nums2) newNums2=nums2(odds) clc;clear; nums3=[44 11 25 41 84 77 998 85 2 3 15] odds=1:2:length(nums3) newNums3=nums3(odds)
实验三:matlab 数学运算 习题4.1 有如下数据: X11.11.21.31.4y1.000001….61170 利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。 代码: x=[1 1.1 1.2 1.3 1.4]; y=[1.00000 1.23368 1.55271 1.99372 2.61170]; length_of_x=length(x); scalar_x=x(1):0.05:x(length_of_x); length_of_sx=length(scalar_x); for i=1:length_of_sx y_nearest(i)=interp1(x,y,scalar_x(i),’nearest’); y_linear(i) =interp1(x,y,scalar_x(i),’linear’); y_spline(i) =interp1(x,y,scalar_x(i),’spline’); y_pchip(i) =interp1(x,y,scalar_x(i),’pchip’); end subplot(2,2,1),plot(x,y,’*’),hold on,plot(scalar_x,y_nearest),title(‘method=nearest’); subplot(2,2,2),plot(x,y,’*’),hold on,plot(scalar_x,y_linear),title(‘method=linear’); subplot(2,2,3),plot(x,y,’*’),hold on,plot(scalar_x,y_spline),title(‘method=spline’); subplot(2,2,4),plot(x,y,’*’),hold on,plot(scalar_x,y_pchip),title(‘method=pchip’); 运行结果:
习题4-2 求函数
,初始点为
的解,并绘制图形。 代码: y=@(x)exp(x)-x^5; x=fzero(y,8) fplot(y,[x-1,x+1]); hold on plot(x,y(x),’r*’); 运行结果:
习题4-3 求下列函数的极值。
代码: z=@(x)x(1)^2-(x(2)-1)^2; [x,fvalue,flag,output]=fminsearch(z,[0,0]) 运行结果: 代码: z=@(x)(x(1)-x(2)-1)^2; [x,fvalue,flag,output]=fminsearch(z,[0,0])
习题4-4 计算下列积分。
代码: f=@(x)x+x.^3+x.^5; q=quad(f,-1,1) 运行结果:
代码: f=@(x,y)sin(y).*(x+y)https://zhuanlan.zhihu.com/p/(x.^2+4); q=dblquad(f,1,10,1,10) 运行结果:
实验四:matlab 字符串 单数组和结构体 习题5-1 编制一个脚本,查找给定字符串中指定字符出现的次数和位置。 代码: % 编制一个脚本,查找给定字符串中指定字符出现的次数和位置。 clear,clc letter = ‘a’; % 要搜索的指定字母(以a为例) string = ‘I love China!’; % 要搜索的指定字符串 places = findstr(string,letter) % 字符、字符串位置 ntimes = length(places) % 出现次数 运行结果:
习题5-2 编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写。代码: str = ‘this is the string to be converted’; nlength = length(str); for k=1:nlength if (k==1 || isspace(str(k-1))) && (str(k)<=’z’ && str(k)>=’a’) str(k) = char(double(str(k)) – 32); end end disp(str); 运行结果:
习题5-3 创建 2×2 单数组,第 1、2 个素为字符串,第三个素为整型变量,第四个素为双精度(double)类型,并将其用图形表示。 代码: cellA = cell(2,2); cellA(1,1) = {‘the first element of the cell’}; cellA(1,2) = {‘the second element of the cell’}; cellA(2,1) = {uint8(5)}; cellA(2,2) = {[2,3;3,4]}; cellplot(cellA) 习题5-4 创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均 分、排列名次等 代码: clear,clc; sum=0;for k=1:3 fprintf(‘*请输入%d个同学信息 *\n’,k); student(k).name=input(‘请输入该学生姓名:’, ‘s’); student(k).number=input(‘请输入该学生学号:’); student(k).chinesegrade=input(‘请输入该学生语文成绩:’); student(k).mathgrade=input(‘请输入该学生数学成绩:’); student(k).Englishgrade=input(‘请输入该学生英语成绩:’); student(k).grade=student(k).chinesegrade+student(k).mathgrade+student(k).Englishgr ade; end if student(2).grade>student(1).grade temp=student(1).grade; student(1).grade=student(2).grade;student(2).grade=temp; end if student(3).grade>student(1).grade temp=student(1).grade; student(1).grade=student(3).grade;student(3).grade=temp; end if student(3).grade>student(2).grade temp=student(2).grade; student(2).grade=student(3).grade;student(3).grade=temp; end disp(‘以下为学生成绩列表’) for i=1:3 fprintf(‘第%d名’, i) disp(student(i)) sum=sum+student(i).grade; aver=sum/3; end fprintf(‘学生总成绩为: %d\t\n’,sum) fprintf(‘学生平均成绩为:%d\t\n’,aver) 运行结果:
实验五:matlab 选择结构及循环结构程序设计 习题6-1 假设x = [-3, 0, 0, 2, 5, 8]且y = [-5, -2,0, 3, 4, 10]。通过手算得到以下运算的结果,并使用MATLAB检验计算的结果。 z = y<~x z = x&y z = x|y (4) z = xor(x,y) 代码: clear,clc x=[-3,0,0,2,5,8]; y=[-5,2,0,3,4,10]; z1=y<~x z2=x&y z3=x|y z4=xor(x,y) 运行结果:
习题6-2 在MATLAB中使用一个循环确定:如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$要需要多长时间。 代码: clear,clc n=0; m=10000 while m<= m=m*1.06+10000; n=n+1; end fprintf(‘账户上累积$需要%d年’,n)
运行结果:实验六:matlab绘图和图像处理 习题8-1 编写程序,该程序在同一窗口中绘制函数在
之间的正弦曲线和余弦曲线,步长为
,线宽为 4 个像素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记。 代码: clear,clc x = [0:pi/10000:2*pi]; y = sin(x); z = cos(x); figure,plot(x,y,’Linewidth’,4) hold on,plot(x,z,’r–‘,’Linewidth’,4) p = find(abs(y-z)<0.005); plot(x(p),z(p),’r*’); 运行结果:
习题6-2 绘制下列图像 三维曲线: 双曲抛物面: 代码: (1) 代码: clear,clc x = 0:pi/10:10*pi; plot(x,sin(x)) 运行结果:
(2)代码: clear,clc [X,Y] = meshgrid(-10:0.5:10); Z = X.^2 + 6*X*Y + Y.^2 + 6*X + 2*Y -1; plot3(X,Y,Z)
(3)代码: clear,clc [X,Y] = meshgrid(-16:0.4:16,-4:0.1:4); Z = X.^2/16 – Y.^2/4; plot3(X,Y,Z) 运行结果:
习题8-3 绘制下列图像 绘制电脑磁盘使用情况的饼状图 生成 100 个从 0 到 10 之间的随机整数,绘制其直方图 生成 10个从 0 到 10 之间的随机整数,绘制其阶跃图 代码: (1) X=[37.8,59.7]; pie3(X,{ ‘可用空间’,’已用空间’}); 运行结果:
(2、3) 代码: x=round(rand(100,1)*10);%生成100个从0-10随机整数 subplot(2,2,1),rose(x);%极坐标系直方图 subplot(2,2,2),hist(x);%直角坐标系直方图 subplot(2,2,3),bar(x); %条形图 y=round(rand(10,1)*10);%生成10个0-100随机整数 subplot(2,2,4),stairs(y);%阶跃图 运行结果:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/84235.html