Unanswered Questions

This page lists MaplePrimes questions that have not yet received an answer

I am trying to plot generator reactive output (Q) over a range of generator power output (P) with field current (Ifldc) and terminal voltage (Et) constant using “solve”. The system of equations includes an interpolating fiction Ifld(el).

I’m looking for some help as to how to configure a solution. Attached are a few of my failed attempts.

The upload of my file deleats the "solve" fo my first try it is:

     


 

``

``

MvaGen := 1354; PfGen := .935; KvGen := 24

                   

           Xd__u := 1.89 - Synchronous reactance of d-axis, Unsatuarted

              Xq__u := 1.80 - Synchronous reactance of q-axis, Unsatuarted

              X__l := .26   - leakage reactance d or q-axis``

``

            Ifld__base := 3114

``

Open Ckt Sat Curve DS807-1a

     First col=Ifld amps   

     Second col= el voltage behind leakage reactance

 

OC_SatDat := Matrix(16, 2, {(1, 1) = 0, (1, 2) = 0., (2, 1) = 655.6456, (2, 2) = .3422578, (3, 1) = 1009.961, (3, 2) = .5331404, (4, 1) = 1253.12, (4, 2) = .6492209, (5, 1) = 1562.724, (5, 2) = .8014143, (6, 1) = 1893.545, (6, 2) = .9329786, (7, 1) = 2201.68, (7, 2) = 1.033593, (8, 1) = 2487.276, (8, 2) = 1.108416, (9, 1) = 2793.943, (9, 2) = 1.157452, (10, 1) = 3122.338, (10, 2) = 1.203911, (11, 1) = 3690.959, (11, 2) = 1.263294, (12, 1) = 4259.141, (12, 2) = 1.307202, (13, 1) = 4827.028, (13, 2) = 1.340795, (14, 1) = 5351.085, (14, 2) = 1.366646, (15, 1) = 5787.775, (15, 2) = 1.387329, (16, 1) = 6224.391, (16, 2) = 1.405433})

  ido := It*sin(theta+delta)

Plot OC saturation with field current in pu

 

with(LinearAlgebra)

with(ArrayTools)

with(plots)

      OC_Sat_Ifld_pu := Column(OC_SatDat, [1])/Ifld__base

         OC_Sat := Concatenate(2, Column(OC_SatDat, [2]), OC_Sat_Ifld_pu) 

````

iterpolate values of field current vs el from OC sat curve

 

                                    pts_el := Column(OC_Sat, [1]); pts_Ifldpu := Column(OC_Sat, [2])

 

 

                         Ifield as a function of el  ->  Ifld := LinearInterpolation(pts_el, pts_Ifldpu)

``

 

Solve for Q with

    

P = .935; Iflc := 1.88; Et := 1.0

 

NULL

TRY1

``

 Eq1 := Ir = P/Et; Eq2 := Ix = Q/Et    Eq3 := It*sqrt(Ir^2+Ix^2)     Eq4:=theta = arctan(Q, P)

``

    Eq5 := el = abs(Et+X__l*(Ix+I*Ir))      Eq6 := `ΨAG__d` = Xad__u*Ifld(el)   Eq7:=K__ds = el/`ΨAG__d`

     NULL 

NULL Eq8 := Xd__s = K__ds*Xad__u+X__l   Eq9 := `ΨAG__q` = Xaq__u*Ifld(el)    Eq10 := K__qs = el/`ΨAG__q`

 

   Eq11 := Xq__s = X__l+K__qs(el)*Xaq__u      Eq12 := Eq = Et+Xq__s(el)*(Q/Et+I*P/Et)

NULLNULL

    

Eq13 := delta = argument(Eq)        Eq14 := eqo = Et*cos(delta)    Eq15 := ido = It*sin(theta+delta)

``

Eq16 := EI = Xd__s*Iflec; Eq17 := EI = Ido*Xd__s+eqo

``

 
syst := {E15, Eq1, Eq10, Eq11, Eq12, Eq13, Eq14, Eq16, Eq17, Eq2, Eq3, Eq4, Eq5, Eq6, Eq7, Eq8, Eq9}

 

   

NULL

