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

Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! X

6-Contributor

## Syntax Questions

Hello All,

Sorry for previous posts did not tag a answer, I am a newbie, will not happen again haha. For this post I am trying to read through some previous mathcad solutions and am unsure what this syntax means, does anyone have any idea? Is it saying if mod(j,2)=0 AND mod(j,4)=2,-1,1) then return 0 (screenshot 1)? I have a older version of mathcad so I am also unsure how to write this in my version (screenshot 2). I have also attached the problem document where I found this (PDF).

Best Regards.

1 ACCEPTED SOLUTION

Accepted Solutions
24-Ruby V
(To:UK_9916373)

Additionally to what Alan already explained I'd like to make clear to you that "if" exists in two flavours.

The first one is the if-function which is used in your original document an the syntax was already explained by Alan. Its similar to the if-function in a spreadsheet like Excel or Calc and if nested it can be confusing and quite hard to read. The advantage in Prime is that the if function is not a premium function and therefore can also be used in the free Prime Express. In Mathcad 15 (and below you don't need to use the programming toolbar to use the if-function, just type it in.

Additionally there is also the if construct in a program and this is what you had tried, given the picture you sent. IMHO using a multiline program may take up more space but is significantly easier to read (and debug, if necessary).

Here are a few way to achieve the very same result, done in Mathcad 15, which may be the version you are using. I save the file in the format of Mathcad 11 to further increase the likelihood that you can actually read the file.

I hope this helps clarify your question.

4 REPLIES 4
16-Pearl
(To:UK_9916373)

if(a,b,c) means if a is true return b, if a is false return c.

This can be nested, so  if(a, if(x,y,z), c)  means if a is true then  if x is true return y, if x is false return z,  if a is false return c

So, with j as an integer,   if(mod(j,2)=0,  if(mod(j,4)=2, -1,1), 0) means

if j is even (ie mod(j,2)=0) then:  if the remainder when dividing j by 4 is 2, return -1,  if the remainder when dividing j by 4 isn't 2, return 1,

if j is odd then return 0.

Alan

6-Contributor
(To:AlanStevens)

Thank you very much Alan!

24-Ruby V
(To:UK_9916373)

Additionally to what Alan already explained I'd like to make clear to you that "if" exists in two flavours.

The first one is the if-function which is used in your original document an the syntax was already explained by Alan. Its similar to the if-function in a spreadsheet like Excel or Calc and if nested it can be confusing and quite hard to read. The advantage in Prime is that the if function is not a premium function and therefore can also be used in the free Prime Express. In Mathcad 15 (and below you don't need to use the programming toolbar to use the if-function, just type it in.

Additionally there is also the if construct in a program and this is what you had tried, given the picture you sent. IMHO using a multiline program may take up more space but is significantly easier to read (and debug, if necessary).

Here are a few way to achieve the very same result, done in Mathcad 15, which may be the version you are using. I save the file in the format of Mathcad 11 to further increase the likelihood that you can actually read the file.

I hope this helps clarify your question.

6-Contributor
(To:Werner_E)

This is fantastic. Thank you Alan and Werner!

Announcements
Top Tags