C_R

3537 Reputation

21 Badges

6 years, 60 days

MaplePrimes Activity


These are replies submitted by C_R

Excellent content and presentation on text book level! In the absence of a Mapleprimes bookmark function, have put this among my favorites as a real favorite.

@Joe Riel 

Yes, flipping horizontally in your example would also reverse the direction of flow from right to left.

Your example addresses another use case that I did not mention: Aligning the direction of flow in a subsystem to the parent subsystem. Having the ports in a component oriented in the same way as the parent subsystem improves readability when "zooming" by double click into a component. Example: After structuring a model with subsystems (some of them might come from other models) it turns out that rearranging of subsystems in the main subsystem matches better to the real-world configuration. This most likey will induce reversed flow/orientation in some subsystems.

Another motivation that I did not mention for a flip (or a rotation) is reducing the number of crossing connection lines.

It is difficult to anticipate all such instances for a layout modification in advance.

Creating a model is often much faster than getting it to the point where it can be presented to third parties (e.g., a customer) or professionally documented for future use. In general it would be great if we could save time on that.

When I think about it, better readability (reduced number of flips in orientation and avoidance of crossing connection lines) is more important to me than preserving a polished layout (which was my original intention in listing 3).

@AjayMenon 

Happy to help. If possible, consider sharing a (preferably simplified) model that produces the error.

@AjayMenon 

To convert a signal with discontinuities into a continuous signal, it is possible to pass it through a continuous signal block.  This process is similar to a microcontroller performing the convolution and outputting numerical values to a digital-to-analog converter connected to an analog signal conditioning circuit (e.g., usually a low-pass filter).

These components have a finite impulse response characteristic that causes some delay, just as your convolution causes delay because it uses a sequence of data values from the past but none from the future (which MapleSim has to integrate timestamp by timestamp).


If such an overall delay is acceptable, you are probably fine to find a solution. If not, you are looking for a kind of predictive modeling that foresees the future. This is possible in principle with MapleSim, but not at the component level.


Regarding the capabilities of Modelica, I am not the right person to ask. The custom component of MapleSim (which converts Maple symbolic commands to Modelica code) is probably not capable of converting the expression you specified to Modelica code. Have you tried it?

You are asking interesting questions (related to digital controllers providing symmetric convolution filters that I am interested in). I hope you get more answers here. If not, I would contact support.

@bmartin 

I thought the mouseover message indicates the action (like the "attach probe" icon). From my point of view, it would make sense to swap the mouseover text. The action and the state would match better. A small detail to consider if you plan to update the Analysis window. This is less important than a back button to the MapleSim window (like the Show Simulation Results button, just in the other direction). Navigating a crowded taskbar is distracting and takes time.

Anyway, the second image above shows more variables than probed. I would have expected to see no RE since they are not probed and maybe TV_13 additionally to TY_11 since they both have probes attached.

No problem with the delay and thanks for following up on this.

 

@wswain 

You raise a good point: The context menu should be able to do the conversion. I got the command from support on exactly the same topic. If the context menu would even work on separapte terms of an ouput only in rare cases the mighty unit package has to be involded in unit conversion.

@bmartin 

I just observered two minor (?) related details that I want to bring to your attention. The moderator can decide if this is worth branching off.

Display only probed variables displays real input (RE) and to real variables (TV) that are not probed.

Why are RE and TV displayed?

For comparision display all model variables only displays non zero RE (RE_9 is zero) variables.

If all variables means "all used variables for simulation", why is TV_11 not listed?
 

@vv 

I misinterpreted the error message "Error, (in EllipticK) numeric exception: division by zero". I thought it was the numeric integration. Printing EllpitcK shows that Maple prints the error message before any arithmetic is performed.
Using the references you provided, I found that even EllipticK can give the expected output.

restart

EllipticK(1)

Error, (in EllipticK) numeric exception: division by zero

 

NumericEventHandler(division_by_zero = proc (operator, operands, defVal) return defVal end proc)

division_by_zero = default

(1)

EllipticK(1)

infinity+undefined*I

(2)

NULL

For me it would have been better if EllipticK would output both the error message and infinity + undefined*I. This would prevent arithmetics with oo and additionally provide a symbolic result.

Download devisionbyzero_alternative_output.mw

@bmartin 

The error is not reproducible enough for me to send to support. Until I can show something, I will not pretend that it is a bug. It is not impossible that it is a use error or an unfortunate combination of model design, parameters and initial conditions. Let's leave it open.

Thanks again for the helpful information.

@bmartin 

Thank you for following up on this. Can I assume that there is an incomplete correspondence between the variables and states listed in the “computing initial values” section in the output console and the "all model variables" section in the simulation results?

This might help me find a bug that is driving me crazy. The output console is informative, but difficult to get an overview. The all variables section provides a better overview.

Any "strange" variables listed could indicate an error.

@Axel Vogt 

I did not know that an online version existed. A quick look showed that this special case cannot be looked up easily. Some calculations are required to make the connection to the Maple definitions. This is also the case with my old textbooks. Interesting in itself, but unfortunately not something I could spend too much time on. Providing quick solutions to integrals is one of the reasons I use Maple.

Now I can much better appreciate the work that has gone into Maple's integration capabilities and special functions. I hope they will continue the work.

Thanks for providing the link!

@vv 

I will suggest Maplesoft to update EllipticK to handle such special cases.

Thank you!

@TechnicalSupport 

That  helps. Suggestion: If the icon is only for removal it could be replaced by a simliar icon already used in MapleSim.

Thank you for following up!

@Carl Love 

After reading your reply, I checked help("simplify[constants]"). So constants are not automatically constants...

 

What's confusing about the help page:

I would have expected simplify(infinity(x)) to be effective only when using the "constants" option to tell Maple to treat constants as "common constants" (i.e., remove the (x)). This is not the case, and Maple simplifies directly to infinity, which to me means that Maple assumes that infinity is not a function.

But for the integral evaluated to infinity, Maple is very careful to assume that infinity is really a constant infinity.

Thanks for the context information.

 

@vv 

Int(1/(sqrt(1-x)*sqrt(-x^2+1)), x = 0 .. 1); simplify(((proc (x) options operator, arrow; x end proc) = value)(%))

Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity

(1)

(Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity)*(1/rhs(Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity))

0 = 0

(2)

lhs(Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity)/rhs(Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity) = rhs(Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity)*(1/rhs(Int(1/((1-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. 1) = infinity))

0 = undefined

(3)

NULL

Download Infinity_times_something_divided_by_infinity.mw

Thanks for pointing out this last detail as well. I was just about to use the integral in quotients. I will pay more attention to quotients now.

First 61 62 63 64 65 66 67 Page 63 of 69