matlab1-8章课后作业 下载本文

disp('sin(60)='); disp(sind(60)); disp('exp(3)='); disp(exp(3));

disp('cos(3*pi/4)='); disp(cos(3*pi/4));

8.编写脚本,输出上面第6题中的表达式的值。

%计算表达式的值并显示 a=39; b=58; c=3; d=7;

disp('a>b'),disp(a>b); disp('a

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);

Matlab第三章

1.在命令提示符下输入以下两条命令: >> x = [ 9 3 0 6 3]

>> y = mod((sqrt(length(((x+5).*[1 2 3 4 5]))*5)),3)

求y值为多少? x =

9 3 0 6 3 y = 2

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的值。 >> c c = 1 >> d d =

0 7 2 0 0 4 0 6 >> e e =

12 14 11 >> f f =

1 9 25 36 49

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前半部分与后半部分对换的结果.

(3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且按vec中的顺序排列.

(4)创建一个新的向量vec3R,使其从vec中最后一个元素开始,间隔3个元素取一个元素,直到第一个元素为止.

(5)创建一个新的向量vecN,使其包含vec中所有等于2或4 的元素的索引值.

(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素.

>> vecR=vec' vecR =

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 -34 >> vec1=vec(1:13) vec1 =

4 5 2 >> vec2=vec(14:26) vec2 =

Columns 1 through 8

43 6253 3 Columns 9 through 13

4 >> vecB=[vec2 vec1] vecB =

Columns 1 through 8

43 6253 3

8 4 2 3 2 7 2 5 0 5 64 2 7 -65 7 57 2 3 -34 3 45 7 3 3 Columns 9 through 16

4 3 0 -65 -34 4 5 2

Columns 17 through 24

8 4 7 2 64 2 57 2

Columns 25 through 26 45 7 >> small=vec<45 small =

Columns 1 through 17

1 1 1 1 1 1 1 1 1 Columns 18 through 26

1 1 0 1 1 >> vecS=vec(small) vecS =

Columns 1 through 17

4 5 2 8 4 7 3 3 3 Columns 18 through 22

4 3 0 -65 -34 >> vec3R=vec(end:-3:1) vec3R =

Columns 1 through 8

-34 3 64 4 Column 9 5

>> vecN=find(vec==2|vec==4) vecN =

1 3 5 7 9 >> [value]=vecN(find(mod(vecN,2))) value =

1 3 5 7 9 >> vec(value)=0 vec =

Columns 1 through 8

0 5 0 64

Columns 9 through 16

0 57 0 5

Columns 17 through 24

1 1 1 1 7 2 6253 11 15 11 15 0 0 0 1 1 1 2 2 7 22 8 45 0 1 7 43 43 0 7 0 1 2 5 2 7 43 7 3 0

Columns 25 through 26 -65 -34 >> vec(vec==0)=[] vec =

Columns 1 through 8

5 7 43

Columns 9 through 16 5 4 3

Columns 17 through 18 -65 -34 >> vecG=vec vecG =

Columns 1 through 8

5 7 43

Columns 9 through 16 5 4 3

Columns 17 through 18 -65 -34

3 3 6253 3 4

8 7 64 57 45

7 3 3 6253 3

8 7 64 57 45

7 3 3 6253 3

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个向量,newNum1、newNum2、newNum3,分别包含以上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]; x1=find(mod(find(nums1),2)==1);%向量1 [values1]=nums1(x1); newNums1=values1; disp('nums1='); disp(nums1);