inline内联函数
用单引号包起来
创建内联函数:
MATLAB会通过检查字符串来推断自变量,例如上面的函数g中t就是自变量,如果没有找到,将会使用x作为缺省的自变量,例如常数函数f:
%常数函数
>> f=inline('3')
f =
内联函数:
f(x) = 3
%一元函数
>> g=inline('t^2-3')
g =
内联函数:
g(t) = t^2-3
%多元函数
>> h=inline('x^3+y')
h =
内联函数:
h(x,y) = x^3+y
内联函数的使用:
>> g(3)
ans =
6
>> f(4)
ans =
3
>> h(1,2)
ans =
3
vectorize
:将乘*转换为点乘.*
clear;clc;
str='x*y';%str是矩阵乘
f=inline(str) %inline构造内联函数
strr=vectorize(str);%strr是矩阵点乘
%vectorize将乘*转换为点乘.*
ff=inline(strr)
x=[1,2,3;4,5,6]
y=[7,8,9;10,11,12]
ff(x,y)%正常运行
f(x,y)%报错,因为矩阵相乘用点乘.*
syms、sym
syms是定义符号变量、后续可以对其做一些符号操作
sym是将字符或者数字转换为字符
syms x;%定义一个符号变量X
p=x^2+3*x-2;
diff(p,x) %p对x求导