语言以分号;结尾
if for while等语句后用,来承接关系
if ,elseif ,else ,end;
for i=1:10,end;
while a>3 ,end; while true,if ,break;end;end;
常规的=赋值,和==等于
break和continue有效
end做为循环与判断的结束
数值为主,自定义变量之前不需要声明数据类型
不等用~= 注释用%
逻辑 与 && ,或||,异或xor()
字符串定义的时候直接用单引号即可,打印出来的没有引号
c = (3>=1) 结果是c=1 支持判定赋值
disp(a) 不会打印a=
sprintf(‘%0.2f‘,a)可用
a = [1;2;3]一个列向量
a=[1 2 3]一个行矩阵
a = [1 0;0 1]二维单位向量
2*ones(2,3) 两行三列2
zeros(3,2)三行两列0
a = 1:0.1:2 从1到2,0.1为步长,包括1和2。不设置步长默认为1
rand(3,3) 33矩阵随机
randn(1,3) 13矩阵正态分布随机
hist(a) 绘制a的直方图
eye(6) 66单位矩阵
size(A,2)如果A是二维矩阵是看A第二行长度,默认返回矩阵格式如:ans = 5 5
length(A) 返回最外层大小
支持 cd ls (dir)
who 查看当前函数有哪些变量
whos 是更详尽的查看函数的命令
(查看结果,默认的数字都是double双精度)
clear a 删除a函数
save a.mat v 将变量v存成一个叫a.mat的文件,路径基于默认路径,也可以切换
save a.txt v -ascii ascii格式存储
支持切片操作
a([1 3],:) 返回第1 3行的所有列
a = [a,[100;200;300]] a 右边加一列
a = [a;[100,200]] a 下边加一行
c = [a b] ab横向整合
c = [a;b] ab纵向整合
a.*b a.^2 a./v 矩阵元素位运算(乘 平方 除)
log(a) 求对数
exp(a) e的幂次运算
abs(a) 绝对值
-v 直接表示元素的数取反
v+1 表示元素各个位+1
a‘ 转置矩阵
max(a) a中最大值返回方式是a = [1,4;2,2] max(a)返回2,4
[val,ind] = max(a) 返回val为最大值 ind为最大值的索引
max(a,2.2) a = [1,4;2,2] 返回[2.2000,4;2.2000,2.2000]
max(a,[],1) 每一列最大值 max(a,[],2) 每一行最大值
max(max(A)) 这样就可以得出整个A
find(a<3) 返回a中小于3的值
a = magic(3) 幻方
[r,c] = find(a >= 7) 返回符合条件的 r位行 c为列
sum(a) 求和如果二维,会所有行累加,类推
prod(a) 最外层乘积,亦二维返回各行.*
ceil(a) 向上取整
floor(a) 向下取整
pinv(a) a的(伪)逆矩阵
a*b 叉乘
画图
t = [0:0.01:0.98];
y = sin(2*pi*4*t);
plot(t,y) 返回一个正弦曲线
plot(t,y,‘r‘) r表示颜色:红
xlabel(‘time‘) 水平轴标签 ylabel(‘value‘)
legend(‘sin‘,‘cos‘) 图例
title(‘myplot‘) 标题
print -dpng ‘myplot.png‘ print -djpg ‘myplot.jpg‘保存画出的图片
close 关闭图片
subplot(1,2,1);figure(1);plot(t,y1) 1行2列第一个放图片plot
clf 清除一幅图像
imagesc(A),colorbar,colormap gray 连续3个指令 幻方的,色块的,绿色映射的
例如颜色 线型等 用help plot查询
quit和exit 退出
自定义函数的格式
function y = squareThisNumber(x)
y = x^2
支持多返回值
[a,b] = SquareAndCubeThisNumber(5)
search path(搜索路径)
addpath 添加路径
善用help
disp(i)可以查看长度,但是具体用法有点诡异