📄 funm.m
字号:
function F=funm(A,fun,x)
[V,J]=jordan(A); v1=[0,diag(J,1)'];
v2=[find(v1==0), length(v1)+1];
for i=1:length(v2)-1
v_lambda(i)=J(v2(i),v2(i)); v_n(i)=v2(i+1)-v2(i);
end
m=length(v_lambda);
F=sym([]);
for i=1:m
J1=J(v2(i):v2(i)+v_n(i)-1,v2(i):v2(i)+v_n(i)-1);
fJ=funJ(J1,fun,x); F=diagm(F,fJ);
end
F=V*F*inv(V);
function A=diagm(A1,A2)
A=A1;
A(size(A1,1)+1:size(A1,1)+size(A2,1),size(A1,2)+1:size(A1,2)+size(A2,2))=A2;
function fJ=funJ(J,fun,x)
lam=J(1,1); f1=fun;
fJ=subs(fun,x,lam)*eye(size(J));
H=diag(diag(J,1),1); H1=H;
for i=2:length(J)
f1=diff(f1,x); a1=subs(f1,x,lam);
fJ=fJ+a1*H1; H1=H1*H/i;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -