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

Type equation first then evaluate with values

Highlighted
Newbie

Type equation first then evaluate with values

I'd like to type something like this:

Area = a x b

where:

a := 10

b := 20

Thus,

Area = 200

How close can I get in Mathcad?

I've tried using the boolean "=" for the first statement but then can't get the last statement to work.

16 REPLIES 16

Re: Type equation first then evaluate with values

Mathcad evaluates top down and left to right.

type a : 10 (the : will become :=)

type b : 20

This will define a and b as equal to those values.

Below, or to the right type

Area: a * b =

see attached.

Re: Type equation first then evaluate with values

Fred showed you one way to do it.

If you insist in having the formula on top, you have to define it as a function depending on the two arguments.

I have chosen the names "length" and "width" to make clear that the can be different from the variable names you use later. But of course the arguments can be named a and b, too, if you like.

1.png

An alternative way would be the use of global assignments, but I would strongly advise against using them.

2.png

Re: Type equation first then evaluate with values

If you want the structure you've given, then the definition of Area needs to be a function, as shown below.

type_first.png

Re: Type equation first then evaluate with values

Thanks, but is there no way to do it with booleans / symbolics?

Seems a bit of an oversight if not as it is the way most solutions / books are written.

Functions are a bit "mathy" in my context.

Re: Type equation first then evaluate with values

Here is the image which does not show in the previous post. I ever so often have this problem that when I edit a post I am not able to add images.

2.png

Re: Type equation first then evaluate with values

Tip of the hat to Valery, we can give you exactly what you want with a bit of hidden magic.

Re: Type equation first then evaluate with values

Werner Exinger wrote:

Here is the image which does not show in the previous post. I ever so often have this problem that when I edit a post I am not able to add images.

2.png

SMath. Is it good?

SMathArea.png

Re: Type equation first then evaluate with values

It's not an oversight, it's by design. A book doesn't have to calculate anything. Suppose on page xxx I have:

a:=2

b:=3

Area:=a*b

So Area=6

Then on page xxx+5 I have:

If a and b now take on the new values

a:=4

b:=5

then Area=20.

You can understand that, but for Mathcad to know that the latter two values should be used it would have to understand the text. The way Mathcad treats it is that Area is a fixed quantity calculated from previously declared values. What you are asking for is that Area is an implicit function. In the example I give above, it would actually have to be both, depending on context that is only clear from the text.

Valery shows an example from Smath, where you can do what you request (although not the example I show). What he doesn't say is that the help (or perhaps a tutorial?) warns you it's a dangerous thing to do, because you can get unexpected results.

Re: Type equation first then evaluate with values

Took me a while to figure out what you did there Fred !

Note to all: There's an area at the top where a and b are defined.