cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X

Direct Integration Problem - MathCAD

AATaylor
5-Regular Member

Direct Integration Problem - MathCAD

Hello All,

 

I am having a bit of trouble with direct integration on the attached sheet. I have a data set provided in Excel format which I have converted to matrix/vector form and then to function form using cubic spline interpolation. Unfortunately I am having trouble integrating the resulting function in x and am receiving a "This calculation does not converge to a solution" error message.

 

I have tried changing TOL to ridiculous values like 1E-50, with no luck.

 

Any assistance would be greatly appreciated.

 

Many thanks and kind regards

1 ACCEPTED SOLUTION

Accepted Solutions

utot works ok as it is for me!

 

The uvol integral works by using an overbar.

 

See attached.

 

Alan

 

NB I removed the ridiculously low value of TOL.

 

View solution in original post

13 REPLIES 13
DJF
16-Pearl
16-Pearl
(To:AATaylor)

I'm not sure what the problem is, but a b-spline works (at least in prime).

 

2019-09-09_8-54-41.png

AATaylor
5-Regular Member
(To:DJF)

Hi Alex, Thanks for the response, much appreciated, although Cspline appears to be working now

Cheers

utot works ok as it is for me!

 

The uvol integral works by using an overbar.

 

See attached.

 

Alan

 

NB I removed the ridiculously low value of TOL.

 

AATaylor
5-Regular Member
(To:AlanStevens)

Hi Alan,

I’m not sure what has happened but it now works for me too! Annoyingly I wasted about 2 hours fiddling with the sheet without any obvious remedy before giving up and posting here...

Thanks for the overbar vectorisation tip - I had missed that detail from the online help example!

Cheers
LucMeekes
23-Emerald III
(To:AATaylor)

Without seeing your worksheet...

Why do you think that creating a spline from a data vector and integrating along that spline would give you a better (more accurate?) result than just summing all data points?

A spline is no more than a nice curve along your data points and, unless there is other/prior knowledge about the system that creates the data points, you cannot add accuracy by creating a spline.

 

Assuming that Alan solved the problem, and you now know the result of integration: compare that with simply adding up the data points. Then decide if creating the spline is worth all the trouble...

 

Success!
Luc

AATaylor
5-Regular Member
(To:LucMeekes)

Hi Luc,

I’m not sure what you mean by summing all the data points? Surely just adding the stress values would not be the same as calculating the area? Are you referring to a summation of trapezoidal areas? I have done a crude method of that in the worksheet.

The basic answer to your question is that the method I used is the easiest way I know to find the area under a curve in mathcad.

If you know a different way using the vectors directly I’d love to know!

Cheers

You are wondering why in Alan's sheet the integral utot works now for you? The reason is that he disabled your TOL setting and so the default TOL=10^-3 is valid now.

Setting the value of TOL to lower values (10^-4 or lower, as you did) increases the chance of the integral NOT converging!

Your approach with U.vol works without vectorization if you use an undefined variable (quickplot) or a range as argument:

B1.png

As to the trapezoid rule - here is an approach using your raw data:

B2.png

Worksheet in MC15 format attached.

 

LucMeekes
23-Emerald III
(To:AATaylor)

This is what I'm talking about.

LM_20190910_IntegrateVector0.png

Note that the definition of integration is nothing else than summing vertical bars of infinitesimally small width, and height equal to the function value at the (ordinate) mid point of each bar.

LM_20190910_IntegrateVector1.png

Now you choose the best approximation.

 

Success!
Luc

I agree that its more elegant to replace the for-loop by the summation operator:

B.png

@LucMeekes 

We should not assume that the X-values are equidistant.

In case of the data in the sheet, most x-values are 10^-4 but just very few have the distance 2*2^10^-4.

Other datasets might have bigger differences, though.

 

Out of curiosity I implemented the different integration methods Luc had shown as functions and compared their results to the result of the trapezoid integration.

Apart from the spline interpolation Lucs methods work best if the values in abscissa vector X are (nearly, mostly) equidistant.

B.png

Worksheet in MC11 format (so Luc can make his own tries with the original data) attached.

AATaylor
5-Regular Member
(To:Werner_E)

Thanks hugely for the help to all of you guys, it's much appreciated - lots of learning tips and useful knowledge for the future.

 

I understand the maths and engineering behind what I'm trying to do with MathCAD, but have never really been strong in the programming / logic loop mindset. One day I think I'll have it nailed the approach in my mind and then when I come back a few months later to solve a similar problem I've forgotten it again. It's a good thing that this community is here to help!

 

Most of the time I end up eventually solving my own problems in MathCAD, just not in an elegant or particularly mathematically efficient way.....

 

Cheers again

LucMeekes
23-Emerald III
(To:Werner_E)

WE_20190910_Int_Problem.png

Smiley Sad


@LucMeekes wrote:

 

Smiley Sad


Hmm, here a 8388 x 2 matrix is defined, obviously using "Insert-Data-Table".

Looks like this convenient feature which enables to include huge data in the worksheet by copy and paste is not available in MC11!? Can't remember as its too long ago that I used MC11 (and unfortunately missed to register the software for a virtual machine).

Top Tags