MATLAB基础教程 薛山第二版 课后习题答案
时间:2026-01-16
时间:2026-01-16
《MATLAB及应用》实验指导书
《MATLAB及应用》实验指导书
班 级: T1243-7 姓 名: 柏 元 强 学 号: 20120430724 总评成绩:
汽车工程学院 电测与汽车数字应用中心
目录
实验04051001 MATLAB语言基础 ............................................. 1 实验04051002 MATLAB科学计算及绘图 ...................................... 18 实验04051003 MATLAB综合实例编程 ........................................ 31
实验04051001 MATLAB语言基础
1实验目的
1) 熟悉MATLAB的运行环境 2) 掌握MATLAB的矩阵和数组的运算 3) 掌握MATLAB符号表达式的创建 4) 熟悉符号方程的求解
2实验内容
第二章
1. 创建double的变量,并进行计算。
(1) a=87,b=190,计算 a+b、a-b、a*b。
clear,clc a=double(87); b=double(190); a+b,a-b,a*b
(2) 创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。
clear,clc a=uint8(87); b=uint8(190); a+b,a-b,a*b
2.计算:
(1)
sin 60
(2) e3
cos 3 4 (3)
clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4)
3.设u 2,v 3,计算:
4
uv
(1) logv
e
u
v
2
(2) v2
u
(3)
clear,clc u=2;v=3; a=(4*u*v)/log(v)
b=((exp(u)+v)^2)/(v^2-u) c=(sqrt(u-3*v))/(u*v)
4.计算如下表达式:
(1) 3 5i 4 2i
(2)
sin 2 8i
clear,clc (3-5*i)*(4+2*i) sin(2-8*i)
5.判断下面语句的运算结果。
(1) 4 < 20 (2) 4 <= 20 (3) 4 == 20 (4) 4 ~= 20 (5) 'b'<'B'
clear,clc
4 < 20 , 4 <= 20,4 == 20,4 ~= 20,'b'<'B'
6.设a 39,b 58,c 3,d 7,判断下面表达式的值。
(1) a b (2) a c (3) a b&&b c (4) a d (5) a|b c (6) ~~d
clear,clc
a=39;b=58;c=3;d=7;
a>b,a<c,a>b&&b>c,a==d,a|b>c,~~d
7.编写脚本,计算上面第2题中的表达式。
clear,clc disp('sin(60)='); disp(sind(60)) disp('exp(3)='); disp(exp(3))
disp('cos(3*pi/4)='); disp(cos(3*pi/4))
8.编写脚本,输出上面第6题中的表达式的值。
clear,clc
a=39;b=58;c=3;d=7;
disp('a>b');disp(a>b) disp('a<c');disp(a<c)
disp('a>b&&b>c');,disp(a>b&&b>c) disp('a==d');disp(a==d)
disp('a|b>c');disp(a|b>c) disp('~~d');disp(~~d)
第三章
1. 在命令提示符下输入以下两条命令:
>> x = [ 9 3 0 6 3]
>> y = mod((sqrt(length(((x+5).*[1 2 3 4 5]))*5)),3)
求y值为多少?
2. 在MATLAB中运行以下命令:
a = [3, 7, 2, 7, 9, 3, 4, 1, 6]; b = [7]; a(4) = []; vec1 = a==b; vec2 = mod(a,2)==0; c = sum(vec1); vec3 = vec1+vec2; d = vec3.*a; vec4 = find(a > 5); e = a(vec4) + 5; vec5 = find(a < 5); f = vec5.^2;
求c、d、e、f的值。
clear,clc
a = [3, 7, 2, 7, 9, 3, 4, 1, 6]; b = [7]; a(4) = []; vec1 = a==b; vec2 = mod(a,2)==0; c = sum(vec1); vec3 = vec1+vec2; d = vec3.*a; vec4 = find(a > 5); e = a(vec4) + 5; vec5 = find(a < 5); f = vec5.^2; disp('c=');disp(c) disp('d=');disp(d) disp('e=');disp(e) disp('f=');disp(f)
3. 向量操作时MATLAB的主要部分,使用给出的向量来做下面的练习。 注意:
不要直接给出下列问题中任何一个的最终结果,不要在问题的任何部分使用迭代。 vec=[4 5 2 8 4 7 2 64 2 57 2 45 7 43 2 5 7 3 3 6253 3 4 3 0 -65 -343] (1)创建一个新的向量vecR,使其为vec的转置。
(2)创建一个新的向量vecB,使其为vec中的前半部分与后半部分对换的结果,这样vecB包含的元素为vec的后半部分紧接着vec的前半部分。
(3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且元素按照vec中的顺序排列。 (4)创建一个新的向量vec3R,使其从vec中从最后一个元素开始,并且间隔三个元素取一个元素,
直到第一个元素为止。
(5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值。
(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素。
clear,clc
vec=[4 5 2 8 4 7 2 64 2 57 2 45 7 43 2 5 7 3 3 6253 3 4 3 0 -65 -343]; vecR=vec';
disp('vecR=[]');disp(vecR) a=length(vec);
vecB=[vec(a/2+1:a) vec(1:a/2)]; disp('vecB=[]');disp(vecB) C=find(vec<45); vecS=vec(C);
disp('vecS=[]');disp(vecS) vec3R=vec(end:-4:1); disp('vec3R=[]');disp(vec3R) vecN=find(vec==2|vec==4); disp('vecN=[]');disp(vecN) d=vec(2:2:end);
vecG=d(find(d~=2&d~=4)); disp('vecG=[]');disp(vecG)
4. 给定以下3个向量:
nums1=[7 1 3 5 32 12 1 99 10 24];
nums2=[54 1 456 9 20 45 48 72 61 32 10 94 11]; nums3=[44 11 25 41 84 77 998 85 2 3 15];
编写脚本文件创建相应的3个向量:newNums1、newNums2和newNums3,分别包含以上3个向量中从第一元素开始且间隔取值的元素。
例如:
numsEX=[6 3 56 7 8 9 445 6 7 437 357 5 4 3] newsNumsEx=>[6 56 8 445 7 357 4] 注意:
不能直接将相关数值输入答案中,如果再命令提示符下输入:
>>newNumEx=[6 56 8 445 7 357 4] 将不能得分。 提示:
对于3个向量而言,其解决方法应当是一样的,只是变换向量名称而已。
clear,clc
nums1=[7 1 3 5 32 12 1 99 10 24];
nums2=[54 1 456 9 20 45 48 72 61 32 10 94 11]; nums3=[44 11 25 41 84 77 998 85 2 3 15]; newNums1=nums1(1:2:end) newNums2=nums2(1:2:end) newNums3=nums3(1:2:end)
思考题
1. MATLAB中,数组与矩阵在表示与应用上有 …… 此处隐藏:5003字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:开荒保洁程序与标准