## formal parameters in procedures - why formal?...

In the Help section under procedures (or proc) it states:
argseq - the formal parameter names
I just wondered about the use of the word 'formal'.
eg in this simple Maple code
maxim:=proc (a,b,c,d)
max(a,b)+max(c,d)
end proc:
maxim(2,3,5,4);
. . . the formal parameters are a, b, c, d. Is the word 'formal
' being used as "officially recognised" and a=2, b=3 etc. (ie the
order is important or is there
some deeper meaning? I'd appreciate a short example of a proc using
something else besides variable values, or Null.
Thanks
David

## ODE Curve fitting...

Ok, I have the following equations: c'[t] = a[t]*b[t]*k1 - c[t]*k2, a'[t] = (-a[t])*b[t]*k1 + c[t]*k2, b'[t] = (-a[t])*b[t]*k1 + c[t]*k2, c[0] =0, a[0] =10, b[0] =10. I have data for concentration of "c" at all time intervals from 0-16. Here is the data: {0, 0}, {1, 4.98112}, {2, 6.61986}, {3, 7.42423}, {4,7.89529}, {5, 8.20004}, {6, 8.41008}, {7, 8.56123}, {8,8.67342}, {9, 8.7586}, {10, 8.82442}, {11, 8.87595}, {12, 8.91671}, {13, 8.94923}, {14, 8.97535}, {15, 8.99643}, {16, 9.01351}. I need Maple to Solve the ODE's and optimize the values for k1 and k2 to fit the data usins a least-square method or something along the lins of that. Can someone send me the code for that?

## How do I make Maple Code run faster after its conv...

We were wondering if you could help us with a question to Maple: We have converted a C code directly into Maple code and have found that Maple runs about a thousand times slower than the C version (the code is a numerical simulation). 1) Why is this so? 2) How do we make it run faster?

## print dsolve[numeric] result to file?...

Hi, All, I'm a Maple primer. I want to solve an ODE numerically and then save the data to file. I use: dsol := dsolve({deq,ic}, numeric, range=0..100); or dsol := dsolve({deq,ic}, numeric, range=0..100, output=operator); then how can I print the formated data for some specified t (=1..100, for example) to a data file? Thanks. David

## missing symbol...

I need the symbol for the partial derivative (something like @) in a .mws worksheet. Well, I found this feature as an operator on the new .mw platform, but I need it as a symbol. If I write a name (say PartialD) in the worksheet I want to get the symbol similar to @ at the screen.

What can I do?

Florian

## working with tensors in maplet...

I would like to construct a maplet to evaluate different objects in general relativity, say for example , metric,covaliant derivative and so on. Please help me with the procedure or a sample maplet.

## Missing inflection point...

I'm wondering what I'm missing here: with Student[Calculus1]: InflectionPoints(x^(5/3) - 5*x^(2/3),x) returns an empty result where there should be an inflection point at (-1,-4). I suppose there is a real easy solution to this. Please enlighten me. Tim

## Viewing steps of a simplification...

When simplifying an expression or solving an equation, is there a way to have Maple display some of the steps without having to put them in manually?

## generate code for numerical integral...

Is it possible to generate C or Fortran code for a numerically evaluated integral (ie. evalf(Int(...)) )? with(CodeGeneration): and either C(..) or Fortran(...) yield the error message: Warning, the function names {Int} are not recognized in the target language (a similar error message occurs for an int(..) expression) Alejandro

## multiple animations...

A student in my PDE class asked about having two functions in animation at the same time. Here is how I suggested doing this: > f:=(t,x)->sin(t)*x*(1-x); > g:=(t,x)->cos(t)*x*(1-x); > N:=50; > for n from 0 to N do J[n]:=plot([f(2*Pi*n/N,x),g(2*Pi*n/N,x)],x=0..1): od: n:='n': > plots[display]([seq(J[n],n=0..N)],insequence=true); Is there a simpler way? Jim Herod

## Why won't assume and assuming work consistently?...

I am trying to determine when one inequality implies another inequality and I am finding that assume and assuming aren't working consistently for me. I've put the code for my test run below. It seems to work the first time through when I assume mylist[1], but when I assume mylist[2] it always returns false. If I explicitly test is(x>-4) it returns true as it should but if I ask it to determine is(mylist[5]) (which is x>-4 once mylist is overwritten) it returns false? Is there a reason for this? I'm eventually going to need to put it all into a loop that works for any list--is there a way that will guarantee that it will work consistently?

## Why don't these structured types work?...

Why don't these structured types work? > type(Pi, symbol); > evalb(Pi::symbol); > type(Pi, constant); > evalb(Pi::constant); > type(x, symbol); > evalb(x::symbol); > type(x, constant); > evalb(x::constant); > type(Pi, symbol and not constant); > evalb(Pi::(symbol and not constant)); > type(x, symbol and not constant); > evalb(x::(symbol and not constant)); I know we can do it using TypeTools[AddType]( variable, t->evalb(t::symbol and not t::constant) ); but why doesn't the simple version work? Phil