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)

  

原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/10686236.html