第2章例题源程序
例2.1 计算表达式
i 27147cos 5-++? 的值,并将结果赋给变量x ,然
后显示出结果。 x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)
%计算表达式的值
例2.2 利用M 文件建立MYMAT 矩阵。
(1)启动有关编辑程序或MATLAB 文本编辑器(见第4章),并输
入待建矩阵:
MYMAT=[101,102,103,104,105,106,107,108,109
;
201,202,203,204,205,206,207,208,209;
301,302,303,304,305,306,307,308,309];
(2)把输入的内容存盘(设文件名为mymatrix.m)。
(3)在MATLAB 命令窗口中输入mymatrix ,即运行该M 文件,就会自动建立一个名为MYMAT 的矩阵,可供以后使用。
例2.3 建立5阶方阵A ,判断A 的元素是否能被3整除。
A =[24,35,13,22,63;23,39,47,80,80; ...
90,41,80,29,10;45,57,85,62,21;37,19,3
1,88,76]
P=rem(A,3)==0 %判断A 的元素是否可以被3整
除
例2.4 在[0,3π]区间,求y=sin(x)的值。要求:
(1)消去负半波,即(π,2π)区间内的函数值置0。
2
(2) (3π,32π)和(37π,38π)区间内取值均为sin 3
π。 方法1:
x=0:pi/100:3*pi;
y=sin(x);
y1=(x
q=(x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3);
qn=~q;
y2=q*sin(pi/3)+qn.*y1; %按要求处理第
(2)步
方法2:
x=0:pi/100:3*pi;
y=sin(x);
y1=(y>=0).*y; %消去负半波
p=sin(pi/3);
y2=(y>=p)*p+(y
步
例2.5 建立矩阵A ,然后找出在[10,20]区间的元素的位置。
(1) 建立矩阵A 。
A=[4,15,-45,10,6;56,0,17,-45,0]
A =
4 1
5 -45 10 6
56 0 17 -45 0
(2) 找出大于4的元素的位置。
find(A>=10 & A<=20)
ans =
3
6
7
例2.6 建立一个字符串向量,然后对该向量做如下处理:
(1)取第1~5个字符组成的子字符串。
(2)将字符串倒过来重新排列。
(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。
(4)统计字符串中小写字母的个数。
命令如下:
ch='ABc123d4e56Fg9';
subch=ch(1:5) %取子字符串
subch =
ABc12
revch=ch(end:-1:1) %将字符串倒排
revch =
9gF65e4d321cBA
k=find(ch>='a'&ch<='z'); %找小写字母的位置
ch(k)=ch(k)-('a'-'A'); %将小写字母变成相应的大写字母
char(ch)
ans =
ABC123D4E56FG9
length(k) %统计小写字母的个数
ans =
4
3