【2013-10-3前】Matlab笔记1

前言

之前发过一篇文章BMP格式,主要是为了说明,在你用第三方软件,或API对图片进行操作时,其实首先要对图片的文件头进行解析,只是第三方软件或API已经帮你处理好了,你只需要关注图像处理的算法本身就行了!

Matlab是个不错的工具,可以快速有效的测试算法,但其本身只是个工具,真正重要的还是算法。本文主要是对参考文献做的笔记,方便自己查看。

第一部分  基础篇:

第一章:数据类型

double:

a=3+2.3i

ceil--向正无穷取整、fix--向零取整、floor--向负无穷取整、round--四舍五入


字符串:
s='Hdu'
eval:执行字符串表示的表达式 ex:a=1;b=2;eval('c=a+b');
deblank:去掉字符串末尾的所有空格 ex:length(dablank('HDU       '));
findstr:长字符中查找一个短字符 ex:findstr('How much','mu');
isstr、isletter、isspace、lower、upper、strcat、strvcat(竖直连接)、strcmp、strcmp(忽略大小写)、strjust(调整字符串矩阵对齐方式)
strmatch(寻找和目标字符串匹配的行)、strncmp(比较字符串前n个字符是否相同)、strrep(字符串查找和替换功能)、strtok(找出字符串第一个空格符前的字符串)
texlabel(把字符串转化成Tex软件的格式)、bin2dec_df(要求输入的参数为字符串)、bitget、bitset、bitand、bitor、bitxor

cell结构
A={'ABC'.11,'Zhang'};
cellplot(可画出一个图形来示意cell)、iscell

结构性
St.D=magic(3);St.s='ABC';St.c={'aa',1};
struct(建立一个结构体)、fieldnames(得到结构体中域的名称)、getfield(得到结构体中各域的内容)、rmfield(从结构体中删除一个域)
whos(查看变量的属性)、single(转为单精度)
cell-->char,cellstr<--字符串、字符串-->struct,char<--结构体、结构体-->struct2cell,cell2struct<--cell结构

变量

第二章:向量和矩阵运算

向量
v=1:0.1:2;
linspace(生成两个数之间的等间隔向量,默认个数100) ex:linspace(1,2); linspace(1,2,300); 、logspace(对数向量)、randperm(可产生1到N的随即自然数序列)、
isvector、length、cross(向量的外积)、dot(向量的内积)、detrend(用快速FFT去除向量中的线性趋势项)、wrev(反转向量顺序)、sort(排序)

集合
intersect(计算集合的交集)、ismember(集合中元素判断)、setdiff(两集合差集)、setxor(集合异或)、union(集合并集)、unique(去除集合中的重复元素)

矩阵
A=[];空矩阵、ones全1、zeros全0、eye单位矩阵、diag对角线矩阵、tril下三角、triu上三角、compan向量的伴随矩阵、hadamard哈达马矩阵、hankel汉克尔矩阵、hilb希尔伯特矩阵、invhilb逆希尔伯特矩阵、magic魔方矩阵、pascal帕斯卡矩阵、toeplitz托普利兹矩阵、wilkinson威尔金森特征值测试矩阵、vander范德蒙矩阵
size(计算行列数)、numel(矩阵所有元素)、ind2sub,sub2ind(不同索引格式的转换)、reshap(改变行列数)、cat(连接两个矩阵)、repmat(复制矩阵)、transpose(转置)、rot90(旋转90度的倍数)、fliplr,flipud(矩阵左右、上下翻转)、wshift,circshift(矩阵元素水平,竖直移动)、矩阵删除用---[]
eig(求矩阵本征值和本征向量)、det(矩阵行列式)、rank(矩阵的秩)

高维数组
ndims(计算数组维度)、squeeze(删除单独的维数)、shiftdim(移动数组维的顺序)、permute(改变数组的维数)、ndgrid(计算高维函数的离散形式)

第三章:表达式

ex:计算二元函数f(x,y)=xy+x^2+y^2(x,y定义在[-3,3]区间内)离散情况下的值
[x,y]=meshgrid(linspace(-3,3,200));f=x.*y+x.^2+y.^2;
Kronecker张量积,kron(x,y)
all(查找矩阵中非零元素的位置)、any(矩阵中列向量是否为0)、exist(检测变量或文件是否存在)、find(得到非零元素位置及大小关系)、isfinite(判断矩阵元素是否为有限值)、isequal(多个变量是否相等)、isnumeric(是否为数据型变量)、strel(创建用于腐蚀或膨胀的结构元素)、imerode(腐蚀)、imdilate(膨胀)

符号计算
s=sym('name');s=sym(var,flag);------vpa----d=9/7;r=vpa(d,8);
syms arg1,arg2 ...  syms k positive
findsym(从表达式中查找符号变量)、pretty(把符号表达式转为手写格式)、simple(对符号表达式进行化简)、simplify(一般化简方法化简计算)、factor(表达式化成连乘积形式)、
expand(把表达式展开)、collet(降幂排列)、convert(exp),convert(sincos),convert(tan)分别以exp,sin&cos,和tan三种数学函数展开,mwcos2sin(给出一个利用cos与sin函数组成的化简结果)、radsimp(尽量给出一个复数形式的结果)、combine(trig),combine利用三角函数形式把高次三角函数转化为一次三角函数组合的形式、horner(表达式展开为重叠形式)、numden(把符号表达式化简为有理分式的形式),subexpr(相同因子筛选和代换),subs(符号表达式中变量赋值)、 ccode(把符号表达式转化为对应C语言代码)、fortran(转化为fortan语言)、diff(微分)、jacobian(雅可比)、int(不定积分和定积分)、dsolve(求解微分方程)、limit(计算极限)

多项式
Matlab把多项式降幂的系数提取出来, maple(第一二类切比雪夫多项式,格根包尔,厄米,雅可比,拉盖尔、广义拉盖尔、勒让德)
mfun、roots(计算多项式函数的零点)、ploy2str(多项式系数to多项式标准字符串表达式,ex:poly2str(1:4,'x'))、polyval(多项式函数在某些特殊点的函数值)、conv(卷积)conv2、deconv(解卷积)、polyder(导数)、residue(公式转换)、corr(计算线相关系数)

ex1:符号表达式转化为字符串--f=dsolve('Df=f+sin(t)','f(pi/2)=0');f=char(f);
ex2:对变量的调用--f1=subs(sym('a*u+b'),{'a','b'},{'3','2'});f2=subs(sym('a*u+b'),{'3','2'},{'a','b'});
ex3:含变化参数的符号计算--a=2;v=int(sum(['x^',num2str(a),'+3']),1,2);
ex4:用函数实现赋值--syms x y;f=x^2+x+2;df=diff(sym('x^3+y^2*x'));x=1;y=2;fv=eval(df);
ex5:符号表达式转化--f=x^2+y*3;fun=inline(char(f));
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值