语言 - Octave使用


下标从1开始

1.基础
~= 不等于
% 注释
&& 逻辑与
xor() 异或(相同为0,不同为1)
PS1('') 隐藏改变提示符
sqrt( ) 开根号
; 阻止打印
disp() 打印
sprintf() 生成字符串
hist() 绘图

2.矩阵
A = [2 3 3; 3 2 5] ;表示换行
v = 1:0.2:2 0.2表示步长
ones(2, 3) 生成2x3的全1矩阵
zeros(2, 3) 类似上面
rand(2, 3) 2x3的随机0-1之间
randn(2, 3) 2x3符合正态分布
eye(n) 生成n阶单位矩阵

size(A) A矩阵的维度
size(A, n) A的第n维度
length(v) v的最大长度

help 命令 查命令的帮助q退出

who/whos 进程中的变量/详细信息
clear 变量 清除变量
load 文件/load('文件') 加载到进程中
save 文件 变量 -ascii 存变量到文件asc型

3. 索引操作***
w = a(1:10) 将a的1-10个元素给w
A[i] / A(: , i) 第i列 : 表示所有
A(2,3) 2行3列
A([1 3], :) 1,3行
A[A, [100; 2; 3]] 右加一列
[A B]/ [A, B] A和B左右合并
[A; B] 上下合并
A(:) A 的所有元素一维

4.运算
A * B 矩阵乘
A .* B 对应位置元素乘
A .^ n 每个元素求n次方
. 表示针对元素的运算
log(v)v中元素以e为底的对数运算
exp(v)每个元素求e的v次方幂运算
abs(v) 绝对值
-v 每个元素的相反数
v + 1 每个元素加1
A ‘ A的转置
pinv(A) A的伪逆矩阵
max(v) 返回最大值以及索引
max(A) 每列的最大值
A < 3 每个元素比较3
find(A<3) 会返回索引值
magic(n) 生成n阶幻方
sum(a) a元素求和
prod(a) a元素乘积
floor(a)/ceil(a) 元素向下/向上取整
max(A,[],1) 每行的最大值(行显示)
sum(A,1) 每列的和(行显示)

5.绘图
plot(x1, y1, ’r‘); 红色画线
hold on; 维持原有线段
xlabel('') x轴名字
legend('', '') 标记两曲线的名字
title('') 标题
print -dpng '文件名.png' 保存图像
close 关闭图像
figure(1); plot(x,y); 编号图像1
subplot(1,2,2) 画一个1x2的格子 用第2块
axis([-1 1 -3 4]) 依次表示x y 的刻度范围
clf; 清除图像
imagesc(矩阵) 将矩阵画图
colorbar 加颜色表示条
colormap gray 变为灰度图
, 可以连接多条命令一起执行

6.控制语句
for i=1:10, % i为1到10
循环语句
end;

if 条件,
语句;
elseif 条件,
语句;
else
语句;
end;

exit/ quit 退出

7.函数定义

需先创建一个文件名字为函数名.m后缀

文件内容
1function [返回值可多个]= 函数名(参数)
2(主体)表达式 例:返回值 = 参数的平方

函数调用
函数名(参数值)

搜索路径设置
% octave search path(advanced/optional)
addpath('路径')

8.矢量
尽量用向量计算 代替for循环。

posted @ 2021-01-11 11:36  西柚青年  阅读(196)  评论(0编辑  收藏  举报