J = 0.05;
B = 0.02;
Tload[t_] := 0.0;
R1 = 2;
\[Alpha] = 30*\[Pi]/180;
d = 0.05;
g = 0.001;
Nturns = 200;
\[Mu]0 = 4*\[Pi]*10^(-7);
r = 0.03;
lm = 0.02;
d = 0.1;
W = Sqrt[2*r^2 - 2*r^2*Cos[2*a]];
Rgmax = g/(\[Mu]0*r*d);
Rm = lm/(\[Mu]0*W*d);
square[x_, x1_, x2_] := UnitStep[x - x1]*(1 - UnitStep[x - x2])
Rg[\[Theta]_] :=
Rgmax/((2 \[Alpha] - Mod[\[Theta][t], \[Pi]])*
square[Mod[\[Theta][t], \[Pi]], -2 \[Alpha],
2 \[Alpha]] + (2 \[Alpha] - Mod[-\[Theta][t], \[Pi]])*
square[Mod[-\[Theta][t], \[Pi]], -2 \[Alpha], 2 \[Alpha]])
L[\[Theta]_] :=
Nturns^2/(
2*Rg[\[Theta]] +
Rm) *(square[Mod[\[Theta][t], \[Pi]], -2 \[Alpha], 2 \[Alpha]] +
square[Mod[-\[Theta][t], \[Pi]], -2 \[Alpha], 2 \[Alpha]])
Plot[L[\[Theta]], {\[Theta][t], -8 \[Alpha], 8 \[Alpha]},
PlotRange -> All]
Je suis désolé mais je ne pouvais pas coller comme mathematica peut montrer (débutant ici). Cependant, j'ai essayé plusieurs solutions pour se débarrasser de l'expression 1/0 inf de L [thêta] mais je ne l'ai pas compris.Mathematica 1/0 Expression infinie lors du traçage
Veuillez le copier et le coller sur un ordinateur portable et l'exécuter.
Je multiplie L [thêta] avec ma fonction carrée pour que les zones non définies soient égales à zéro (f.e 2a, Pi-2a devrait être égal à zéro) mais cela n'a pas fonctionné.
Comment puis-je identifier cette fonction correctement?
Merci d'avance.
Vous avez zéro dénominateur dans votre Rg []. Rg [\\ [Thêta] _]: = (denom = (2 \\ [Alpha] - Mod [\\ [Thêta], \\ [Pi]]) * carré [Mod [\\ [Thêta], \ \ [Pi]], -2 \\ [Alpha], 2 \\ [Alpha]] + (2 \\ [Alpha] - Mod [- \\ [Thêta], \\ [Pi]]) * carré [Mod [- \\ [Theta], \\ [Pi]], -2 \\ [Alpha], 2 \\ [Alpha]]); Si [denom == 0, Imprimer ["Zero denom"]; 1, denom ]); J'ai également changé votre \\ [Theta] [t] en \\ [Theta] partout dans votre code pour être plus normal. – Bill
Theta [t] est une variable qui va mettre dans les équations différentielles à résoudre avec la fonction NDSolve, à ce stade, peu importe que cela dépende ou non. Cependant, Rg [thêta] a zéro dedans, je sais que ça devrait l'être aussi. S'il vous plaît essayez de tracer 1/Rg [thêta] il n'y a pas d'expressions 1/0. Si vous essayez de résoudre ou de tracer 1/(Rg [theta] + Rm qui est également dans la définition de L [thêta], il donne des intervalles 1/0 indéfinis :( –
qu'est-ce que «a'? à 'alpha' et manqué un .. vous pourriez utiliser' UnitBox' d'ailleurs, mais je ne pense pas que cela se rapporte à votre erreur – agentp