Get Help

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Community
- :
- PTC Mathcad
- :
- PTC Mathcad
- :
- Find() works but not solve

Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Highlighted

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-07-2019
03:31 PM

05-07-2019
03:31 PM

To all experts,

I am breaking down an investigation I am hoping to do to simple blocks. I am looking at creating “dummy” bi-modal PSDs to meet a specific rms value. See attached mcad15 sheet

If I specify the values fn, zeta1, A1, alpha and p is there a way of Mathcad finding the zeta2 value required to get a given rms value? A solve is returning “no solution found” but it works with a Find(). I believe one cannot use Find() in a program

Ultimately, I would like to create a number of f dummy PSDs with the same (or near) rms value by changing the parameters. For example, I would like to specify a series of alpha values and get a vector of rms value

Thanks

Regards

JXB

Solved! Go to Solution.

Labels:

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-07-2019
04:19 PM

05-07-2019
04:19 PM

The symbolic "solve" tries to give you an exact result, so it first tries to integrate symbolically which it obviously is not capable of - thats the reason it finds no solution.

Fortunately you are looking just for numeric results and so you definitely should use Mathcads numeric methods like the solve block you had implemented or one of the two flavors of the "root" command:

You sure can use a solve block or the "root" command in a program. You should turn them into a function of the variables you wish to change and in case of the solve block you may even add the guess value as argument of that function.

The attached worksheet shows how to do that and somehow I got the impression that the function zeta.1 based on the root command works faster than zeta.2 based on the solve block.

7 REPLIES 7

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-07-2019
04:19 PM

05-07-2019
04:19 PM

The symbolic "solve" tries to give you an exact result, so it first tries to integrate symbolically which it obviously is not capable of - thats the reason it finds no solution.

Fortunately you are looking just for numeric results and so you definitely should use Mathcads numeric methods like the solve block you had implemented or one of the two flavors of the "root" command:

You sure can use a solve block or the "root" command in a program. You should turn them into a function of the variables you wish to change and in case of the solve block you may even add the guess value as argument of that function.

The attached worksheet shows how to do that and somehow I got the impression that the function zeta.1 based on the root command works faster than zeta.2 based on the solve block.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-07-2019
02:26 AM

05-07-2019
02:26 AM

Re: Find() works but not solve

This cannot be solved symbolically. But... Are you sure your definition of H is correct?

In the denominators you are adding r1^4 to r1^2. That should throw an error if r1 has units (I suppose it hasn't, because r1 is the ratio of f and fn), but still...

Needless to say: if that first term under the root would be (1-r1)^2 or (1-r1^2) the integral would easily solve symbolically.

Success!

Luc

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-07-2019
02:38 AM

05-07-2019
02:38 AM

Re: Find() works but not solve

Thanks a lot for the solution. Another block sorted.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-07-2019
02:43 AM

05-07-2019
02:43 AM

Re: Find() works but not solve

Appreciate I put this together quickly last night but it seems correct to me. The "famous" transmissibility for a 1-DoF model

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-08-2019
10:53 AM

05-08-2019
10:53 AM

Re: Find() works but not solve

Playing with some alpha & p parameters. Would there be a way of plotting a surface plot (x,y,z)=(alpha,p,zeta2)?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-08-2019
12:06 PM

05-08-2019
12:06 PM

Re: Find() works but not solve

@JXB wrote:

Sure! zeta.1 and zeta.2 already are functions of the two arguments, so you may 3D-pot them directly, but I'd rather suggest using CreateMesh for better control about the ranges of input variables.

Unfortunately the calculation is quite sensitive to the ranges of alpha and p. As soon as the calculation fails for just one combination of alpha and p, the whole plot fails.

zeta.1 may fail because of the interval I had chosen (10^-8 to 2). function values at the start and at the end of that interval must have opposite sign.

zeta.2 may fail because of the guess value not being optimal for the chosen arguments.

You have to experiment a bit.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

05-08-2019
12:47 PM

05-08-2019
12:47 PM

Re: Find() works but not solve

thanks. Yes I have noticed the sensitivity hence me playing with the data. I think I have have almost a range of realistic value as I added another block to my problem and it seems to work

Top Tags