|
matlab最常用函数(附代码)
一、matlab technique
1,tips
(1)预先分配连续的存储空间,节约内存占用,提高执行效率。
——matlab中 创建空数组,空矩阵,空元胞数组
(2)- tic
- ......
- toc
- f9 (分段运行)
- clear
- close all
- clc
- find(Score<60)
- (返回一维矩阵)
- ~isempty()
- disp
- (打印函数)
复制代码
(3)
句尾加···换行
2,size:
- row = size(A)
- row = size(A,1)
- column = size(A,2)
- [row,column] = size(A)
复制代码
3,Anonymous functions:
匿名函数
- handle = @(arglist)anonymous_function
- example :
复制代码
具体用法 (1)
- f=@(x,y)x^2+y^2;
- f(1,2)
- ans = 5
- (基本)
复制代码
(2)
- f=@(x,y)x.^2+y.^2;
- a=1:1:10;
- b=10:-1:1;
- f(a,b)
- ans = 101 85 73 65 61 61
- 65 73 85 101
- (输入数组)
复制代码
(3)
- a=1:5;
- b=5:-1:1;
- c=0.1:0.1:0.5;
- f=@(x,y)x.^2+y.^2+c;
- f(a,b)
- ans = 26.1000 20.2000 18.3000
- 20.4000 26.5000
- (包含参数)
复制代码
(4)
- f=@(x,y)@(a) x^2+y^+a;
- f1=f(2,3)
- f1 = @(a)x^2+y^+a
- f2=f1(4)
- f2 = 85
- (多重)
复制代码
定义函数,放在.m文件里
- function y = sum_of_max(A)
- y = sum(max(A));
复制代码
5:函数求导
- diff(fun) , (一阶导数)
- diff(fun, n) , (n阶导数(n是具体整数))
- diff(fun,varie), (偏导数)
- diff(fun, varie, n) ,(n阶偏导数)
复制代码
6,元胞数组—特殊的数据结构
组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同
(1) cell函数创建空元胞数组
- a=cell(1)
- % a =
- % {[]}
- b=cell(1,2)
- %b =
- % [] []
- c=cell(3,3)
- % c =
- % [] [] []
- % [] [] []
- % [] [] []
复制代码
(2)大括号用于表示元胞的内容,小括号表示指定的元胞
- a={'matlab',20;ones(2,3),1:10}
- %a =
- 'matlab' [ 20]
- [2x3 double] [1x10 double]
- a{1,2}
- %ans =
- 20
- a(1,2)
- %ans =
- [20]
复制代码
7,sort函数
- exp:
- A = [ 3 7 5
- 0 4 2 ];
复制代码
(1)B= sort(A,dim)
(按数组A中指定维度dim上的元素按照升序排列。1_按列排序,2_按行)
- sort(A,1)
- ans =
- 0 4 2
- 3 7 5
- sort(A,2)
- ans =
- 3 5 7
- 0 2 4
复制代码
(2)B = sort(…,mode)
按照mode的值为指定的方向进行排列,mode可取:
‘ascend’ 升序排列(默认)。
‘descend’ 降序排列。
- exp:
- sort(A,1,'descend')
- ans =
- 3 7 5
- 0 4 2
复制代码
(3) [B,IX] = sort(A,…)
- size(IX) == size(A)
- (返回索引数组IX)
- B = A(IX)
- (A为向量)
- for j = 1:n
- B(:,j) = A(IX(:,j),j);
- end
- B == A
- (A为矩阵)
- [Score index]= sort(Score);
复制代码
|
|