acer

32303 Reputation

29 Badges

19 years, 309 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are answers submitted by acer

Have a look at ?LinearAlgebra,GenerateMatrix acer
To find the indeterminates, f := x^2*y + 10*z*w + 2*a*t; indets(f); nops(indets(f)); acer
This was in Maple 11.02, > e := (1+b)*x^2+a*(1+b)*x+b*(b-1)+2*b: > factor(expand(e)): > lprint(%); (1+b)*(b+x^2+a*x) Knowing the factor (b+1) in advance, this next was also possible for this example, > e := (1+b)*x^2+a*(1+b)*x+b*(b-1)+2*b: > (b+1)*simplify(e/(b+1)): > lprint(%); (1+b)*(b+x^2+a*x) acer
Plotting `xtba` vs `ytba` for a range of `T`, with fixed `press`.
ytba:=(press-exp(14.7569-2895.6078/(T+140.7459)))*exp(14.7569-2895.6078/(T+140.7459))/((exp(16.5270-3026.8900/(T+168.1400))-exp(14.7569-2895.6078/(T+140.7459)))*press);

xtba:=(press-exp(14.7569-2895.6078/(T+140.7459)))/(exp(16.5270-3026.8900/(T+168.1400))-exp(14.7569-2895.6078/(T+140.7459)));

plot(eval([xtba,ytba,T=30..50],press=100));
acer
Here's a couple of ideas. # replace with your procedure... `#mo("∇")`:=proc(V::Vector) map(sin,V); end proc: `#mo("∇")`:=`#mo("∇")`: Then after each time you grab the nabla from the Common Symbols palette (or cut and paste it) you would have to select the inserted symbol (only) with the mouse, and use the Context Menu action, 2D Math -> Convert To -> Atomic Identifer In this way, I was able to get it to look like a Del/nabla and act like a function on a Vector. I had to use round brackets though, like for any other procedure. Another way that worked for me was to issue, unprotect(VectorCalculus:-Nabla); After that, I could use the symbol from the palette without having to do Context Menu toggling each time. But even this way I couldn't get it to work without using brackets in order apply it, without receiving the error, Error, (in Typesetting:-delayGradient) unable to compute gradient until a co-ordinate system has been defined (see ?VectorCalculus:-SetCoordinates) I don't know if there's a clever workaround for that. acer
1) with(LinearAlgebra): A:=RandomMatrix(2): B:=RandomMatrix(2): X:=Vector(2,(i)->convert(cat("x",i),name)): Y:=LinearSolve(B,A.X); A.X-B.Y; 2) LinearAlgebra[GenerateMatrix]([x1-x3,x1+x2-x4, x1+x2, x3+x4],[x1,x2,x3,x4]); 3) evals:=Eigenvalues(evalf(A)); `+`( seq(`if`(Im(x)=0.0,signum(Re(x)),NULL),x in evals) ); acer
Here's my exam tip. When you do indefinite integrations, don't forget to add the constant (+ C). Those docked half-points add up. Do it like Maple does dsolve({diff(f(x),x)=x}) , not like it does f(x)=int(x,x) . acer
The colon at the end of a statement will instruct maple to suppress the printed or displayed output. A semicolon will not suppress the output. Your last three assignments ended with colons. acer
a:=n->1/((2*n-1)*(2*n+1)); # nth term in sum s:=(n)->n/(2*n+1); # proposed sum formula Is s(1) correct? Does s(N)+a(N+1) = s(N+1) ? acer
You are so close. Two things must match. The value the line attains at x=x1 must be equal to the value that f attaints at x=x1. That's because they touch. The value of the slope of the line must be equal to the value of the slope of f, at the point where they touch. (Not true of all functions, but true of "nice" or "smooth" functions. Not true if f has a "pointy" change of direction or cusp.) So, the first of those two matchings you can probably figure out. Evaluate both the equation of the line and of f, when x=x1. To get the second, you need formulas for the slope of f and for the slope of the line. You got the slope of f, as f'(x). Great. Now, what's the slope of the line? acer
If you issue ?Chebyshev in Maple then you should see suggestions from the help system. Those should include references to parts of the numapprox and orthopoly packages. Consider looking at ?numapprox,Chebyshev . I hope that I've understood what you're after. acer
There are lots of ways to program this. Some are easy to set up, but are probably not optimal for performance. Here are two easy ones. IR := n -> ArrayTools:-FlipDimension(LinearAlgebra:-MatrixScalarMultiply(LinearAlgebra:-IdentityMatrix(n,compact=false),-1,inplace=true),2); seq(IR(n), n=1..5); IR2:=n->Matrix(n,n,(i,j)->`if`(i=n-j+1,-1,0)); seq(IR2(n), n=1..5); acer
First things first. If you want to use < and > symbols in your posts, then enter then (without spaces or quotes) as "& l t ;" and "& g t ;". That's for marked up HTML posts here, which is the default. Alternatively, click on "Input format" just below the entry box and select a plain text format for the post. Now, the Optimization package does purely numeric computation. So rather than have function V attempt a symbolic integral for every (E,a) pair, you can set it up to do purely numeric quadrature from the get go. It'd likely be more efficient. Below, I set up OptE as a procedure that is gentle for plot(). If any particular Maximize() call returns unevaluated (as can possibly happen) then OptE returns the value undefined. plot() should handle that OK. Of course, if you wish to use the solutionmodule output method of Maximize, then all type checking I have to test that it has actually returned a numeric value would need to look slightly different. Notice also that I put so-called unevaluation quotes around the V call, inside OptE. That's because otherwise the Maximize() routine would try to evaluate V(E,a) before finding out what any values of E were. It would then stop, with an error message. There are other ways of working around that issue.

V := (E,a) -> evalf(Int(-1/2*E*(-r+E)/r*((1/2*r)^(-1+a)*(1-1/2*r)^(-1+a)/Beta(a,a)),r = E .. 2,digits=10));

V(1,1);

OptE:=proc(a)
global V;
local result;
  result := Optimization[Maximize]('V'(E,a),E=0..2);
  if type(result,list) and type(rhs(op(op(2,result))),numeric) then
    result := rhs(op(op(2,result)));
  else
    result := undefined;
  end if;
end proc:

plot(OptE,0.5..1.0);

If you aren't concerned about plot() and handling any problematic return values from Maximize() then you could use simply this,
OptE:=a->rhs(op(op(2,Optimization[Maximize]('V'(E,a),E=0..2))));
If a V() call returns unevaluated (as could happen if the quadrature failed) then Maximize() would throw an error. You could guard against that by putting the Maximize() call within a try..catch:..end try clause and by having OptE return undefined in such a case. acer
You assign to U,S, and Vt within the procedure. And doubtless those variables are declared as locals of the procedure (either explicitly by you, or implicitly, alongside a warning, by maple at the procedure creation moment). But in that case, when U, S, and Vt are locals, they cannot be used in the SingularValues call as part of the 'output' options. The options processing of the SingularValues routine won't recognize them as valid. But you should be able to use the global names instead. That is, use them like so, output = [':-U', ':-S', ':-Vt'] You did the right thing, by quoting them, because those global names might have been assigned values, elsewhere. (For example, by running your example multiple times, outside of any procedure.) It would be nice if the help-pages gave more examples where this was done. acer
Your simpleftilde(x,0) will call ftilde(x,0), not f(x,0) as you seem to suggest. And ftilde(x,0) will call f(0,0). But your defn of f has, inside it, 1/(x+lambda). So when x and lambda are both zero, evaluating that causes that exception. acer
First 323 324 325 326 327 328 329 Last Page 325 of 336