MATLAB 实验答案
实验一
练习A
1. A=rand(2,6)
4. X=10*rand(1,8)
X(2) 查询第2个元素
X(5:end) 查询第五到最后一个元素
X(3:-1:1) 查询第3、2、1个元素
X(X<5) 查询所有小于5的元素
X(2)=111 第二元素赋值111 5.A=10*rand(4,8)
A(2,3) 查询第2行3列元素
A(2,:) 第二行所有元素
A(:,6) 第六列所有元素
B=reshape(A,1,32) 按列拉长为1*32新数组 A(1:32)
C=reshape(A’,1,32) 按行拉长为1*32新数组 A(:)
K=100*rand(4,8) 生成一个与A同大小矩阵
A(:)=X(:) 全元素赋值 既A=X
练习B
10. A=reshape([1:5,10:-1:6,11:25],5,5)’ 生成矩阵
A(2,2:3) 取出9 、8
A(2:4,4) 取出7、14、19
A(4:5,1:3) 取出16、17、18、21、22、23 11(生成上MATCH_
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
_1713911932143_0矩阵A
B=[diag(A,1)’,diag(A,3)’] 提取元素 12.
A=diag([5:-1:-2])+diag(ones(1,6),2)*(-2)+diag([3:6],-4)
实验三
练习A
2.
sum=0;
i=1;
for i=1:1:100
sum=sum+i;
end
sum
3
function y=A_3(n)
y=1;
for i=1:1:n
y=y*i;
end
4.
for i=1:1:inf
k=A_3(i);
if k>10^100
break
end
end
i
5.
for i=1:1:9
for j=1:1:i
fprintf('%d*%d=%2d ',j,i,i*j)
end
fprintf('\n');
end
练习B
6.
function y=B_6(x)
[r,c]=size(x);
k=mod(x,3);
A=[];B=[];C=[];
for i=1:1:c
if k(i)==0
A=[A,x(i)];
else if k(i)==1
B=[B,x(i)];
else
C=[C,x(i)];
end
end
end
fprintf('vector_3n : ');
fprintf('%d ',A);
fprintf('\n');
fprintf('vector_3n+1 : ');
fprintf('%d ',B);
fprintf('\n');
fprintf('vector_3n+2 : ');
fprintf('%d ',C);
fprintf('\n');
7.
function y=B_7(A,B)
if size(A)~=size(B)
error('array size not equal');
end
[r1,n]=size(A);
y=0;
for i=1:1:n
y=y+A(i)*B(n-i+1); end
8.
function y=B_8(x)
[r,c]=size(x);
sum=0;
for i=1:1:c
sum=sum+x(i); end
y=sum/c;
9.
function y=B_9(x)
[r,c]=size(x);
if r~=c
error('not a square matrix');
else if r<3
error('matrix too small');
end
end
S=[sum(x,1),sum(x,2)',sum(diag(x))',sum(diag(rot90(x)))'];
[r,c]=size(S);
T=zeros(r,c);
S=S-sum(S)/c;
if S==T
y=1;
else
y=0;
end
实验7
(1) num1=conv([0 4],[1 2]);
num2=conv([1 6 6],[ 1 6 6]);
num=conv(num1,num2);
den1=conv([1,0],[1,1]);
den2=conv([1,1],[1,1]);
den3=conv(den1,den2);
den4=[1,3,2,5];
den=conv(den3,den4);
G=tf(num,den)
G1=zpk(G)
G2=ss(G)
(2)num=[4 -2],逗号
den=[1 0 2 5];分号
G=tf(num,den)无符号
(3)num=1, 逗号
den=conv([2 1],[1 2]);分号
G=tf(num,den)无符号
G1=zpk(G)
G2=ss(G)
2 方法一
num=1,
den=conv([1,0],conv([0.5 1],[4 1])); G=tf(num,den)
rlocus(G)
rlocfind(G)
方法二
num=1,
den1=[1 0];
den2=conv([0.5 1],[4 1]);
den=conv(den1,den2);
G=tf(num,den)
rlocus(G)
rlocfind(G)
3 num=20;分号
den=[1 8 36 40 20]; 分号
t=0:0.01:20; 分号
t1=length(t);
u=ones(1,t1)*a;
[y,x]=lsim(num,den,u,t);
Plot(t,y)
Grid on
Wentai=0.1*polyvas(num,0)/polyvas(den,0)
Chaotiao=100*(max(y)-wentai)/wentai
Indextm=find(max(y)==y);
Tm=t(index tm)
Tt=t(find(cabs(y-wentai)/wentai)))>0.05;
Ts=max(tt)
M=length(y);
For i=1:m
Time go=t(i);
Break;
End
End
For i=1:t1
If y(i)=0.1*wentai
Time 10=t(i)
Break
End
End
Risetime=timego-timelo