1.完成下列操作:(P361,T4)
(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
%(1) 求[100,999]之间能被21整除的数的个数。
clc,clear
A=[100:999];
j=0;
for i=[100:999]
if mod(i,21)==0
j=j+1
else j=j+0
end
end
j
%(2) 建立一个字符串向量,删除其中的大写字母。
clear
clc
ch='xiHendJmklI';
ch
k=find(ch>='A'&ch<='Z')
ch(k)=[]
2、
clear;clc E=ones(3,3); R=rand(3,2); O=zeros(2,3); S=diag([2,2],0); A=[E,R;O,S] B=A^2; C=[E,R+R*S; O, S^2]; result=isequal(B,C)
3、
注:矩阵的条件数用于界定一个矩阵是“良态的”还是“病态的”,一般来说,条件数越大,矩阵越接近一个奇异矩阵(不可逆矩阵),矩阵越“病态”。在数值计算中,矩阵的条件数越大,计算的误差越大,精度越低。1e3代表1*10^3
clear;clc
A=1./[2 3 4;3 4 5;4 5 6];
b1=[0.95;0.67;0.52];
b2=[0.95;0.67;0.53];
x1=inv(A)*b1
x2=inv(A)*b2
%求条件数
D=cond(A,2) %2-范数下的条件数,所得数都大于1,但越接近1越好
if(D>1e3)
disp('结论:A的条件数远大于1,为不良矩阵。')
end
4、求分段函数的值
clear;clc
x=[-5.0 -3.0 1.0 2.0 2.5 3.0 5.0];
if x<0 & x~=-3
y=x.^2+x-6;
elseif 0<=x<5 & x~=2 & x~=3
y=x.^2-5*x+6;
else
y=x.^2-x-1;
end
x
y
注意:点乘注意加点!!!!
5、
clear;clc
x=input('请输入你的成绩:');
%if
if(x>=90 & x<=100)
y='A'
elseif x>=80 & x<=90
y='B'
elseif x>=70 & x<=80
y='C'
elseif x>=60 & x<=70
y='D'
elseif x>=0 & x<=60
y='E'
else
disp('ERROR! Please iuput a integer number.')
disp(' ')
end
% use siwtch
x=input('请输入你的成绩:');
if x>=0 & x<=100
switch fix(x/10)
case{9,10}
y='A'
case 8
y='B'
case 7
y='C'
case 6
y='D'
case {5,4,3,2,1,0}
y='E'
end
else
disp('ERROR! Please iuput a integer number.')
end



