我正在尝试在 matlab 上求解以下微分方程。(它们是从 yang-mills-higgs 拉格朗日方程中获得的 hoofy polyakov 单极子 ansatz 的方程)。这是我的函数文件。我有两个变量 h 和 k 以及它们对变量 t 的导数。我的 x(1)=h,x(2)=k,x(3)=dh\dt,x(4)=dk\dt。所有函数的初始值为 0。
function xprime = monopole( t,x )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
xprime(1)=x(3);
xprime(2)=x(4);
xprime(4)=(1/(t.^2)).*((x(2).^2)-1).*x(2) + 4.*(x(1).^2).*x(2);
xprime(3)=(2/(t.^2)).*(x(2).^2).*x(1)-(1-(x(1)).^2).*x(1)-(2/t).*x(3);
xprime=xprime(:);
end
现在,当我运行以下代码 >
> t0=0;
>> tf=10;
>> x0=[0 0 0 0];
>> [t,s]=ode45(@monopole,[t0,tf],x0);
>> plot(t,s(:,1));
我什么也得不到。图形窗口出现,但它不包含任何内容。这个方程应该有解。虚线是应该得到的曲线,从 1 开始是 k,从 0 开始是 h。
我的错误是什么?