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
- :
- Re: Can not evaluate this accurately

Options

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

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

Showing results for

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

04-26-2011
12:57 PM

04-26-2011
12:57 PM

Hi,

I am trying to see a laser beam's behaviour but Mathcad doesn't like the characteristic representation of it giving can not evaluate this accurately error.

Please see the attachement, thanks.

Solved! Go to Solution.

Labels:

1 ACCEPTED SOLUTION

Accepted Solutions

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

04-26-2011
04:12 PM

04-26-2011
04:12 PM

An update, with what is arguably a better solution to the problem.

6 REPLIES 6

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

04-26-2011
03:53 PM

04-26-2011
03:53 PM

Re: Can not evaluate this accurately

You have a few issues with your worksheet.

- In you beam equation you are try to multiply omega by t, but the dimensions in the array are not the same.
- You also have not evaluated e, unless you actually do want to use Mathcad's built in constant.
- You have also raised j * omega * f do the power of e, is this correct?

Mike

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

04-26-2011
03:59 PM

04-26-2011
03:59 PM

Re: Can not evaluate this accurately

Numeric calculation problems again. You are going to keep running into these problems as long as you keep using huge numbers in exponential, sin, cosine, etc. functions.. Express your frequencies in THz to keep the numbers small.

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

04-26-2011
04:12 PM

04-26-2011
04:12 PM

An update, with what is arguably a better solution to the problem.

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

04-26-2011
05:04 PM

04-26-2011
05:04 PM

Re: Can not evaluate this accurately

Nicely done Richard.

Mike

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

04-26-2011
05:25 PM

04-26-2011
05:25 PM

Re: Can not evaluate this accurately

Thanks for looking up the sheet.

From your expression I come to a conclusion that Mathcad is not capable of handling a standart laser beams characteristic because those frequencies are not chosen, they are as they are in nature. That result looks like a failure of the embedded algorithm in Mathcad because in real world tests I assure you the results are pretty 'interesting'. Also if you know a way to plot values without evaluating them that'll do the trick as well I don't know an other way to plot the response of the system in the given range without defining range variables. Your solution introduces so much complexity for such a simple problem but I'll take it because I don't have much of a choice

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

04-26-2011
05:49 PM

04-26-2011
05:49 PM

Re: Can not evaluate this accurately

From your expression I come to a conclusion that Mathcad is not capable of handling a standart laser beams characteristic because those frequencies are not chosen, they are as they are in nature.

Those frequencies are, but those numbers are not. They are large because you chose units of Hz. They would be 12 orders of magnitude smaller if you chose units of THz. Or, conversely, 12 orders of magnitude bigger if you were to choose units of pHz.

That result looks like a failure of the embedded algorithm in Mathcad

Yes and no. Welcome to the real world of numeric calculation. All numeric calculation, regardless of the software or specific algorithm, suffers from the fact that digital representations of numbers are limited in both range and precision. Yes, it may be possible to design algorithms that handle certain situations better, but it is not realistic to expect any algorithm to handle all possible cases. So you just need to learn to work within the limits of numeric processing.

I don't know any other way to plot the behaviour of the system in the given range without defining range variables

By using vectors of numbers, with range variables to index them. Vectors are better behaved, and can have any spacing, not just equal increments.

Your solution introduces so much complexity for such a simple problem but I'll take it because I don't have much of a choice

I'm not sure what you mean.

Using vectors rather than range variables may look more complex at first glance, but trust me, in the long run it will save you a lot of work.

Changing the scale of the numbers to THz adds no complexity at all.

Reformulating the problem by subtracting floor(f*t) does add complexity, but like I said, welcome to the real world of numerical computing. It's either that or express your numbers in THz. You may prefer not to do either, but reality dictates that you will have to pick your poison.