Skip to main content
1-Visitor
April 28, 2013
Solved

Again else If statements

  • April 28, 2013
  • 2 replies
  • 13695 views

Hi everyone, I don't know what's happening to me, but when I think I know how Mathcad works, I'm not able to do a simple thing.

Mi problem today it's that I'm trying to do an "else if" statement but again, for some reason I cannot figure out how to program it. I've searched through the forum but I don't know how to fill the part that is missing (see image)

Clipboard06.jpg

Again, if someone could give me a hand with this (I'm going crazy) I would appreciate.

Thx in advance.

Best answer by Werner_E

I didn't spot it the first time:

In the part you highlighted you ask if the x-difference is smaller or equal 3.848*10^-5. Inside this if-branch you then ask if the same difference is greater than that same value, which can never be (otherwise we would not be in that branch).

So your main problem seems to be that you put the follow up if inside the first if while you should have put it underneath.

I tried to correct your program, but its unclear to me what you want K2 to be. You provide 4 different values for K2 but only three different regions for the x-difference: (0..3.8*10-^5] (3.8*10-^5..1.8*10^-4) [1.8*10^-4..+inf)

See attached a possible solution which considers at leaast the three intervals for Delta-x. You have to change it to allow for the fourth value.

BTW, you will have a hard time trying to find a number which fulfills your condition 😉 cond1.png

2 replies

25-Diamond I
April 28, 2013

There is no "else if" in Mathcad 15 and below.

From the help:

  • If you use more than one if statement before an otherwise statement, the otherwise statement is executed only when all previous conditions are false. However, all previous if statements continue to be evaluated regardless of the results of the previous if. In the example above fy(5) = 9 and fy(2) = 1. There is no "else if" or "case" statement in Mathcad that allows you to switch on multiple cases, other than to use nested if ... otherwise pairs.

Maybe the attched helps

1-Visitor
May 1, 2013

Actually I've tried as you said, but as you can see in the image below it's not doing the comparison

Clipboard07.jpg

Werner_E25-Diamond IAnswer
25-Diamond I
May 1, 2013

I didn't spot it the first time:

In the part you highlighted you ask if the x-difference is smaller or equal 3.848*10^-5. Inside this if-branch you then ask if the same difference is greater than that same value, which can never be (otherwise we would not be in that branch).

So your main problem seems to be that you put the follow up if inside the first if while you should have put it underneath.

I tried to correct your program, but its unclear to me what you want K2 to be. You provide 4 different values for K2 but only three different regions for the x-difference: (0..3.8*10-^5] (3.8*10-^5..1.8*10^-4) [1.8*10^-4..+inf)

See attached a possible solution which considers at leaast the three intervals for Delta-x. You have to change it to allow for the fourth value.

BTW, you will have a hard time trying to find a number which fulfills your condition 😉 cond1.png

24-Ruby IV
April 29, 2013

Use please not operator but function if:

if.png

1-Visitor
April 29, 2013

Valery Ochkov schrieb:

Use please not operator but function if:

Why? I see no reason for not using the programming structure.

25-Diamond I
April 29, 2013

Norman Friedman wrote:

Valery Ochkov schrieb:

Use please not operator but function if:

Why? I see no reason for not using the programming structure.

I guess thats a matter of personal preference.