学习数学建模的同时,不可避免的会使用到mtalab的一些基础函数,于此记录。
%% clear 清除工作区 clc 清空命令区
% disp('层次分析法进行数学建模');
%% 有关字符串的合并函数 strcat(str1,str2)
% str1 = strcat('hello ',' world','!');
% disp(str1);%输出函数末尾加不加分号都显示结果
% % 字符串拼接也可以使用[],像矩阵一样
% str2 = ['nihao' 'buhao']
% % 数字转化字符串函数num2str()
% num1 = 101;
% str3 = num2str(['该结果为:',num2str(num1) ]);
% disp(str2);
%% 输入函数input(),若在末尾添加了分号则不会显示结果
% A = input('输入目标A:')
% % 输入矩阵时,可以输在一行,也可以多行
%% sum()函数
% % 如果所求变量为向量时,不管是行向量还是列向量,都是将这几个数字加起来
% A = [1 2 4];
% sum(A)
% % 如果所求的是一个矩阵的时候可以指定参数去求列的和还是行的和
% B = [1 2 3;21 2 1 ]
% sum(B,1)
% sum(B,2)
% % 因此在求整个矩阵的时候可以嵌套使用,或者sum(B(;))
% sum(sum(B,1),2)
% sum(B(:))
%% 查看指定元素,行全部元素或者是列全部元素
B = [1 2 3;21 2 1 ;14 12, 12;21,2121,11]
B(1,2)%第一行的第二个元素
B(:,1)
%取某些行B([n,n],:)
B([2,4],:)
% 取某些行快捷方式,这里1和3中间的符号称之为等差行如不写参数,则默认为1
B(1:3,:)
% 其中end可以表示最后一行或者最后一列
% 显示全部元素 B(:)---->按照列展示因为matlab底层是根据列来写矩阵的
B(:)
%% size函数求得矩阵的行数以及列数
[r,e] = size(B)
% 也可以指定的返回行数或者列数
r0 = size(B,1)
%% repmat函数,将指定矩阵复制m*n块
repmat(B,2,3)
B0 = [1 2 3 ; 4 5 6]
repmat(B0,2,3)
%% matlab当中的基础运算
% 在matlab当中‘*’和‘/’代表的是矩阵的一个乘法与除法
% (俩个矩阵相除相当于一个矩阵乘以另外一个矩阵的逆)
% 如果想要 数字与数字(每个元素都要计算)之间进行计算需要在/前面添加一个.
%% matlab 当中求矩阵的特征值和特征向量
% matlab当中求特征值用 eig()函数
C = [1 2 3 ; 1 0 2 ; 24 0 7]
E = eig(C)%只给了一个参数接受结果,该结果为特征值
[V,D] = eig(C)
% 俩个参数接收:V表示特征向量,D表示特征值
%% find 函数基本用法
% find函数用于返回,向量或者矩阵当中不为0的元素的索引值
index = find(C)
% 因为矩阵在matlab当中是以按照列来存储的,所以在返回索引值的时候也是按照
% 列的方式去排序的
[r,c] = find(C)%用来返回索引值的行列
[r,c] = find(C,2)%返回前俩个非零元素的位置
%% 矩阵与常数的大小判断运算
% 共有三种运算 大于]'>',小于'<',等于'=='。
C>0
% 返回一个逻辑数组,1为真,0为假