Matlab学习记录——变量函数
前言
CADN上关于MATLAB的数组、变量等的介绍非常多,但是在学习过程中,笔者发现有些东西没有介绍,在此记录。
一、变量函数
在各种理论推导中,我们常常要使用到没有明确定义的但是有关其他变量的函数。
例如,仅关于 x 与 y 的函数 f ,但是 f 的具体表达式未知。后续推导又需要对这个未知函数 f 进行偏导等操作,形成另外一个表达式。我们可以进行以下操作。
%定义变量x和y,以及未知表达式的函数f,f为关于x、y的函数
syms x y f(x,y)
%这里也可以直接定义 syms f(x,y)
%以下对f求偏导
fx = diff(f,x)
fy = diff(f,y)
%若直接定义 syms x y f 再对f求x、y的偏导,得到的结果为0,而非需要的符号表达式
%下图为代码运行结果
这样可以直接对位置函数 f 进行对x的偏导等操作,得到的结果也完全是符号化的。
二、变量函数矩阵的引用
在这个过程中,笔者发现对于这类变量函数构成的矩阵,想要引用其中某行某列的结果,并不能直接使用圆括号,而需要使用 formula 的函数(或许还有其他引用方法,但笔者目前只知道这个,欢迎各位提出其他方法进行交流^ - ^)
%直接使用圆括号引用
%定义变量函数矩阵
P = [f x y]
Px = P(1,1)
Py = P(1,2)
%结果如下图,将会把x=1、y=1的结果带入P中,而非得到矩阵P的第一行第一列的元素
%使用formula函数
P = [f x y]
fbody = formula(P);
Px = fbody(1)
Py = fbody(2)