Author:MWhite
Update time:17.11.02
Octave与Matlab有相通之处
Matlab学习笔记
本笔记只会记录特殊和值得写下的案例
运算
==是否等于
~=不等于
xor(甲,乙) 异或
% 注释符号
A.*B 二者规模相通,A与B的元素单纯相乘
A .^2 ;.点代表每一个元素
log() exp() abs() magic() eye() find() prod() sum() pinv() disp()
很多函数都可以输入一个参数或者输入两个参数,第二个参数是1或2时,1代表row,2代表column
floor() % 去小数
ceil() %去小数,有小数取+1
v=v+ones(length(v),1) % v=v+1
a=a+ones(size(a,1),size(a,2))
(A')' %转置两次
max(矩阵) %求每一column的最大值
max(矩阵甲,矩阵乙) %选择大的
矩阵<数值 %返回同样规格矩阵,成立的地方为1,不成立为0
赋值
a = 3 %赋值并显示a的值
a = 3; %用;后不显示a的值,只赋值
字符串用 ' '括起来
sprintf()函数类比C语言中的printf()函数
[a,b]=max(c) %如果右边可以赋予两个值的话,依次赋给a和b
format long
format short
和Matlab类似,改变显示数字的精度
矩阵
start:step:end
v =1:0.2:3 从1开始,3截止,每个数之间差0.2
C=2 * ones(2,3)
zeros()
rand(row,column)
rand(number) %方阵
randn(row,column) %高斯分布随机
eye(数字) identity matrix
size(矩阵)返回一个1 * 2的矩阵
size(矩阵,1或2)
length(向量)=size(矩阵,1)
变量(row;column)
变量(row; : ) %:代表全部
变量([行数甲 行数乙]; :)
变量=[矩阵,矩阵] %横向串联 加不加,都可
变量=[矩阵;矩阵] %纵向并联 加不加,都可
矩阵变量(:) %转换成一个向量
其他操作
- pwd查看当前位置
- load 文件名.dat 载入 之后Octave将文件名视为变量名,文件中的数据视为这个变量的值
- who 查看当前所以数据
- whos 更精确的who
- clear 变量 去除记录中的某个变量
- 变量甲=变量乙(start:end) 获取乙中数据给甲
- save 文件名.mat 变量名 保存 mat dat都是保存数据的一直后缀
- save example.txt v -ascii
绘图
- hist(矩阵,多少项)
- figure(1):plot(x矩阵,y函数中含有x,'r--');%第三个变量可不加,显示线条样式
- xlabel() ylabel() title() legend()图例 imagesc(矩阵),colorbar,colormap grad;
- figure;
- figure() 指定窗口
- subplot()分割窗口、并指定布局
- axis([a,b,c,d])
- hold on; hold off
- clf
- close
- cd 'C:\Users\name\Desktop'; print -dpng '图片名.png' %保存
编程
v=zeros(10,1)
for i=1:10,
v(i)=2*i;
end;
可以用for, while,if, elseif, break;
不要用() 本行结束用,逗号 不要用;分号
最后结束用end;
quit exit退出编辑程序模式
保存函数 文件名.m
function [返回值1,返回值2] 函数名(输入变量)
处理+返回值=啥啥啥;
处在有.m函数文件的目录下,可直接引用.m中的函数
addpath('XXXX')%添加路径,以后找函数也会从这里找