%---------------------------第一节-一些基本使用--------------------------------------------------
 % clc为清屏,在下方命令行窗口输入
disp("Helloworld") % disp(display)就是输出函数,类似c语言中的printf函数,它比较特殊,可以在后面加分号,也可以不加分号
a = [1,2,3];
b = [1 2 3]; %同一行中间用逗号分隔,也可以不用逗号,直接用空格
c = [1;2;3]; % 分号可以用来分隔每一行的元素
% 注意,如果加分号,那么就不会输出,不加分号,默认会执行输出
disp(a) %   1     2     3 行向量
disp(b) %   1     2     3 行向量
disp(c) % 列向量
%     1
%     2
%     3

%--------------------------第二节-字符串合并方法(2种)---------------------------------------------------


% matlab中两个字符串的合并方法
% 1. strcat(string1,string2,...)
str1 = strcat('hello','world'); %helloworld
disp(str1)

% [string1,string2,....]
str2 = ['Hello','World']; %HelloWorld
disp(str2)



%------------------------------第三节-数字转字符串-----------------------------------------------
% matlab中有代码补全,可以使用tab按键实现
c = 100;
NumToString = num2str(c);  %数字C转换为字符串
disp(['c的取值为:',NumToString]); %c的取值为:100





%--------------------------------第四节-输入 input---------------------------------------------
A = input('输入A:');
B = input('输入B:');
disp(['输入的A值为:',num2str(A)]);
disp(['输入的b值为:',num2str(B)]);
% 输入的A值为:10
% 输入的b值为:20

%--------------------------------第五节-sum函数---------------------------------------------
%(1)如果是向量(无论是行向量还是列向量),都是直接求和
E = [1,2,3];
disp(sum(E)); % 6
F = [1;2;3];
disp(sum(F)); % 6
G = [1 2 3];
disp(sum(G)); % 6


%--------------------------------第六节-矩阵---------------------------------------------
H = [1,2;3,4;5,6];
disp(H);
%{
输出如下
     1     2
     3     4
     5     6
%}

%对矩阵求和,默认对列进行求和,得到一个行向量
disp(sum(H));  %      9    12
disp(sum(H,1)) ; % 9 12 % 第二个参数为1,对列求和
disp(sum(H,2));  % 第二个参数为2,对行求和
%{
3
7
11
%}

%对整个矩阵求和
disp(sum(H(:))); % 21


clc; %清屏
A=[1 1 4  1/3 3;1 1 4 1/3 3;1/4 1/4 1 1/3 1/2;3 3 3 1 3;1/3 1/3 2 1/3 1];
disp(A);
%{
    1.0000    1.0000    4.0000    0.3333    3.0000
    1.0000    1.0000    4.0000    0.3333    3.0000
    0.2500    0.2500    1.0000    0.3333    0.5000
    3.0000    3.0000    3.0000    1.0000    3.0000
    0.3333    0.3333    2.0000    0.3333    1.0000
%}
%显示第三行第一列的元素
disp(A(3,1)); % 0.2500

% 显示第二行元素 输出一个行向量,
disp(A(2,:));
% 1.0000    1.0000    4.0000    0.3333    3.0000

%显示第三列元素,输出要给列向量
disp(A(:,3));
%{
    4
     4
     1
     3
     2
%}

% 取某些行
% 取第二行和第五行
disp(A([2,5],:));

%{
1.0000    1.0000    4.0000    0.3333    3.0000
    0.3333    0.3333    2.0000    0.3333    1.0000
%}


% 取2-5行
disp(A(2:5,:));
%{
    1.0000    1.0000    4.0000    0.3333    3.0000
    0.2500    0.2500    1.0000    0.3333    0.5000
    3.0000    3.0000    3.0000    1.0000    3.0000
    0.3333    0.3333    2.0000    0.3333    1.0000
%}


%取第二行和第四行
disp(A(2:2:5,:)); % 从2开始每次递增两个单位,直到5

%第二行到最后一行
disp(A(2:end,:));


%--------------------------------第七节-size函数---------------------------------------------
clc;
A = [1,2,3;4,5,6];
B = [1,2,3;4,5,6];
disp(size(A)); %      2     3
%siz(A)函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数
[r,c] = size(A); %类似于javascript里或者python里面的解构赋值吧,分别把size(A)返回的两个值赋值给r和c
disp(['r:',num2str(r)]); % 2
disp(['c:',num2str(c)]); % 3
% 除了上面的解构赋值方式,我们还可以这样用
r = size(A,1); %第二个参数填1表示返回行
c = size(A,2); % 第二个参数填2表示返回列

数据类型转换