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’) 设置标题
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:10for 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;

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)
gradient descent
octave函数:https://blog.csdn.net/hhw999/article/details/90232300
