MATLAB通用矩阵函数funm的使用方法
【语法说明】
Y=funm(A,fun):A必须为方阵,fun为表示超越函数的句柄或字符串,如exp函数、log函数、cos函数、sin函数、sinh函数和cosh函数等。expm(A)与funm(A,@exp)是等效的,但调用时内部采用的算法不同。对于不同的矩阵,可能带来不同的精确度。但sqrtm函数不能用funm(A,@sqrt)代替。
[Y,esterr]=funm(A,fun) : esterr 为结果产生的相对误差的估计值。
【功能介绍】求方阵的任何基本数学函数。
【实例】求2×2矩阵的矩阵对数。
>> rng('default')
>> a=rand(2); % 2*2矩阵
>> b=expm(a) % 使用expm函数
b =
2.3941 0.3072
2.1915 2.6328
>> b=funm(a,@exp) % 使用funm函数和超越函数句柄
b =
2.3941 0.3072
2.1915 2.6328
>> b=funm(a,'exp') % 使用funm函数和超越函数的字符串
b =
2.3941 0.3072
2.1915 2.6328
【实例讲解】以上给出了求矩阵对数的 3 种调用形式,当使用funm函数时,推荐使用@exp的形式,一般来说,函数句柄具有更高的效率。