Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

I have a procedure that I am trying to run that would be an improvement/more sophisticated way of solving a problem that I have previously solved. When I try and run my procedure I am getting an error, and from what I gather with the error is that there are some values when inserted into my procedure that cannot be evaluated. Just for context it is a procedure that contains numerical solutions to a system of DEs and and contains inequalities. 

I would like to know is there an easy method to figure out what values are giving me this error? 

Or a follow up, is there something wrong with my procedure that is giving me this error? I have included some commentary in my workshet as well to hopefully make everything clear. 

Thanks. 

Proc_Error.mw

Here is a procedure I wrote to apply a greek prefix to a value so that the coefficient lies between 1 and 1000.

 

applyGreekPrefix := proc(x)
	description
		"Accepts a number, and if it has units, a Greek prefix is added so that the coefficient is between 1 and 1000",
		"Values without units or a unit of muliple units are returned as-is"
	;
	local prefixes, powers, value, unit, exponent, new_value, idx, prefix, strUnit, new_unit, i, SIx, returnval;
	
	if Units:-Split(x)[2] = 1 or numelems(indets(op(2, x), 'name')) > 1 then	
		# Value has no units or consists of multiple units
		returnval := x;
	else
		# Define the SI prefixes and their corresponding powers of 10
		prefixes := ["q", "r", "y", "z", "a", "f", "p", "n", "μ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y", "R", "Q"];
		powers := [seq(i, i = -30 .. 30, 3)];
		
		# Convert to SI unit w/o prefix
		SIx := convert(x, 'system', 'SI');		
		# Separate the value and the unit
		value := evalf(op(1, SIx));
		unit := op(2, SIx);
		strUnit := convert(unit, string);  # Convert the unit to a string representation
		
		# Calculate the exponent of 10 for the value
		exponent := floor(log10(abs(value)));
		
		# Find the closest power of 10 that makes the coefficient between 1 and 1000
		idx := 0;
		for i from 1 to nops(powers) do
		   if exponent >= powers[i] then
		       idx := i;
		   end if;
		end do;
		
		# Adjust the value based on the selected prefix
		new_value := value / 10^powers[idx];
		prefix := prefixes[idx];
		# Construct the new unit using Units:-Unit if a prefix is needed
		if prefix = "" then
		   new_unit := unit; # No prefix needed, use the original unit
		else
		   new_unit := parse(StringTools:-Substitute(strUnit, "Units:-Unit(", cat("Units:-Unit(", prefix))); # Construct a new unit with the prefix
		end if;
		
		# Return the adjusted value with the new unit
		returnval := new_value * new_unit;
	end if;	
	return returnval;
end proc:
list_tests:=[0.0001*Unit('kV'), 10000*Unit('V'), 10*Unit('V'/'us'), 12334];
for test in list_tests do
	print (test, "becomes", applyGreekPrefix(test));
end do;

 

I have some library program files written using Maple 11 (or before).

I can read and use the file programs and they have worked fine for many years.

But I would like to actually see the programming commands that are buried within with a view to modification, so, according to the Maple "Help" file, I tried the following command sequence:

***********************************************************

restart;
interface(echo=4,quiet=false);
interface(echo);
interface(quiet);
                            1, false

                               4

                             false

read "C:\\Program Files (x86)\\Maple 11\\test3.m";

**************************************************************************

But there is no echo.

So, how do I read (and modify) these files?

Thank you

How can I check if a name has been used/entered already but was not assigned to a value

The variable palette only lists assigned names.

I tried unames() but this lists all unassigned names. A 'user' option (which filters for user-assigned names) as in anames() does not seem to exist.

One of my failed attempts (in 1D-Math):

restart;
unames():
initial_unames := {%}:
new_name;
{unames()} minus initial_unames; # should ideally return a reduced set containing new_name;
has(%,new_name)

What else can be done? (I am probably overlooking something very simple.)

For a right triangle with two legs of the right triangle a and b, draw three circles with radius r and one ellipse as shown in the diagram (the major axis of the ellipse is parallel to the hypotenuse of the right triangle). Find a relationship between a, b, and r

I never really understood Intat. Help says 

"The intat command expresses an integral evaluated at a point; it is analogous to using the D command to express a derivative evaluated at a point."

But slope at a point is clear what it is and one can visualize it.

I do not understand what integral at single point means.

If one thinks of integration as area under the curve of the function, so what does area at single point mean? Should not integration (definite) always have lower and upper limits?

But my main question is not the above. I am sure there is a valid reason for Intat, otherwise it will not be in Maple.

But my quesiton is, in the context of solution to ode, can one replace result given using Intat by Int such that the lower limit starts from zero, and using same upper limit?

ie change Intat(...., a_ = something)  by Int( ... , a_ = 0 ... something) without changing the semantics or the correctness of the solution?

Because in  Intat, the lower limit is empty, and this always bothered me. At school the teacher says definite integration should have both lower and upper limits.

I tried it few places, and odetest verifies the solution of ode when using Intat or when using Int with lower limit zero:

