求解四元多次的方程组,四个方程,应该用什么命令呀
mathematica吧
全部回复
仅看楼主
level 4
findroot命令求不出来[呵呵]
2021年12月02日 04点12分 1
吧务
level 10
一般就是findroot。你说不行的是什么代码
2021年12月02日 10点12分 2
下面两个合起来哦!😄
2021年12月02日 12点12分
吧务
level 10
你消息被系统撤回了。有问题发贴子里
2021年12月02日 12点12分 3
level 4
n0={0,0,1};
n={0,Cos[\[Phi]],Sin[\[Phi]]};
Subscript[R, i]=0.01;
Subscript[R, 0]=0.0105;
T=Subscript[R, 0]-Subscript[R, i];
R=Subscript[R, i];
H=0.05;
r0=2;
r=8;
\[Alpha]=0.3;
\[Mu]1=1*10^5;
\[Mu]2=1.904762*10^2;
\[Micro]3=-1.5873*10^3;
\[Beta]1=1.3;
\[Beta]2=6;
\[Beta]3=-3;
\[Mu]=1/2 (\[Mu]1*\[Beta]1+\[Mu]2*\[Beta]2+\[Micro]3*\[Beta]3);
p=phat* (\[Mu](Subscript[R, 0]-Subscript[R, i]))/Subscript[R, 0];
i={{1,0,0},{0,1,0},{0,0,1}};
ln0=r0^(-1/3) (i+(r0-1)n0\[TensorProduct]n0);
ln=r^(-1/3) (i+(r-1)n\[TensorProduct]n);
ln0sq=MatrixPower[ln0,1/2];
lnsqinv=Inverse[MatrixPower[ln,1/2]];
F=(1/(\[Lambda]*\[Xi])00
0\[Lambda]\[Lambda]*R*d
00\[Xi]
);
Fbar=lnsqinv.F.ln0sq;
Cbar=Transpose[Fbar].Fbar;
{\[Lambda]1,\[Lambda]2,\[Lambda]3}=Eigenvalues[Cbar];
WE=\[Mu]1/\[Beta]1 (\[Lambda]1^(\[Beta]1/2)+\[Lambda]2^(\[Beta]1/2)+\[Lambda]3^(\[Beta]1/2)-3)+ \[Mu]2/\[Beta]2 (\[Lambda]1^(\[Beta]2/2)+\[Lambda]2^(\[Beta]2/2)+\[Lambda]3^(\[Beta]2/2)-3)+ \[Micro]3/\[Beta]3 (\[Lambda]1^(\[Beta]3/2)+\[Lambda]2^(\[Beta]3/2)+\[Lambda]3^(\[Beta]3/2)-3);
WNI=(\[Alpha]*\[Mu])/2 Tr[F.(i-n0\[TensorProduct]n0).Transpose[F].(n\[TensorProduct]n)];
W=WE+WNI;
(*\[CapitalPhi]=\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(0\), \(H\)]\(
\*SubsuperscriptBox[\(\[Integral]\), \(0\), \(2\[Times]Pi\)]\(
\*SubsuperscriptBox[\(\[Integral]\),
SubscriptBox[\(R\), \(i\)],
SubscriptBox[\(R\), \(0\)]]W\[Times]\[Lambda]\[DifferentialD]\[Lambda]\[DifferentialD]\[Theta]\[DifferentialD]\[CapitalEta]\)\)\)*)
\[CapitalPhi]=T *W- 1/2 p*Subscript[R, i] (\[Xi] *\[Lambda]^2-1);
\[CapitalPhi]\[Lambda]=D[\[CapitalPhi],\[Lambda]];
\[CapitalPhi]\[Xi]=D[\[CapitalPhi],\[Xi]];
\[CapitalPhi]D=D[\[CapitalPhi],d];
\[CapitalPhi]\[Phi]=D[\[CapitalPhi],\[Phi]];
\[Lambda]=(r/r0)^(-1/6);
2021年12月02日 12点12分 4
level 4
\[Lambda]ini=\[Lambda];
{x1,x2,x3,x4}=Re[{phat,\[Xi],\[Phi],d}/.FindRoot[{\[CapitalPhi]\[Lambda]==0,\[CapitalPhi]\[Xi]==0,\[CapitalPhi]D==0,\[CapitalPhi]\[Phi]==0},{{phat,0.05},{\[Xi],1.6},{\[Phi],Pi/2},{d, Pi/6/0.05}}]];
Re[{\[CapitalPhi]\[Lambda],\[CapitalPhi]\[Xi],\[CapitalPhi]D,\[CapitalPhi]\[Phi]}]/.{phat->x1,\[Xi]->x2,\[Phi]->x3,d->x4};
data={{\[Lambda],x1}};
nn=200;
Do[\[Lambda]=\[Lambda]ini+k (10-\[Lambda]ini)/nn;{x1,x2,x3,x4}=Re[{phat,\[Xi],\[Phi],d}/.FindRoot[{\[CapitalPhi]\[Lambda]==0,\[CapitalPhi]\[Xi]==0,\[CapitalPhi]D==0,\[CapitalPhi]\[Phi]==0},{phat,x1},{\[Xi],x2},{\[Phi],x3},{d,x4}]];data=Append[data,{\[Lambda],x1}],{k,1,nn}];
ListPlot[data,Joined->True,PlotRange->{{\[Lambda]ini,10},{0,1}}]
2021年12月02日 12点12分 5
吧务
level 10
你似乎把代码复制为文本了,导致矩阵行列区分消失了。
2021年12月04日 11点12分 8
吧务
level 10
我运行了代码但没有时间深入剖析。
结果有时包含很小的虚部,所以你绘图可能会出现画不出来的点,取个Re就好了。
不过软件的警告消息表明FindRoot的结果可能不可信。
建议一步步看是哪些FindRoot有问题吧
2021年12月04日 11点12分 9
1