设为首页 加入收藏

TOP

Octave入门备忘
2014-11-24 00:08:09 来源: 作者: 【 】 浏览:8
Tags:Octave 入门 备忘

还有官网:http://www.gnu.org/software/octave/


官网手册:http://www.gnu.org/software/octave/doc/interpreter/index.html


下面记录一些常用的函数或者杂项。


● 自定义函数,格式是:


function [ret1, ret2 ...]=fname(arg1, arg2 ...)
%
% 函数说明
%
......
endfunction


arg1,arg2为传入的参数,ret1,ret2为返回值,这些参数都可以是矩阵或者数值。function中一般用不着return语句,因为函数体中可以直接访问ret1,ret2并进行修改。


● for语句的使用


格式1:


for variable=vector
.......
end


variable为循环变量,vector为需要循环的所有值的数组,例如:



a = [1, 2, 3];


for var = a


格式1:



for variable=start:end
.....
end


start:end其实是Octave中支持的连续列表(如1:10),这种方式是非常常用的,例如从1到10的循环可写成:



for i=1:10 %或者for i=[1:10]
.....
end


● 有时候需要生成随机矩阵,Octave中提供了rand函数和randn函数,区别是:


(1)rand:产生均值为0.5、幅度在0~1之间、均匀分布的随机矩阵
(2)randn:产生均值为0方差为1、幅度在0~1之间、的高斯白噪声(即正太分布)
(3)normrnd(a,b,c,d):产生均值为a方差为b、幅度在0~1之间、大小为cXd的随机矩阵


有时候需要整数矩阵,可以使用ceil函数(上取整)、floor函数(下取整)或round函数(四舍五入)将上面得到的0~1之间的矩阵变成整数矩阵,例如要得到5 X 4的分布在0-100之间的随机矩阵,可以写成: ceil(100*rand(5,4))。


● 求矩阵的特征值用函数 eig(A),求零空间的基用nulbasis,如下例先求特征值再求特征空间的基,某特征值λ的特征空间的基也就是(A- λ*I)的零空间:



● rref函数求矩阵的简化阶梯型,可以利用其求解线性方程组。例如:


x1 + x2 = 3
2x1 + 3x2 = 8



因此x1 = 1,x2 = 2


● 扩展矩阵函数:repmat,常用格式:repmat(X, m, n)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇epoll for qt网络模块,直接替换qt.. 下一篇OpenSSL对数组加密解密的完整实现..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: