MaplePrimes Questions

I want to have a proc, which returns an expression using an indexed symbol. The proc needs to basically generate constansts to use to build an expression, similar to how dsolve uses _Cn.  But I do not want to use _Cn for this so not to confuse the expression with another one that was generated using _Cn already.

So I thought to use a local symbol say A.  (I could have used _Zn also, but I think _Z is also used by Maple).

The symbol A is first declared local to the proc, and then the proc returns the expression using A[n]. For example  A[0]*x+A[1]*x^2 etc... The number of A[n]'s is not known before hand, but should not be more than 10. 

I want to make sure that A[n] returned is really part of the local symbol and not different symbol to avoid clash with any global A[n] 

When I do the following check

restart;
foo:=proc()
 local A;
 return A[99]
end proc;

expr:=foo()

type(expr,`global`)

gives

good. So Maple says that A[99] is not global. But when I do

type(expr,`local`)

it also says false!

My question is: When making local A , will A[1] and A[2] also be local, or are they different symbols? Maplemint says nothing about it, so I assume A[n] is local also?

maplemint(foo)
Procedure foo() 
  These local variables were used but never assigned a value:  A

It did not say that A[99] was never declared local. This tells me that A[99] is local, because A is local. But then why did type(expr,`local`)  say false?

Hi,

I was wondering why each time solve is executed, I get a different of number of solutions and can I specify the number of solutions?

 

Thanks so much for taking time to answering this question.

 



Maple Worksheet - Error

Failed to load the worksheet /maplenet/convert/number_of_solutions.mw .
 

I don't way the above error happened. But here is my worksheet below.

Download number_of_solutions.mw

Given an expression, how to best find the constants _C1, _C2, etc.... in this expression?  Currently I do the following, but I think there should be a better way.

restart;
sol:=dsolve(diff(y(x),x$2)+y(x)=1);
indets(sol);
select(x->`if`(type(x,symbol) and convert(x,string)[1..2]="_C",true,false),indets(sol))

The above works, at least on the few examples I tried it on, but is there a better way to do it?  All constants will have the form _Cn where n is integer. 

 

 

Hi,

This question is related to the answer I gave to this question 232564-I-Need-To-Learn-What-Type-Of-Calculation

In a few words the OP (planetmknzm) wanted to know how a Maple's procedure (PlanePlot) was doing some calculus.
I proposed him to redirect the output of print('PlanePlot') to a mpl file, to open this latter, to insert a DEBUG() command and follow step by step what was going on.

If I execute the whole procedure (whose name is MyPlanePlot) I get this strange error
Error, (in MyPlanePlot) Colours is not a command in the Student package
Indeed PlanePlot contains instructions like this one

pl_Basis := plots['arrow']([[p, B[1]], [p, B[2]]], 'width' = pl_scale, 
      'colour' = Student:-Colours[2], op(basisoptions))

Searching for Colours in the help pages confirms what the error message says, but browsing the library with the assistant reveals that Student:-Colours does exist.

PlanePlot.mw

Do packages contain commands that are not accessible to users?
Why does PlanePlot work but its "clone" MyPlanePlot doesn't?
Last but not least, is there a way to fix this ?


Thanks in advance


PS : I discovered this issue as I was about to propose to planetmknzm another way to asked his previous question  232518-How-Can-We-Assign-The-Values-Of-Basis (just insert return B[1], B[2]: before the end of MyPlanePlot to get the vector basis)

restart;
Digits:=30:

f:=proc(n)
	x[n]-y[n];
	
end proc:


e1:=y[n] = (15592/1575)*h*f(n+5)+(35618816/99225)*h*f(n+9/2)-(4391496/15925)*h*f(n+13/3)-(2035368/13475)*h*f(n+14/3)-(212552/121275)*h*f(n+1)+(10016/11025)*h*f(n+2)-(31672/4725)*h*f(n+3)+(19454/315)*h*f(n+4)-(351518/1289925)*h*f(n)+y[n+4]:
e2:=y[n+1] = -(34107/22400)*h*f(n+5)-(212224/3675)*h*f(n+9/2)+(92569149/2038400)*h*f(n+13/3)+(82333989/3449600)*h*f(n+14/3)-(568893/1724800)*h*f(n+1)-(459807/313600)*h*f(n+2)+(1189/22400)*h*f(n+3)-(50499/4480)*h*f(n+4)+(32951/6115200)*h*f(n)+y[n+4]:
e3:=y[n+2] = (69/175)*h*f(n+5)+(1466368/99225)*h*f(n+9/2)-(13851/1225)*h*f(n+13/3)-(60507/9800)*h*f(n+14/3)+(43/3675)*h*f(n+1)-(3509/9800)*h*f(n+2)-(6701/4725)*h*f(n+3)+(871/420)*h*f(n+4)-(247/396900)*h*f(n)+y[n+4]:
e4:=y[n+3] = -(31411/201600)*h*f(n+5)-(745216/99225)*h*f(n+9/2)+(13557213/2038400)*h*f(n+13/3)+(9737253/3449600)*h*f(n+14/3)-(20869/15523200)*h*f(n+1)+(36329/2822400)*h*f(n+2)-(202169/604800)*h*f(n+3)-(100187/40320)*h*f(n+4)+(14669/165110400)*h*f(n)+y[n+4]:
e5:=y[n+13/3] = -(3364243/1322697600)*h*f(n+5)-(134364928/651015225)*h*f(n+9/2)+(19955023/55036800)*h*f(n+13/3)+(5577703/93139200)*h*f(n+14/3)-(910757/101847715200)*h*f(n+1)+(1336457/18517766400)*h*f(n+2)-(2512217/3968092800)*h*f(n+3)+(31844549/264539520)*h*f(n+4)+(690797/1083289334400)*h*f(n)+y[n+4]:
e6:=y[n+14/3] = -(29107/10333575)*h*f(n+5)+(7757824/651015225)*h*f(n+9/2)+(180667/429975)*h*f(n+13/3)+(342733/2910600)*h*f(n+14/3)-(7253/795685275)*h*f(n+1)+(42467/578680200)*h*f(n+2)-(19853/31000725)*h*f(n+3)+(993749/8266860)*h*f(n+4)+(22037/33852791700)*h*f(n)+y[n+4]:
e7:=y[n+9/2] = -(115447/51609600)*h*f(n+5)-(21389/198450)*h*f(n+9/2)+(231041241/521830400)*h*f(n+13/3)+(43797591/883097600)*h*f(n+14/3)-(32833/3973939200)*h*f(n+1)+(48323/722534400)*h*f(n+2)-(91493/154828800)*h*f(n+3)+(1220071/10321920)*h*f(n+4)+(24863/42268262400)*h*f(n)+y[n+4]:
e8:=y[n+5] = (1989/22400)*h*f(n+5)-(61184/99225)*h*f(n+9/2)+(1496637/2038400)*h*f(n+13/3)+(2458917/3449600)*h*f(n+14/3)+(73/5174400)*h*f(n+1)-(31/313600)*h*f(n+2)+(359/604800)*h*f(n+3)+(1079/13440)*h*f(n+4)-(179/165110400)*h*f(n)+y[n+4]:



h:=0.01:
N:=solve(h*p = 8/8, p):
#N := 10:
#n:=0:
#exy:= [seq](eval(i+exp(-i)-1), i=h..N,h):
c:=1:
inx:=0:
iny:=0:

mx := proc(t,n):
   t + 0.01*n:
end proc:

exy := (x - 1.0 + exp(-x)):

vars := y[n+1],y[n+2],y[n+3],y[n+4],y[n+13/3],y[n+14/3],y[n+9/2],y[n+5]:

printf("%6s%20s%20s%20s\n", "h","numy1","Exact", "Error");
#for k from 1 to N/8 do
for c from 1 to N do

	par1:=x[n]=map(mx,(inx,0)),x[n+1]=map(mx,(inx,1)),
		x[n+2]=map(mx,(inx,2)),x[n+3]=map(mx,(inx,3)),
		x[n+4]=map(mx,(inx,4)),x[n+5]=map(mx,(inx,5)),
		x[n+13/3]=map(mx,(inx,13/3)),x[n+14/3]=map(mx,(inx,14/3)),
		x[n+9/2]=map(mx,(inx,9/2)):
	par2:=y[n]=iny:
	res:=eval(<vars>, fsolve(eval({e||(1..8)},[par1,par2]), {vars}));
	
	printf("%7.3f%22.10f%20.10f%17.3g\n", 
		h*c,res[8],(exy,[x=c*h]),abs(res[8]-eval(exy,[x=c*h]))):
		#c:=c+1:
	
	iny:=res[8]:
	inx:=map(mx,(inx,5)):
end do:

Dear all,

Please Kindly help to correct or modify the code above

Thank you and best regards
 

 

 

I can't figure out how to import a netlist into Syrup. 
for_help.mw

I get errors (for the different attempts)-- the latest one  being, "Error, (in sprintf) insufficient parameters for algebraic format"

this is the netlist.load_imp_calc.txt

I had to change it to ".txt" so I could upload it here. Pleae rename to ".cir" 

 

Thanks

how to plot call and put of classical Black Scholes with initial stock price 30, strike price 30 r=0.1, sigma=0.2 in  both Maple and MATLAB codes? how can we interpret the results?

 

Is there any one who knows what is behind of "PlanePlot"? How does it calculates the values below?

Hello :-)

I am trying to solve a third degree polynomial with assumptions, but I do not understand Maple's answers.

I think I am not doing it ''correctly''.

Can someone please help me understand why Maple gives me these answers and how I could get the ones that Maple gives me when I fix a value for my parameter ? Please have a look at the attached file : test1.mw

I hope my questions are clear, please don't hesitate if you need clarifications.

Thank you very much for your help and your advices.

Why is this integral so difficult -- so slow to execute?

seq(evalf(Int(1/R*sinh(s*coth(1/2*s))^(2*I/k)/(gam-I*k*cosh(s))^5*
     Int(exp(-(k^2*sinh(s)^2/(gam-I*k*cosh(s))-I*k*(1+cosh(s)))*v)*
     hypergeom([1/k*I],[1],k*v*I)*v^n,v = 0 .. 1/2*R), s=0..s_max)), n=0..1);

Hints to improve the efficiency of execution would be appreciated.

The conversion of a maple formula in latex version 2021 produces some

commands which are not defined , see   primes_latex.mw.

Perhaps more informations should be given  in the news about the command latex in Maple 2021

I have a transfer function:

xfer_mag := 1/sqrt((-1.0000 + 1.0772*10^(-14)*f^2)^2 + (1.9665*10^(-20)*f^3 - 3.6181*10^(-6)*f)^2)

 

if I do:  semiplotplot(20*log[10](xfer_mag),f=10..30e6) I get :

 

but if I do: plot(20*log[10](xfer_mag), f = 10 .. 0.30e6), and then use the menu options to the right to change the axes properties to Log, I get this:

 

what is going on here?  why is the magnitude not the same ?

Download demo.mw

 

Hi everyone,

There is an attached file below. 

I am trying to solve the following equation and I get a numerical value with RootOf.

Do you know if it is possible to get the exact solution with RootOf? Do you know another method? In general, do you know a way to determine if Maple is able to get the exact value or not?

I know it is not always possible to get exact solutions, but maybe there is a way to do it for this polynomial... ? :--)

I hope my questions are clear. Thank you very much for your help and advices. 

test.mw

Hey folks;)

I'm new to Maple and as I tried to export my first document to PDF the plots changed. I tried  everything I could think of but nothing  worked.

All the labels on my plots are now at wrong positions.

I hope you can help me.

...I have to say to that I haven't bought maple yet so that could be a reason to try other progamms.

So thank you for your help    

I solve for a transfer function using Syrup, and want to operate on the Real part and Imagninary parts separately.  I've added "assumes" statements for every variable:  

assume(Rsrc, real);
assume(C1, real);
assume(Lp, real);
assume(C2, real);
assume(f, real);
assume(RL, real);
additionally(0 < Rsrc, 0 < C1, 0 < Lp, 0 < C2, 0 < RL, 0 < f);

 

When I then do something like :


 
instead of gettting just the real part of the expression, I get :

 

as if one of the variables was still not assumed to be Real.  I'm not sure where all the '~' are coming from ---is that the issue?

 

I apologize, I can't insert content for some reason..., although I can add the worksheeet.
pi_filter_osc_anal.mw

First 270 271 272 273 274 275 276 Last Page 272 of 2308