Перевести код из Wolfram Mathematica в Maple

Форум пользователей пакета Mathematica

Модератор: Admin

Кли
Сообщения: 116
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Перевести код из Wolfram Mathematica в Maple

Сообщение Кли » Пн окт 22, 2018 10:06 am

Добрый день!! Wolfram Mathematicа не применяю вообще. Но нашел код на нём, помогите пожалуйста перевести код из вольфрама математика в maple

Код: Выделить всё

 Степенной метод
In[2]:= Clear["Global`*"]
mA={{3.819,0.572,-0.354,-0.606,0.856}
,{-0.440,4.320,0.509,-1.909,0.280}
,{-4.017,0.746,4.650,-1.154,-2.037}
,{-0.209,-0.440,0.207,5.110,-1.163}
,{0.280,-0.014,-0.137,-0.070,4.571}};
y0=RandomReal[{-1,1},5];
kmax=100;
Do[y1=mA.y0;
lambda 1=mA.y1.y1/y1.y1;
y0=y1/Max[Abs[y1]];
 
,{k,1,kmax,1}
]
lambda 1
mA.y1-lambda 1 y1
(* второе собственное значение *)
lambda 2=(mA.mA.y0-lambda 1 mA.y0)/(mA.y0-lambda 1 y0)
Mean[lambda 2]
y2=mA.y0-lambda 1 y0
mA.y2-lambda 2 y2
(* наименьшее собственное значение,
знакоопределенная матрица *)
mB=mA-lambda 1 IdentityMatrix[5];
y0=RandomReal[{-1,1},5];
Do[
y1=mB.y0;
mu1=mB.y1.y1/y1.y1;
y0=y1/Max[Abs[y1]];
,{k,1,kmax,1}
]
mu1
mB.y1-mu1 y1
lambda n=lambda 1+mu1
mA.y1-lambda n y1
(* наименьшее собственное значение,
обратная матрица *)
mInvA=Inverse[mA];
y0=RandomReal[{-1,1},5];
Do[
y1=mInvA.y0;
mu1=mInvA.y1.y1/y1.y1;
y0=y1/Max[Abs[y1]];
,{k,1,kmax,1}]
lambda n=1/mu1
mA.y1-lambda n y1
y1
MatrixForm[mA]
N[Eigenvalues[mA]]

Кли
Сообщения: 116
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: Перевести код из Wolfram Mathematica в Maple

Сообщение Кли » Вт окт 23, 2018 3:54 pm

цикл Do это как цикл for?