19-matlab知识点复习二

时间:2023-03-09 22:11:46
19-matlab知识点复习二
%%
function RandDisplayJiong
axis off; %关闭坐标轴
%Menubar是菜单条 none就是不显示图上方的菜单条
set(gcf,'menubar','none','toolbar','none','unit', 'normalized', 'position', [0,0,1,1]);
for k=1:377
h=text(rand, rand, ...
['\fontsize{',num2str(unifrnd(5,77)),'} CTGU MCM'],...
'color',rand(1,3),'Rotation',360*rand);
pause(0.2);
end %% 矩阵旋转:
A = [1, 2, 3; 4, 5, 6]
fliplr(A) % 左右旋转
flipud(A) % 上下旋转 rot90(A) % 逆时针旋转90
rot90(A, 2) % 逆时针转90*2 A' % A的转置 %% 练习:
%% 1、将矩阵[1 3 5 8 9 4 6 4]倒叙
clc;
clear;
a = [1 3 5 8 9 4 6 4];
len = size(a,2);
% 用矩阵的方法解决
c=a(:,end:-1:1)
% 旋转180度
d = rot90(a,2)
% 存入新数组
for i = 1:len
b(len - i + 1) = a(i);
end
b
% 对应位置互换
for i = 1:len/2
t = a(i);
a(i) = a(len - i + 1);
a(len - i + 1) = t;
end
a %% 2、将矩阵[1 3 5 8 9 4 6 4]升序/降序
clc;
clear;
a = [1 3 5 8 9 4 6 4];
len = size(a,2);
% 冒泡
for i = 1:len
for j = 1:len-i
if a(j) > a(j+1) % 降序:<
t = a(j);
a(j) = a(j+1);
a(j+1) = t;
end
end
end
a
a = [1 3 5 8 9 4 6 4];
sort(a)
sort(a,'descend') % 降序 a=[1 3 5 8 9 4 6 4];
[i,j]=sort(a) %% [1].生成一个10*10的矩阵,其中前四行均为0,后六行均为1。
A = zeros(4,10);
B = ones(6,10);
C = [A; B] %% [2].生成一个10*10的矩阵,其中第一行均为1,第二行均为2,第三行均为3,以此类推。
clc;
clear;
for i = 1:10
for j = 1:10
A(i,j) = i;
end
end
A %% [3].删除第二题中矩阵的第二行与第九行,第一列与最后一列。
clc;
clear;
for i = 1:10
for j = 1:10
A(i,j) = i * 10 + j;
end
end
B = [A(1,:); A(3:8,:); A(10,:)]
B = B(:,2:end-1)