- Octave 版本号:4.2.1
四则:
图片.png逻辑运算
图片.png变量相关
图片.png在拥有GUI的Octave中,所有变量在左侧栏中有所显示:
图片.png矩阵相关
-
生成固定步长的行向量
起始:步长:结尾
图片.png -
生成对角矩阵:
-
快速生成矩阵
图片.png -
随机生成矩阵
- 获取矩阵规模
- 读取矩阵内的数值
- 修改矩阵内的数值
- 向矩阵添加行列
- 矩阵与向量之间的转换
路径相关的操作
类似于linux,不在此详细说明
图片.png数据加载
通过ones(500,2)生成了一个500*2的矩阵,随后存储起来,并clear了变量。
图片.png通过load加载刚才存储的ans并打印出来,发现ans与刚刚生成的内容一致。
图片.png
矩阵计算
初始:
图片.png
" .运算符"
“.”在这里起到的作用是表明计算为对应位置的计算,如A * B是不能相乘的因为他们都是 3 * 2的矩阵,但是.*使得他们对应位置相乘。.^2则是对应位置取平方。
1./为取倒数
幂运算
e^n 次方
绝对值
图片.png转置
取最大值
值得一提的是,因为A为矩阵,所以max(A)获得的是每列最大的值
max(A)是下面这个写法的缩写 图片.png
找到大于某值的元素
计数序列从左到右,按列计数。
1表示第一列的第一个,2表示第一列的第二个...
和、积、取整等
图片.png 图片.png矩阵化为向量
图片.png求逆矩阵
图片.png画图
- 轴线图
t = [0:0.01:0.98]
y1 = sin(2*pi*4*t)
plot(t,y1)
图片.png
要使新图在旧图的基础上进行绘制,则需要使用hold on;
plot(t,y1)
y2 = cos(2*pi*4*t);
hold on
plot(t,y2,'r')
xlabel('time')
ylabel('value')
legend('sin','cos')
title('my plot')
图片.png
可以使用指令分别打开两个图
figure(1); plot(t,y1)
figure(2); plot(t,y2)
图片.png
也可以在同一个图中进行分割
subplot(1,2,1)中前面的两个数表示分割为1*2的块,而1表示现在使用第一块。
subplot(1,2,1)
plot(t,y1)
subplot(1,2,2)
plot(t,y2)
axis([0.5 1 0 1])
axis([0.5 1 0 1])将改变右图的坐标轴,x轴为0.5-1,y轴为
图片.png- 可视化矩阵
A = magic(5)
imagesc (A)
colorbar
图中不同颜色表示不同的数值
图片.png控制关键字
-
for
for 和 end 为一组,其内部的句子在没有遇到end句柄的时候不会执行。
图片.png -
while
while同理
图片.png -
break
这次的语句中使用到了嵌套,可见end的匹配规则为就近。因为octave的语句格式不关注缩进,所以对关键字句柄一定要注意。
图片.png -
if else
函数
创建了一个函数,函数名为squareThisNumber.m
图片.png
在octave中调用:
图片.png
函数必须以.m结尾,否则就会出现“未定义”错误。
另外,返回值支持多返回值:
function [y1 y2] = squareAndCubeThisNumber(x)
y1 = x^2
y2 = x^3
图片.png
也支持多个变量输入
function J = costFunction(X,y,theta)
% X is the 'design matrix' play the role of the training examples
% y is the class labels of X
m = size(X,1); % get the number of examples
prediction = X * theta;
sqrErrors = (prediction - y).^2;
J = 1/(2*m)*sum(sqrErrors);
网友评论