solve(sys, {Eq, Ir, It, Ix, K__ds, K__qs, Q, Xd__s, Xq__s, el, eqo, ido, theta, `ΨAG__d`, `ΨAG__q`})

Warning, solving for expressions other than names or functions is not recommended.

 

 

NULL         

TRY 2

              NULL

`` Ix := proc (Q) options operator, arrow; Q/Et end proc   It := proc (Q) options operator, arrow; sqrt(Ir^2+Ix^2) end proc     theta := proc (Q) options operator, arrow; arctan(Q, P) end proc

``

 el := proc (Q) options operator, arrow; abs(Et+X__l*(Ix(Q)+I*Ir)) end proc      `ΨAG__d` := proc (Q) options operator, arrow; Xad__u*Ifld(el(Q)) end proc   K__ds := proc (Q) options operator, arrow; el(Q)/`ΨAG__d`(el(Q)) end proc``

NULL Xd__s := proc (Q) options operator, arrow; X__l+K__ds(el(Q))*Xad__u end proc   `ΨAG__q` := proc (Q) options operator, arrow; Xaq__u*Ifld(el(Q)) end proc    K__qs := proc (Q) options operator, arrow; el(Q)/`ΨAG__q`(el(Q)) end proc

Xq__s := proc (Q) options operator, arrow; X__l+K__qs(Q)*Xaq__u end proc      Eq := proc (Q) options operator, arrow; Et+Xq__s(Q)*(Q/Et+I*P/Et) end proc

``

delta := proc (Q) options operator, arrow; argument(Eq(Q)) end proc        eqo := proc (Q) options operator, arrow; Et*cos(delta(Q)) end proc    ido := proc (Q) options operator, arrow; It*sin(theta(Q)+delta(Q)) end proc``

``

EI := proc (Q) options operator, arrow; Xd__s(Q)*Iflec end proc    EI := proc (Q) options operator, arrow; eqo(Q)+Xd__s(Q)*Ido(Q) end proc

``

NULL

solve(EI(Q) = eqo(Q)+Xd__s(Q)*Ido(Q), {Eq, Ir, It, Ix, K__ds, K__qs, Q, Xd__s, Xq__s, el, eqo, ido, theta, `ΨAG__d`, `ΨAG__q`})

{Eq = Eq, Ir = Ir, It = It, Ix = Ix, K__ds = K__ds, K__qs = K__qs, Q = Q, Xd__s = Xd__s, Xq__s = Xq__s, el = el, eqo = eqo, ido = ido, theta = theta, `ΨAG__d` = `ΨAG__d`, `ΨAG__q` = `ΨAG__q`}

(1)

NULL

TRY3

 

     "Eq20:=Ir=P/(Et):     Eq21:=Ix=Q->Q/(Et):"

Error, invalid operator parameter name

"Eq20:=Ir=P/Et: Eq21:=Ix=Q->Q/Et:"

 

``

``

``

``


 

Download Qcalc1.mw

 

why setting interface(warnlevel=0); makes dsolve change the form of the final solution to an ODE?

Is this to be expected? Help on warnlevel 0 says to just suppress all warnings

In this example, both solutions are equivalent. One is just simpler than the other.

But now I am worried if this setting could affect dsolve in other ways not yet anticipated.
 

restart;

interface(version);

