Honigmelone

102 Reputation

8 Badges

10 years, 87 days

MaplePrimes Activity


These are questions asked by Honigmelone

Hey all,

I want to symbolically differentiate a function and recalculate the result later. Here is what I have tried so far:


restart;

myexp:=dfdb+sthlong

dfdb+sthlong

(1)

b:=<b1(t),b2(t)>;

b := Vector(2, {(1) = b1(t), (2) = b2(t)})

(2)

dfdb:=Physics[diff]~(f(b),b)

dfdb := Vector(2, {(1) = (D(f))(Vector(2, {(1) = b1(t), (2) = b2(t)})), (2) = (D(f))(Vector(2, {(1) = b1(t), (2) = b2(t)}))})

(3)

f:=b->b(1)^2+b(2)

proc (b) options operator, arrow; b(1)^2+b(2) end proc

(4)

eval(myexp);  #actual result

 

 

sthlong+(Vector(2, {(1) = (D(f))(Vector(2, {(1) = b1(t), (2) = b2(t)})), (2) = (D(f))(Vector(2, {(1) = b1(t), (2) = b2(t)}))}))

(5)

dfdb:=Physics[diff]~(f(b),b):

eval(myexp); #expected result

sthlong+(Vector(2, {(1) = 2*b1(t), (2) = 1}))

(6)

 


Download physics_diff.mw

I wonder if this is even possible, or if I missunderstand something. Can you please help me?

 

Thanks

 

Honigmelone

Hey,

is there a way to substitute funktion combinations when they have the same arguments? I want to substitute abs(exp)*abs(1,exp) with exp. Algsubs works as long as I know the excat expressions. However, I want to do this substitution for any exp. Simplify doen't work here ether.

I also tried to write my own simplification rule with no success:

restart:

f:=abs(a)*abs(1,a);

 

abs(a)*abs(1, a)

(1)

siderel:={abs(x)*abs(1,x)=x};

{abs(x)*abs(1, x) = x}

(2)

simplify(f,siderel);    #expected result: a

abs(a)*abs(1, a)

(3)

 

 

 

 

Download simplify_abs.mw

 

Thanks in advance!

Hey,


I want to assign a value to a symbol stored in a vector. I know the position of the symbol in the vector. Is there an easy way to do this?

Here to illsutrate my problem:

restart:

vec:=<a,b,c>:

vec(1):=1;    # expected result: a:=1

vec := Vector(3, {(1) = 1, (2) = b, (3) = c})

(1)

a;            # expected result: 1

a

(2)

 

 

Download point_to_element.mw

 

 

Hey,

I think I found a bug concerning the useage of assume and alias:

restart:

alias(a=a(t),b=b(t));

a, b

(1)

assume(a(t),real);

getassumptions(a(t));

{((a(t))(t))::real}

(2)

assume(b(t),real);

getassumptions(a(t));

{((b(t))(t))::real}

(3)

getassumptions(b(t));

{((b(t))(t))::real}

(4)

 

 

 

Commenting out the alias command produces correct results. I am on linux with build 922027.

alias_bug.mw

Hey,

I wonder if there is an operator to skip inputs and outputs of functions. Consider this example:

The output would be:

However my system is much bigger and I only need the second output of the command and I dont want to waste memory on the first.

In Matlab I would write

~,ans := GenerateMatrix(...)Is there a similar shortcut availible in Maple?

 

Thanks in advance!

 

1 2 3 4 Page 3 of 4