admin 管理员组

文章数量: 1087649

funm matlab,Matlab funm 函数

匿名用户

1级

2011-04-15 回答

FUNM(A,@EXP), FUNM(A,@LOG), FUNM(A,@COS), FUNM(A,@SIN),FUNM(A,@COSH), FUNM(A,@SINH).....

matlab中有以上用法,但没有funm(A,'log10'),如果做这个计算,估计得需要自己编个函数。

另外:log在matlab中表示基底e

log10(A)=log(A)/log(10),所以在运算中可先求log(A),再求log10(A)

追问:

这个变成求数组的对数了吧 这里A是矩阵

追答:

我的版本也有错,08b,也有可能是版本问题。

EXPM和FUNM是类似的矩阵函数,EXPM的具体算法如下:

[V,D] = EIG(X)

EXPM(X) = V*diag(exp(diag(D)))/V

所以仿照上式,

funm(A,'log10')

=V*diag(log10(diag(D)))/V

matlab运算过程如下:

A =

2 3 4

5 6 7

8 9 10

K>> [v,d]=eig(A)

v =

-0.2826 -0.7753 0.4082

-0.5383 -0.0740 -0.8165

-0.7939 0.6273 0.4082

d =

18.9499 0 0

0 -0.9499 0

0 0 -0.0000

K>> log10(diag(d))

ans =

1.2776

-0.0223 + 1.3644i

-15.6882 + 1.3644i

K>> v*diag(ans)/v

ans =

-2.4510 + 1.1730i 5.4386 - 0.2274i -2.3600 - 0.2634i

5.5693 - 0.3645i -10.0536 + 0.9313i 5.6999 - 0.5016i

-2.0987 - 0.5376i 5.8306 - 0.6388i -1.9284 + 0.6245i

和你给的结果实数部分比较接近,估计这个式子V*diag(log10(diag(D)))/V

还有些不对。我想我能提供的参考就这些了,若有错误或新发现,还望指出,望共同进步!~~

本文标签: funm matlab Matlab funm 函数