promat = 'This is a sentence.'
x = input(prompt)
%显示prompt中的文本并等待用户输入数值或者表达式后按Return
%如果用户什么都不输入,则input会返回空矩阵
str = input(prompt,'s')
%返回输入的文本,而不会将输入作为表达式计算
magic:幻方矩阵
M = magic(n)
%返回由 1 到 n^2 的整数构成并且总行数和总列数相等的 n×n 矩阵
幻方矩阵可视化
for n = 1:16
subplot(4,4,n)
ord = n+8;
m = magic(ord);
imagesc(m)
title(num2str(ord))
axis equal
axis off
end
%这些图案表明 magic 使用三种不同的算法,取决于 mod(n,4) 的值是 0、2 还是奇数。
%copy by MathWorksChina
isempty
TF = isempty(A)
%确定数组是否为空
%如果A为空,TF返回 Logical 1,否则返回Logical 0.
%空数组、表或时间有至少一个长度为0的维度,如0*0或0*5
Strings
strings:空字符串数组
str = strings
%返回不包含任何字符的字符串
str = strings(n)
%返回n*n的空字符串方阵
%如果输入的方阵大小n为负值,那么strings将n视为0;如果n=0,则str为一个空数组
str = strings(sz1,……,szN)
%括号中为维度,EG:strings(2,3)代表返回2*3空字符串数组
%如果任意维度的大小为0,则str为空数组
%任意维度大小为负,则strings将其视为0
%对于第二个维度以上的维度,strings 忽略大小为 1 的尾部维度。例如,strings(3,1,1,1) 生成不包含任何字符的 3×1 字符串向量。
str = strings(sz)
%大小向量size定义size(str);EG:strings([2,3])返回2*3的空字符串数组
string:字符串数组
str = string(A)
%将输入的数组转化为字符串数组
str = string(D)
%以D的format属性指定的格式,将日期时间等时间或持续时间数组转化为字符串数组(详情自查)
str = string(D,fmt)
%以指定的格式表示日期或持续时间(详情自查)
str = string(D,fmt,locale)
%以指定的区域设置(例如 'en_US')表示日期或持续时间(详情自查)
num2str
s = num2str(A)
%将数值数组转换为表示数字的字符数组;输出格式取决于原始值的量级
s = num2str(A,precision)
%返回表示数字的字符数组,最大有效位数由precision指定
s = num2str(A,formatSpac)
%将formatSpec指定的格式应用到A所有元素
disp
disp(X)
%显示变量的值,而不打印变量名称;
X = rand(5,3);
disp(' Corn Oats Hay ')
%为列提供标签
%另外三个独特且很有用的表示方法
1:
%name = 'Alice';
%age = 12;
X = [name,' will be ',num2str(age),' this year.'];
disp(X)
%使用 [] 运算符,使用 num2str 将数值转换为字符。使用 disp 显示结果
2:
%name = 'Alice';
%age = 12;
X = sprintf('%s will be %d this year.',name,age);
disp(X)
%使用 sprintf 创建文本,然后通过 disp 显示它
3:
%name = 'Alice';
%age = 12;
fprintf('%s will be %d this year.\n',name,age);
% fprintf 直接显示文本,无需创建变量。要确保正常终止显示,必须在文本末尾处添加换行\n元字符
rand
x = rand
%返回一个区间在(0,1)内均匀分布的随机数
x = rand(n)
%返回一个n*n的随机数矩阵
x = rand(sz1, sz2, ……, szN)
%返回随机数组成的sz1*sz2*sz3*……*szN数组,szN是每个维度的大小;EG:rand(1,2,3)
x = rand(sz)
%返回由随机数组成的数组,其中sz指定size(x);EG:rand([3 4]),返回3*4的矩阵
x = rand(___,typename)
%返回由typename数据类型的随机数组成的数组
x = rand(___,'like',p)
%返回由p等随机数组成的数组;也就是与p同一对象类型
x = rand(s,___)
%从随机数流 s 而不是默认全局流生成数字。
详细用法请自行查找
break:中止for or while循环
break
终止执行 for
或 while
循环。不执行循环中在 break
语句之后显示的语句。
在嵌套循环中,break
仅从它所发生的循环中退出。控制传递给该循环的 end
之后的语句。
reverse:2016后可用
newStr = reverse(str) %反转str的字符顺序 EG: str = ["airport","control tower","radar","runway"]; newStr = reverse(str); tf = (newStr == str); str(tf); %OUTPUT反转之后相同的字符串
Strcmp:比较字符串
TF = strcmp(s1,s2) %比较s1与s2,如果二者相同,则返回1,反之0.文本大小与内容相同视为相等
Mean
M = mean(A) %返回 A 沿大小不等于 1 的第一个数组维度的元素的均值。 % A 向量,则mean(A)返回元素均值。 % A 矩阵,那么mean(A)返回包含每列均值的行向量。 % A 多维数组,则mean(A)沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度会变为 1,而所有其他维度的大小保持不变。 M = mean(A,'all') %计算 A 的所有元素的均值,2018B后可适用 M = mean(A,dim) %返回维度 dim 上的均值。例如,如果A为矩阵,则 mean(A,2) 是包含每一行均值的列向量。 M = mean(A,vecdim) %计算向量 vecdim 所指定的维度上的均值。A矩阵,mean(A,[1 2]) 是A中所有元素的均值,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。 M = mean(___,outtype) %使用前面语法中的任何输入参数返回指定的数据类型的均值 M = mean(___,nanflag) % 指定在上述任意语法的计算中包括还是忽略NaN值。mean(A,'includenan') 会在计算中包括所有 NaN 值,而 mean(A,'omitnan') 则忽略这些值。
std:标准差
S = std(A) #如果 A 是一个列为随机变量且行为观测值的矩阵,则 S 是一个包含与每列对应的标准差的行向量 #其他自查 S = std(A,w) S = std(A,w,'all') S = std(A,w,dim) S = std(A,w,vecdim) S = std(___,nanflag)
sym & syms
x = sym('x') %创建变量X A = sym('a',[n1 ... nM]) %返回一个多维向量 n1 = row;n2 = colomn %标记下标 %EG:a = sym('x_%d',[1 4]) 返回[x_1, x_2, x_3, x_4] %EG:A = sym('A',[3 4]) %输入a(1)返回x_1。可视为查找数组 A = sym('a',n) sym(___,set) sym(___,'clear') sym(num) %会转换格式 %EG:sym(exp(pi)) OR exp(sym(pi)) sym(num,flag) sym(strnum) %创建超过15位的数之后需要加‘’,格式是sym;加入表达式也是需要‘’ %更多自行了解
syms var1 ... varN %创建多重变量 syms var1 ... varN [n1 ... nM] syms var1 ... varN n syms ___ set syms f(var1,...,varN) syms f(var1,...,varN) [n1 ... nM] syms f(var1,...,varN) n syms var1 ... varN [nrow ncol] matrix syms var1 ... varN n matrix syms(symArray) syms S = syms %自行了解
ones
X = ones %创建一个全为1的数组 X = ones(n) X = ones(sz1,...,szN) X = ones(sz) X = ones(___,typename) X = ones(___,'like',p)