`Standard Worksheet Interface, Maple 2020.2, Windows 10, November 11 2020 Build ID 1502365`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 884 and is the same as the version installed in this computer, created 2020, November 25, 16:49 hours Pacific Time.`

interface(warnlevel=0);

3

ic:=y(0)=3:
ode := diff(y(x),x)*y(x)/(1+1/2*sqrt(1+diff(y(x),x)^2))=-x:
sol_1:=dsolve([ode,ic],y(x),singsol=all);

y(x) = -3+(1/3)*(-9*x^2+324)^(1/2), y(x) = 1+(1/3)*(-9*x^2+36)^(1/2)

restart;

ic:=y(0)=3:
ode := diff(y(x),x)*y(x)/(1+1/2*sqrt(1+diff(y(x),x)^2))=-x:
sol_2:=dsolve([ode,ic],y(x),singsol=all);

y(x) = -3+(-x^2+36)^(1/2), y(x) = 1+(-x^2+4)^(1/2)


 

Download warnlevel_difference.mw

btw, the same thing happens with warnlevel 2. i.e. answers look different.

But with warnlevel 3 and 4, now dsolve gives the same answer. 

SInce it seems default is warnlevel 3, it seems internally, dsolve takes different path depending on warnlevel setting? 

Edit

Here is a movie. I am using windows 10.

 

Edit: Here is another video. Tried now with fresh start of Maple. i.e. closed Maple and started it again.  Using worksheet. No other worksheet was open. This is what I found. Initially it gives the longer solution. After couple of tries, it then changed to the simpler one

 

Please I have an issue with the attached plot code. Can you kindly help to correct it? 

restart:
interface(rtablesize=infinity):
B:=<<0,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.49,"0","0.05","0.1","0.15","0.2","0.25","0.3","0.35","0.4","0.45","0.49">|
	<14.73,14.4,14,13.4,12.67,11.67,10.4,8.67,6,3,0,"14.73","14.4","14","13.4","12.67","11.67","10.4","8.67","6","3","0">|
     <-0.007072,0.013309,0.033707,0.054125,0.074571,0.095056,0.115597,0.136218,0.156956,0.177867,0.199036,0.22059,0.242719,0.265702,0.289932,0.31592,0.344214,0.375124,0.408175,0.441761,0.473484,0.501857>|
	<1.34E+01,1.33E+01,1.33E+01,1.32E+01,1.31E+01,1.31E+01,1.30E+01,1.29E+01,1.28E+01,1.26E+01,1.25E+01,1.22E+01,1.19E+01,1.14E+01,1.08E+01,9.86E+00,8.58E+00,6.90E+00,4.90E+00,2.81E+00,1.00E+00,-2.86E-01>>:

B:
 
 plot([B[..,[1, 2]],B[1..1,[1, 2]], B[.., [3, 4]],B[1..1,[3, 4]], B[..,[5, 6]],B[1..1,[5, 6]],B[.., [7, 8]],B[1..1,[7, 8]],
 	  B[..,[9, 10]],B[1..1,[9, 10]], B[.., [11, 12]],B[1..1,[11, 12]],B[..,[13, 14]],B[1..1,[13, 14]],B[.., [15, 16]],B[1..1,[15, 16]],
 	  B[..,[17, 18]],B[1..1,[17, 18]], B[.., [19, 20]],B[1..1,[19, 20]],B[..,[21, 22]],B[1..1,[21, 22]]],
 	  legend = ["","Experimental","","Simulation"],
 	  style = ["line","line","line","line","line","line","line","line","line","line","line","line","line","line","line","line",
 	 		"line","line","line","line","line","line"],
 	  color=[blue,red], labels=[`V (V)`, `Jsc (mA/cm^2)`]);
 



Download Graph_Example.mw

I found a condition for p, q that N=pq can be factored in plynominal time using Maple 2020.
Is fllowing Hypothesis and Proof is right?

Hypothesis

       N=pq  p and q are large prime respectively.
         R=q/p  q > p  R is very close to an small integer or a simple rational number.
       
        N=pq can be factorized in time polynomial

Proof
        point[p, q] is on y=N/x
        y=N/x  and y=Rx cross at point[p, q]
        N is n digit
        upper  2 digits N2  round off the 3rd digit
        upper  3 digits N3  round off the 4th digit
        upper  4 digits N4  round off the 5th digit
        
        y=N2/x and y=Rx cross at point[p2,q2]
        y=N3/x and y=Rx cross at point[p3,q3]
        y=N4/x and y=Rx cross at point[p4, p4]

        But we only know N.

        Let line up candidates point[p2,q2] , point[p3,q3] and point[p4, p4]


       N2 < 99  i=1..10 j=1..10
       R2=i/j
       f2=N2/R2 - j^2
       dn2=abs(N2-R2*j^2)   

      N4 < 9999  i=1..99 j=1.. sqrt(N4)
      R4=i/j
      f4=N4/R4 - j^2
      dn4=abs(N4-R4*j^2)

     Point[j, i] that have  small f2 and dn2 can be nominated as candidate for point[p2, q2]
     Point[j, i] that have  small f3 and dn3 can be nominated as candidate for point[p3, q3]
     Point[j, i] that have  small f4 and dn4 can be nominated as candidate for point[p4, q4]

    Find cross point[px, qx] of y=R2x and y=N/x , y=R3x, y=N/x and y=R4x, y=N/x
    Find the nearest prime pn for px and the nearest prime qn for qx
   
   pn*qn=N  bingo!

   Number of candidates are finit.
   You can factorized N=pq in time polynomial.
                                   
                                                                       Q.E.D. ?

In addition, using "https://www.mapleprimes.com/questions/228532-Strange-Factorization"

Rang from p - half digits of p to p + half degits of p and /or range q - half digits of q to q + half degits of q  N=pq can be factored in plynominal time.

Hi, everyone!

I'm trying to do some computations with (truncated) multivariable power series, which I'd like to put into Hironaka standard basis form.  This is almost the same as a Groebner basis, except that the "leading" terms have smallest degree instead of largest.  This requires slight changes to the algorithms in order to make sure they terminate.  Does anyone know if this has been implemented in Maple or have a good way to fake it?  Here's what I've thought of:

  • Using the Groebner package with grlex_min instead of grlex.  The documentation warns that this may not terminate, and sure enough, it doesn't.  (At least not before my computer runs out of memory.)
  • Replacing the truncated power series with their palindromes, using the Groebner package, and then switching back, making sure all the degrees are correctly accounted for.  This should work, but it's going to be a major pain.
  • Reimplementing the Groebner routines.  I'd really rather not, but I'd love to know if anyone else has.

Anybody have any other ideas or suggestions?

Thanks!

----Josh

Hi,

I tried to find the set of real parameters a1, a2, a3, a4 and u1, u2, u3 which make a subalgebra L an ideal of a finite real Lie algebra LieAlg. Unfortunately, the "Query" command with the "Ideal" argument returns an error message that I can't get around. What should I change in this command?

restart: 
with(DifferentialGeometry):
with(LieAlgebras):
#
DGsetup([x1,x2,x3],R3):
#
Lie_Generators := [D_x1*x1+D_x2*x2+D_x3*x3, D_x3*k^2*x1+D_x1*x3, -D_x1*x2+D_x2*x1, D_x3*k^2*x2+D_x2*x3, D_x1, D_x2, D_x3]:
#
LieAlg:=LieAlgebraData(Lie_Generators):
#
DGsetup(LieAlg):
#
L:= evalDG([e3+u2*e5-u1*e6,e2-u3*e5-k^2*u1*e7,e4-u3*e6-k^2*u2*e7,e1-u1*e5-u2*e6-u3*e7]);
Sub_Alg_L:=LieAlgebraData(L);
#
TrueFalse,Equations,Solutions,IdealList:=Query(L,{u1,u2,u3},"Ideal");
#
TrueFalse,Equations,Solutions,IdealList:=Query([DGzip([a1,a2,a3,a4], L, "plus")],{a1,a2,a3,a4,u1,u2,u3},"Ideal");

Thanks for your help.

 

Jaqr

converts a Maple polynomial into a list of its coefficients.

Hey

Can anyone help me with this file?

I don't know how it happend, but the file somehow got corrupted. Is there anything i can do?

Thanks 

Videregående_beton_Gang_9.mw

 

 

I have a parametric polynomial which is defined based on the multiplication of different variables and I want to rearrange the polynomial based on specific variables. For example, suppose the polynomial is defined as follows:

a:= (1+x+y)(2x-yx+z)(y^2-zy)

and I want to have a based on first, and second orders of x, or even other variables. Thanks

Hi, my problem is the next differential equation:

In maple. I used this code to solved it, but throws this error:

dsolve({diff(y(x), x, x) = -P*x/(I*E), eval(y(x), x = L) = 0, eval((D(y))(x), x = L) = 0});
Error, (in dsolve) found differentiated functions with same name but depending on different arguments in the given DE system: {y(L), y(x)}

What is the problem with my code? How can solve my ODE with tis boundary conditions? 

 

How to write down the differential equation for this practical question? 

I can use dsolve to solve the system equation. 

Thank you! 

EDIT TIME: 14:30 CET

where P(1) and P(2) are NxN matrix functions.

 

My trial code for STEP 0

 alpha times integral w.r.t. x

 Int_x__alpha:=proc(term,alpha): 
 return
select(has,term,x).P(alpha)^T.remove(has,term,x)
end proc: 

 alpha times integral w.r.t. t

Int_t__alpha:=proc(term,alpha):   #alpha times integral w.r.t. t
 return
remove(has,term,t).P(alpha).select(has,term,t)
end proc:

when I run the last procedure for the testing

 Int_t__alpha(Psi(x)^T.C. Psi(t),2);

I get

But it must be 

Because the multiplication is not commutative in Matrices. So, the last procedure must be corrected. 

DETAILS for the procedures:

-------------------------------------------------------------------------------------------------------------------------------------

MAIN QUESTION:

Suppose that we have a PDE as follows 

                                             ...(3)

 

subject to appropriate Initial and Boundary conditions.

-------------------------------------------------------------------------------------------------------------------------------------

STEP 1

  • Find the highest derivative w.r.t. x and w.r.t. t. Then, Let the trial function be the summation derivative of these highest derivatives. I mean

Trial Function:                                           ...(4)

where Psi(x), Psi(t) are Nx1 vectors and C is a NxN matrix.

I can't write a maple code for selecting the trial function.  May be you can.
trial_function:=diff(u(x,t),x,t)=Psi(x)^T.C. Psi(t); 

# I deliberately used ^T instead of ^+ for Transpose.
# If I use ^+, the transpose sign doesn't appear in 2d output. May be you have an other idea.

 

-------------------------------------------------------------------------------------------------------------------------------------

STEP 2

  • Integrate the Eq.4  w.r.t. t from 0 to t, we have
STEP2:=int(  lhs(trial_function) ,t=0..t)=Int_t__alpha(rhs(trial_function),1);


The code must be improved. Firstly, substitute t=s in lhs(trial_function) and then integrate s=0..t 

-------------------------------------------------------------------------------------------------------------------------------------

STEP 3

 

int(lhs(STEP2),x=0..x)= Int_x__alpha(rhs(STEP2),1);

The code must be improved.

-------------------------------------------------------------------------------------------------------------------------------------
STEP 4

  • Integrate Eq.4 w.r.t x

-------------------------------------------------------------------------------------------------------------------------------------
STEP 5

  • Substitute Eq. (5), Eq. (6), Eq. (7) to Eq. (3),
  • I mean substituting  u_x(x,t), u_t(x,t), u(x,t) to PDE.

-------------------------------------------------------------------------------------------------------------------------------------

STEP 6

DOWNLOAD ALL MAPLE CODE: all_code.mw

How can I get Maple to simplify expressions into more meaningful forms?

For example, 

xc1 := -(2*Q*R1 + sqrt(4*Q^2*R1*RL - R1^2 + 2*R1*RL - RL^2))*R1/(4*Q^2*R1 + R1 - RL)

 

The numerator, under the radical, is more meaningful as sqrt(4 Q^2 R1 RL-(R1-RL)^2).

 

Similarly, the denominator can be simplified to Rs(4 Q^2+1)-RL.  

 

How do I get Maple to get me there?

Hi

I have constructed a model of an UR5e in maplesim with the hop to be able to test my controller writen in python on it. 

I hope to be able from the model to

  • Enter a tourqvalue for the joints.
  • Extract joint angles, joint velocitys as well as the forces and tourqes that affects the end effector.
  • (If posible) visualize the sumulated robot arm so I can se that the motion reflects that of the real robot arm.

the simulated robot arm 

The question is how to best do this in a semi realtime way?

I have been looking into generating a FMU but if there are other ways to do this, then I am open to ides. 

The contorller is based on a haptic algoritm for connecting two robot arms and I will only get one robot arm due to prise and space constraints.

This means that I will reseave realtime information from the real robot arm into my python controller that then i supose to take inforamtion from the simulated arm and with information from both arms calculate the tourqe values for both arms joints. 

 

Thanks in advance for all youre help

Eric Ragnarsson

First 86 87 88 89 90 91 92 Last Page 88 of 361