Author:MWhite
Update time:17.11.02
Octave與Matlab有相通之處
Matlab學(xué)習(xí)筆記
本筆記只會(huì)記錄特殊和值得寫下的案例
運(yùn)算
==是否等于
~=不等于
xor(甲,乙) 異或
% 注釋符號(hào)
A.*B 二者規(guī)模相通,A與B的元素單純相乘
A .^2 ;.點(diǎn)代表每一個(gè)元素
log() exp() abs() magic() eye() find() prod() sum() pinv() disp()
很多函數(shù)都可以輸入一個(gè)參數(shù)或者輸入兩個(gè)參數(shù),第二個(gè)參數(shù)是1或2時(shí),1代表row,2代表column
floor() % 去小數(shù)
ceil() %去小數(shù),有小數(shù)取+1
v=v+ones(length(v),1) % v=v+1
a=a+ones(size(a,1),size(a,2))
(A')' %轉(zhuǎn)置兩次
max(矩陣) %求每一column的最大值
max(矩陣甲,矩陣乙) %選擇大的
矩陣<數(shù)值 %返回同樣規(guī)格矩陣,成立的地方為1,不成立為0
賦值
a = 3 %賦值并顯示a的值
a = 3; %用;后不顯示a的值,只賦值
字符串用 ' '括起來
sprintf()函數(shù)類比C語言中的printf()函數(shù)
[a,b]=max(c) %如果右邊可以賦予兩個(gè)值的話,依次賦給a和b
format long
format short
和Matlab類似,改變顯示數(shù)字的精度
矩陣
start:step:end
v =1:0.2:3 從1開始,3截止,每個(gè)數(shù)之間差0.2
C=2 * ones(2,3)
zeros()
rand(row,column)
rand(number) %方陣
randn(row,column) %高斯分布隨機(jī)
eye(數(shù)字) identity matrix
size(矩陣)返回一個(gè)1 * 2的矩陣
size(矩陣,1或2)
length(向量)=size(矩陣,1)
變量(row;column)
變量(row; : ) %:代表全部
變量([行數(shù)甲 行數(shù)乙]; :)
變量=[矩陣,矩陣] %橫向串聯(lián) 加不加,都可
變量=[矩陣;矩陣] %縱向并聯(lián) 加不加,都可
矩陣變量(:) %轉(zhuǎn)換成一個(gè)向量
其他操作
- pwd查看當(dāng)前位置
- load 文件名.dat 載入 之后Octave將文件名視為變量名,文件中的數(shù)據(jù)視為這個(gè)變量的值
- who 查看當(dāng)前所以數(shù)據(jù)
- whos 更精確的who
- clear 變量 去除記錄中的某個(gè)變量
- 變量甲=變量乙(start:end) 獲取乙中數(shù)據(jù)給甲
- save 文件名.mat 變量名 保存 mat dat都是保存數(shù)據(jù)的一直后綴
- save example.txt v -ascii
繪圖
- hist(矩陣,多少項(xiàng))
- figure(1):plot(x矩陣,y函數(shù)中含有x,'r--');%第三個(gè)變量可不加,顯示線條樣式
- 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;
不要用() 本行結(jié)束用,逗號(hào) 不要用;分號(hào)
最后結(jié)束用end;
quit exit退出編輯程序模式
保存函數(shù) 文件名.m
function [返回值1,返回值2] 函數(shù)名(輸入變量)
處理+返回值=啥啥啥;
處在有.m函數(shù)文件的目錄下,可直接引用.m中的函數(shù)
addpath('XXXX')%添加路徑,以后找函數(shù)也會(huì)從這里找
函數(shù)案例
