Octave基本操作

运算符号

“+” ,“-”,“*”,“/”,“^”
“==”,"~="
“&&”,"||",“xor(0,1)”

操作符号

“%”            注释符号
“;”           阻止打印
PS1            转变提示符
disp()            打印,可以直接放字符串
sprintf(’%0.2f’,a)           同C++
format long/small            类型转化
a = 1 : 0.1 : 2           %1 , 1.1 , 1.2 ,…, 1.9 , 2
a = 1:5            % 1 2 3 4 5
pwd           %当前路径
cd           %移动
who           %显示所有变量
whos           %变量详情(name/size/bytes/class)
clear 变量           %清除变量
clc          %命令清屏
close / close all          %清除图像
ctrl+c          %退出该命令
exit / quit           %退出octave
save name.mat 变量 -ascii          %把数据存储为文本
load 文件名 / load(‘文件名’)           %读入文件内容

矩阵

  • 矩阵声明

A = [1 2 ; 3 4 ; 5 6 ]            % ";"代表换行
eye(n)          %单位矩阵
zeros(n)           %nn矩阵,元素为0
ones(m,n)           %m
n矩阵,元素为1
rand(n)           %随机生成矩阵,元素为(0,1)
randn(n)           %矩阵元素是从标准正态分布中抽取的随机标量
期望 + sqrt(方差) * randn(n)           %指定均值和方差
magic(n)          %幻方矩阵(任意行列对角线相加值一致)

  • 矩阵元素提取,修改

A(m,n)          %m行n列的元素
A([1 3 ], : )          %1,3行的所有元素,":"代表所有元素
A(1:3,1:4)          %1到3行,1到4列
A(:,2) = [1;2;3]          %修改第二列
A = [A,[1;2;3]]          %append一列
A( : )          %把A中所有元素放在一列

  • 矩阵运算

C = [A B]          %左右合并 C =
C = [A ; B]          %上下合并
A + 1           %所有元素+1
A / 2           %所有元素/2
A * 3           %所有元素3
log(A)          %log(A(m,n))
exp(A)          %e^A(m,n)
A * B           %矩阵相乘
A .
B          %A中各个元素与B中对应元素相乘
A .^2          %A中所有元素取平方
abs(A)          %所有元素取绝对值
-A          %相反数
A’          %A的转置
pinv(A)          %A的逆
max(A)          %每一列的最大值(默认)
max(A,[],1)          %每一列的最大值
max(A,[],2)          %每一行的最大值
[val,ind] = max(A)          %每一个列最大元素及所在该列位置
A < 3           %每一个元素进行比较,返回boolean矩阵
find(A<3)          %返回对应元素索引,按列依次进行
sum(A,1)          %列求和
sum(A,2)          %行求和
sum(sum(A.*eye(n)))          %对角线求和
sum(sum(A.*flipud(eye(n))))          %斜对角线求和,flipud矩阵垂直翻转
floor(A)          %元素向下取整
ceil(A)          %元素向上取整
size(A)/size(A,1)/size(A,2)           矩阵的大小(1:行数 ; 2:列数)
length(A)           %较大的维数

  • 向量

[val,ind] = max(a)          %最大值及位置
sum(a)          %所有元素求和
length(a)           %长度
mean(a)          %均值

绘图

hist()           %直方图(质量分布图)
plot          %x-y
surf()          %网状图
contour          %等高线

plot(x,y,‘r’)           %’ 颜色首字母 ’
hold on           %在旧的图像上绘制新的图像
xlabel(‘x’)          %横轴变量符号
ylabel(‘y’)
legend(‘y1’,‘y2’)          %在图像上标记
title(’ ')          %图像名称
axis([a,b,c,d])          %更改x,y范围,x:(a,b)y:(c,d)
print -djpg figure1.jpg && print figure1.pdf          %将图片打印出来(.jpg,,png等)
cd ‘位置’; print -djpg figure1.jpg
subplot(1,2,1)          %前两个参数表示分为1*2个格子,第三个参数表示使用哪一个格子
figure(1),figure(2)          %多个画板
clf;          %清除图像
close;          %关闭
imagesc(A)          %可视化矩阵
imagesc(A),colorbar,colormap gray

  • plot
>>x = 0:0.01:1
>>y1 = sin(2*pi*4*x);
>>y2 = cos(2*pi*4*x);
>>plot(x,y1);
>>hold on;
>>plot(x,y2,'r');
>>xlabel('x');
>>ylabel('sin/cos');
>>legend('sin','cos');
>>title('sin/cos');
>>print -dpng 'Figure1.png';

在这里插入图片描述


 Format arguments:
    linestyle
          '-'  Use solid lines (default).
          '--' Use dashed lines.`
          ':'  Use dotted lines.
          '-.' Use dash-dotted lines.
    markerstyle
          '+'  crosshair
          'o'  circle
          '*'  star
          '.'  point
          'x'  cross
          's'  square
          'd'  diamond
          '^'  upward-facing triangle
          'v'  downward-facing triangle
          '>'  right-facing triangle
          '<'  left-facing triangle
          'p'  pentagram
          'h'  hexagram
    color
          'k'  blacK
          'r'  Red
          'g'  Green
          'b'  Blue
          'm'  Magenta
          'c'  Cyan
          'w'  White 

Useful properties to modify are "linestyle",
     "linewidth", "color", "marker", "markersize", "markeredgecolor",
     "markerfacecolor".
E.g.
 plot(i,j,'--r','linewidth',20)            'style + color'
 plot(i,j,'xr','markersize',20)
  • surf / contour
>> x = linspace(-50,50,50);
>> y = linspace(-25,25,25);
>> [xx,yy] = meshgrid(x,y);      % xx/yy都是矩阵(25*50)输出xx的每一行的数值都是复制的x的值;输出yy的每一列的数值都是复制的y的值。
>> zz=8000-2.*xx.*xx-5.*yy.*yy;
>> surf(xx, yy, zz);
>> colorbar;       %如下图,右边那个色卡
>> hold on ;
>> contour(xx,yy,zz);
>> colorbar;

for/while/If

>>for i=1:10,
    v(i) = 2^i;
end;

>>while i<10,
disp(i);
i++;
end;

function

函数文件名:函数名.m
一个函数可以返回多个值

function [y1,y2] = square(x)
y1 = x^2;
y2 = x^3;
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值