basic operations:

eye(n):生成n行n列的单位矩阵
rand(n,m):随机生成n行m列大小范围在0~1之间的随机数
rand(n,m):按高斯分布生成n行m列的随机数
ones(n,m):生成n行m列元素均为1的矩阵
zeros(n,m):生成n行m列元素均为0的矩阵
transpose(a) 矩阵a的转置
A=[1 2;3 4;5 6;] 一个3x2矩阵
v=[1 2 3] 一个1x3矩阵
v=[1;2;3]一个3x1矩阵
help 查询帮助

moving data around:

size(A) 求矩阵的维度,输出是一个1x2矩阵
size(A,1) 求矩阵的维度的行数,size(A,2)求矩阵的维度的列数
length(A) 求矩阵的长度
load priceY.dat 或 load (‘priceY.dat’) 导入数据
who 展示当前的变量
whos 展示当前变量和基本信息
priceY 展示变量priceY的内容
clear priceY 清除变量priceY
v=priceY(1:10) v等于变量priceY矩阵中的第1到10个元素的矩阵
save hello.mat v 保存变量v的数据为hello.mat
save hello.txt v -ascii 存储为text格式(ASCII)
A(3,2) 矩阵A的第3行,第2列的元素
A(2, : ) 矩阵A的第2行,全部元素,输出是一个矩阵
A(: , 2) 矩阵A的第2列,全部元素,输出是一个矩阵
A([1 3], : ) 矩阵A的第1和第3行的全部元素,输出是一个矩阵
A(: , 2) =[10; 11; 12] 更新矩阵A的第2列为[10; 11; 12]
A=[A,[100; 101; 102]] 在矩阵A的右侧拼接上列向量[100; 101; 102]
A(:) 把矩阵A所有的元素放入一个向量中
C=[A B] 让矩阵C等于AB两个矩阵左右拼接在一起的新矩阵 [A B]=[A, B]
C=[A; B] 让矩阵C等于AB两个矩阵上下拼接在一起的新矩阵

computing on data:

AC 矩阵A乘矩阵B,前面矩阵的列数等于后面矩阵的行数
A.
B 矩阵A乘矩阵B,两个矩阵对应元素相乘,要求两个矩阵行数列数都相等
A.^2 矩阵A乘矩阵A,两个矩阵对应元素相乘
1./A 对矩阵A/向量v的元素取倒数
log(v) 对v的元素求对以e为底的对数
exp(v) 对v的元素计算e的指数函数
abs(v) 对v的元素计算绝对值
a<3 输入矢量a中每个元素和3比较的布尔值
find(a<3) 输出矢量a小于3的元素位置
magic(3) 输出一个N-by-N矩阵,每行、每列、每个对角线之和相等
sum(a) 计算a的全部元素的和
prod(a) 计算a的全部元素的积
floor(a) 去掉a的全部元素的小数,舍弃小数
ceil(a) 去掉a的全部元素的小数,小数进一位
max(A,[],1) 计算矩阵A的每列的最大值(1),每行的最大值(2)
sum(A,1) 计算矩阵A的每列的和(1),每行的和(2),sum(A) 默认是列
flipud(eye(n)) 反向列
fminfunc(fun,x0,options) 使选项中指定的优化选项最小化。 使用optimoptions来设置这些选项。
pinv(A) 计算矩阵A的逆

plotting data

t=[0:0.01:0.98] t等于0到0.98,以0.01为变化的数字
y1=sin(2pi4*t) y等于sin函数
plot(t,y1,’r’) 绘制图形
hold on 不覆盖当前绘图
xlabel(‘time’) 设置横坐标,ylabel(‘value’)
legend(‘sin’,’cos’) 设置图例
title(‘my plot’) 设置标题
image.png
print -dpng ‘my plot.png’ 导出为PNG格式的图片(需要花时间不如截图)
figure(1);plot(t,y1) 设为图像1
subpot(1,2,1) 设置为两个格子,使用第一个格子展示
clf 清除图表
imagesc(A);colorbar,colormap gray; 绘制每个值为颜色,并且展示颜色条
imagesc(A),colorbar,colormap gray; 逗号链接的函数,连续执行

control statement:for,while,if

for 语句

indices=1:10 for i=indices, disp(i); end;


while语句**

i=1; while i<=5, v(i)=100; i=i+1; end;

while-if嵌套 break

while i>=1, v(i)=999; i=i-1; if i==5; break; end; end;

函数
**
[a,b]=squareAndCubeThisNumber(x) 一个函数同时返回两个值
addpath(‘users/shawn/Downloads’) 添加搜索函数的路径

squareAndCubeThisNumber.m 同一个路径下的函数文件 function y=squareThisNumber(x); y=x^2; y=x^3;

image.png
X=[1 1;1 2;1 3]
y=[1; 2; 3]
theta=[0;1]
j=costFunctionJ(X,y,theta)

costFunctionJ.m 同一个路径下的函数文件 function J=costFunctionJ(X,y,theta) m=size(X,1); predictions=X*theta; sqrErrors=(predictions-y).^2; J=1/(2*m)*sum(sqrErrors);

vectorize

h(x)
image.png

gradient descent
image.png

octave函数:https://blog.csdn.net/hhw999/article/details/90232300