ode:=diff(y(x), x) = B + C*f(a*x + b*y(x));

diff(y(x), x) = B+C*f(a*x+b*y(x))

sol_1:=Intat(1/(C*f(_a*b)*b+b*B+a),_a = (a*x+b*y(x))/b)*b-x+_C1 = 0;
sol_2:=Int(1/(C*f(_a*b)*b+b*B+a),_a = 0..(a*x+b*y(x))/b)*b-x+_C1 = 0;

Intat(1/(C*f(_a*b)*b+b*B+a), _a = (a*x+b*y(x))/b)*b-x+_C1 = 0

(Int(1/(C*f(_a*b)*b+b*B+a), _a = 0 .. (a*x+b*y(x))/b))*b-x+_C1 = 0

odetest(sol_1,ode);

0

odetest(sol_2,ode);

0

 

 

Download intat_vs_int.mw

Is there a case you know, where solution of ode which has Intat, when replaced by Int with lower limit 0, will no longer verifies the ode?  I am not able to find one so far. But may be there is.
 

Update

fyi, I found case where it makes difference. Not for odetest, but when using value. When using Int(...,tau=0..upper) vs   Intat(....,tau=upper)

value was able to find the value when using Intat, but not when using Int (for this example). 

So I think I will just stick to Intat even though both verified the ode as valid solution as it is better to be able to find value for integral if possible. I knew there must be good reason why Intat was invented.

 

ode:=diff(y(x),x)= sin(x-y(x));

diff(y(x), x) = sin(x-y(x))

sol_1:=Int(1/(1 - sin(tau)), tau = 0..x - y(x)) = x + _C1;
sol_2:=Intat(1/(1 - sin(tau)), tau = x - y(x)) = x + _C1;

Int(1/(1-sin(tau)), tau = 0 .. x-y(x)) = x+_C1

Intat(1/(1-sin(tau)), tau = x-y(x)) = x+_C1

odetest(sol_1,ode);

0

odetest(sol_2,ode);

0

value(sol_1);

int(1/(1-sin(tau)), tau = 0 .. x-y(x)) = x+c__1

value(sol_2);

-2/(tan((1/2)*x-(1/2)*y(x))-1) = x+c__1

 


 

Download int_vs_intat_v2.mw

 

@Rouben Rostamian  

Dear Sir Professor Rostamian my name is Viorel Popescu from the Polytechnic University of Bucharest if you remember in the summer of 2019 you helped me to solve the equation: rH''(r)+H'(r)+(rk^2-r^2*b^2/R^2)H(r)=0 where k, b, and R are real constants positive number, with condition H(R)=0 and H'(1/R)=R. I appreciate it very much, please I'm in a similarly embarrassing situation to beg you for an answer. I want to find the equation of audion and complete the experiment http://www.michaelvio.byethost8.com/Audion.pdf

My account in Maple Primes is the same michaelvio (35) as the email michaelvio@yahoo.com and also @gmail.com it's an experiment that I want to make for my PhD. Practically I suppose that the energy can be approx. as a series of power of frequency t from I selected severaral terms Ea := 0.00762014687*t + a*t^2 + b*t^3 + c*t^4 + d*t^5 and I guess that satisfies an equation as in the document. The case of photons is beyond my possibility, but a little help from a distinguished Professor as you should cheer me up Audion1.mw

Audion.docx

Please help! 

I need to automatically solve this system, that is, both equations simultaneously for different intervals of T that I define. For example, from T=0.1 to 4, then from 4.5 to 5 and from 7 to 8 with distinct subdivisions between them, the first varying by 0.1, the second by 0.05 and the third by 0.25. Furthermore, the index that accompanies m and G is only illustrative. Would anyone know how to help me?

Thank you for your help!

I have expression which can have many different functions  in it. Assume the expression is `+` type.

I do not know before what these function names are. 

Is there a way to make Maple collect on these functions automatically? Simplify does not do it. So if there is something like b*g(x)+g(x) in the expression, to simplify this to (1+b)*g(x) automatically?

I noticed if expression is   just b*g(x)+g(x) then simplify does give (1+b)*g(x) but once I add a new term, like 3+b*g(x)+g(x) then it no longer does it! which for me is very strange. I was expecting to get 3+(1+b)*g(x) 

Here is an example

restart;

T:=g(x)+b*g(x);
simplify(T);

g(x)+b*g(x)

g(x)*(b+1)

T:=3+g(x)+b*g(x);
simplify(T);

3+g(x)+b*g(x)

3+g(x)+b*g(x)

T:=3+g(x)+b*g(x)+f(x);
simplify(T);

3+g(x)+b*g(x)+f(x)

3+g(x)+b*g(x)+f(x)

 

 

Download simplification_oct_9_2024.mw

What do I need to do to get this output using another software

Ofcourse, I could go and add code to find the names of each function and then use collect. But it seems to me simplify should have done this automatically as the above shows. So I am wondering if there is an option I've overlooked which will do this more easily.

Maple 2024.1

In the rectangular Cartesian coordinate system, three straight lines gA, gB, gC are given, which are not all parallel to each other. Another straight line g and the points Oa, Ob, Oc on it are given. A triangle ABC is to be constructed, one of whose vertices lies on gA, gB or gC and the triangle sides a, b and c (or their extensions) each run through Oa, Ob or Oc.
We are looking for the coordinates of the vertices A, B, C.
In a purely constructive solution, the calculation can be omitted.

Hi everyone, I just try a simple equivalent implicitplot3d code regarding Maple and matlab to see difference. First for Maple, I don't set grid, just input one random complicated function and displays "Warning, solutions may have been lost", while matlab doesn't, but it's figure cannot compare with maple's in terms of detail or beauty (just focused on this case). I wanna know why. Hope for your reply!
The Maple code is as below

NULL

restart

with(plots)

implicitplot3d(x^(2*z)+y^(-2*y^(-z))+exp(-.1*z^2) = 1)

Warning, solutions may have been lost

 

Warning, solutions may have been lost

 

 

NULL

Download implicitplot3d_solution_lost_try.mw

The orange font is equivalent matlab code and figure is attached.
% Define the function for implicit plotting

f = @(x, y, z) x.^(2*z) + y.^(-2*y.^(-z)) + exp(-0.1*z.^2) - 1;

% Use fimplicit3 for 3D implicit plotting

fimplicit3(f, [-2 2 -2 2 -2 2]);

% Set labels and title

xlabel('x');

ylabel('y');

zlabel('z');

title('Implicit 3D Plot of f(x, y, z) = 1');

Hi
I hope you are doing well. I have plotted (in the attached file) the contour plot of the function and its density plot; both have the same behavior but different appearances (error in direction may be rotation needs to apply). I don't know why it happens because this code works well for other solutions. Kindly have a look and fix the issue. I shall be waiting for your positive response. Please take care.
Help.mw

The complete Maple Conference 2024 program is now available online. You can view it HERE.
Thank you to all those who voted for the "Audience Choice" sessions. The winning topics are listed in the program.

Registration is still open and free of charge.  

We hope to see you there!

I do not understandwhat this result from Maple means.

I don't know what it means when a result has "Root of", and in this case, there is also a big summation sign for which I can't tell if the variables underneath it are part of the summartion, or what.  I'd appreciate any guidance to make sense of what this means..

restart

with(inttrans)

assump := R1::real, R2::real, L1::real, C1::real, C2::real, L2::real, omega::real, M::real, R1 > 0, R2 > 0, L1 > 0, C1 > 0, L2 > 0, C2 > 0, omega > 0, M > 0

R1::real, R2::real, L1::real, C1::real, C2::real, L2::real, omega::real, M::real, 0 < R1, 0 < R2, 0 < L1, 0 < C1, 0 < L2, 0 < C2, 0 < omega, 0 < M

(1)

expr := Vin/(s*(R1+s*L1-1/(s*C1)+(omega*M)^2/(R2+s*L2-1/(s*C2))))

Vin/(s*(R1+s*L1-1/(s*C1)+omega^2*M^2/(R2+s*L2-1/(s*C2))))

(2)

invlaplace(expr, s, t)

Vin*C1*(sum(exp(_alpha*t)*(-1+C2*_alpha*(L2*_alpha+R2))/(4*C1*C2*L1*L2*_alpha^3+2*C1*C2*M^2*_alpha*omega^2+3*C1*C2*L1*R2*_alpha^2+3*C1*C2*L2*R1*_alpha^2+2*C1*C2*R1*R2*_alpha-2*C1*L1*_alpha-2*C2*L2*_alpha-C1*R1-C2*R2), _alpha = RootOf(1+C1*C2*L1*L2*_Z^4+(C1*C2*L1*R2+C1*C2*L2*R1)*_Z^3+(C1*C2*M^2*omega^2+C1*C2*R1*R2-C1*L1-C2*L2)*_Z^2+(-C1*R1-C2*R2)*_Z)))

(3)

NULL

Download for_help2.mw

Hello,

I noticed that the Linearly Implicit Euler method (also known as the Semi-Implicit Euler method) is not available in Maple's built-in ODE solvers. This method is useful for stiff ODEs, where part of the function is treated implicitly (for the linear term) and part is treated explicitly (for the non-linear term).

I know that the Linearly Implicit Euler method is a specialized method that probably does not find enough widespread use to justify its inclusion as a standard feature in Maple, especially given Maple's focus on numerical methods such as Runge-Kutta methods and fully implicit methods for rigid equations.

I’m wondering:

  1. Why isn’t this method included in Maple’s standard set of numerical solvers?
  2. How can I implement this method in my own code in Maple to solve stiff ODEs?

Any guidance or examples of implementation would be greatly appreciated!

Thank you!

Linearly_Implicit_Method.pdf

First 65 66 67 68 69 70 71 Last Page 67 of 2217