Skip to main content
1-Visitor
October 30, 2019
Solved

Piecewise function plot

  • October 30, 2019
  • 3 replies
  • 3704 views

Dear Mathcad community,

 

I have a problem when plotting a piecewise function.

The error is "all evaluations resulted in either an error or a complex result".

I would really appreciate if anyone can help me!

 

Thank-you very much.

 

Best Regards.


Enrico

Best answer by LucMeekes

The evaluation of:

F.input_rod(a)=

results in an error message "Must be scalar".

Tracing further back I find that in your definition of F.input_rod(a) you are comparing a with 10 m/s^2.

Note that a is an array, you cannot compare an array with a scalar value.

Your way out is simple: vectorize the F.input_rod(a) so that the function acts on each value, but still produces all results.

See attached.

 

Success!
Luc

3 replies

23-Emerald IV
October 30, 2019

Can't see your sheet, unless you save as Mathcad 11..

 

Here's some advice to help you debug:

Evaluate the variable you want to plot. If you plot e.g. y(x) and have x defined (either as a range variable or as a vector), type

    y(x)=

and

    x=

To see the value(s) each has. There may be NaN's in there, or imaginary numbers. Or another error occurs.

In case of an error, select the evaluation and, using the righthand mouse button, select 'trace error', and trace that error back to where it occurs.

 

Success!
Luc

ebelmonte1-VisitorAuthor
1-Visitor
October 30, 2019

Dear Luc,

Thank-you for your reply.

Attached you find the file in .mcd format.

 

LucMeekes23-Emerald IVAnswer
23-Emerald IV
October 30, 2019

The evaluation of:

F.input_rod(a)=

results in an error message "Must be scalar".

Tracing further back I find that in your definition of F.input_rod(a) you are comparing a with 10 m/s^2.

Note that a is an array, you cannot compare an array with a scalar value.

Your way out is simple: vectorize the F.input_rod(a) so that the function acts on each value, but still produces all results.

See attached.

 

Success!
Luc

23-Emerald I
October 30, 2019

Just a quick look (in Smath), you have some unit balance issues.

23-Emerald IV
October 30, 2019

Where?

I don't see them. Mathcad (11) also not.

 

Luc

21-Topaz II
October 30, 2019

Salve,

non puoi confrontare il vettore a con uno scalare. Il confronto con lo scalare va fatto elemento per elemento .

23-Emerald IV
October 30, 2019

Buona giornata,

Ecco di cosa si occupa la vettorializzazione.

 

Successo!
Luc