MATLAB中常用函数形式、意义、举例查询表,不断更新,以首字母作为目录进行分类
1、字母"a"打头的函数
2、字母"f"打头的函数
2.1 feval()函数
matlab中的feval函数是用于计算函数。feval命令可以使用函数句柄或函数名,其使用格式:
y=feval(fun1, x) %fun1——函数表达式(或句柄),x——变量值
(1)使用函数名
>> fun2=inline('1+x+y','x','y');
>> x=1;y=2;
>> a=feval(fun2,x,y)
a =
4
“inline”函数是内联函数:
>> myfun=inline('1+x+y','x','y');
>> x=1;y=2;
>> myfun
myfun =
内联函数:
myfun(x,y) = 1+x+y
(2)使用函数句柄
例1
>> fun1=@(x,y)x+y; % 构造函数句柄 fun1
>> z=feval(fun1,1,2) % x=1,y=2
z =
3
例2
>> fun2=@(x1,x2)sin(x1)+cos(x2);
>> y=feval(fun2,pi/6,pi/3) % x1=pi/6.x2=pi/3
y =
1
**y=feval(function1, x1,x2,…,xn) **
其中,function1是自定义函数, x1,…,xn 是计算参数
3、字母"f"打头的函数
3.1 meshgrid()函数
meshgrid函数用来生成网格矩阵,既可以是二维网格矩阵,又可以是三维网格矩阵。
举例:
例1:
>> m=1:5;
>> n=2:7;
>> [A,B]=meshgrid(m,n)
A =
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
B =
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
A是一个6*5矩阵, B 是一个 6 * 5矩阵,注意A的列是m的值,B的行是n的值。
例2:
>> m=1:3;
>> [A,B]=meshgrid(m)
A =
1 2 3
1 2 3
1 2 3
B =
1 1 1
2 2 2
3 3 3
在二维网格上画图
[x,y] = meshgrid(0:0.5:4*pi,1:20);
z = 10*sin(x) + y;
surf(x,y,z); % surf() 函数用于绘制三维阴影曲面图
xlabel('X');ylabel('Y');zlabel('z')
运行效果
4、字母"q"打头的函数
4.1 quadprog()函数
二次规划:具有线性约束的二次目标函数的求解器
求由下式指定的问题的最小值
函数形式:x = quadprog(H,f)
函数意义:返回使 J最小的向量 x,矩阵H正定
函数形式:x = quadprog(H,f,A,b)
函数意义:返回在 Ax ≤ b 的条件下J的最小值
函数形式:x = quadprog(H,f,A,b,Aeq,beq)
函数意义:在满足 Aeqx = beq 的限制条件下求解上述问题
函数形式:x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
函数意义:在满足 lb ≤ x ≤ ub 的限制条件下求解上述问题
函数形式: x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
函数意义:x0表示初始值
函数形式: [x,fval] = quadprog( )
函数意义:返回 fval,即在 x 处的目标函数值minJ
若以上函数形式中不存在(不)等式约束,则设置相应参数为“[ ]“
5、字母"s"打头的函数
5.1 size()函数
函数形式:y=size(A)
函数意义:输出矩阵A的行数和列数给y
函数形式:y1=size(A,1),
函数意义:返回A矩阵的行数
函数形式:y2=size(A,2),
函数意义:返回A矩阵的列数