Newton's Method utilizing Mathcad

Click For Summary
SUMMARY

This discussion focuses on implementing Newton's Method in Mathcad for the function x^3-5*x^2+3*x+4, with a root located between 0 and 3 and a tolerance of 0.00001. The user encountered a "This value must be a scalar" error due to unnecessary assignments in their code. The solution involved removing the assignments for g(x) and dg(x), allowing Mathcad to correctly interpret f(x) and df(x). Additionally, the user sought guidance on implementing Boolean OR in Mathcad, discovering that the V symbol serves this function.

PREREQUISITES
  • Familiarity with Newton's Method for root-finding
  • Basic understanding of Mathcad 11.2 syntax and functions
  • Experience with mathematical programming in Matlab
  • Knowledge of Boolean logic and operators
NEXT STEPS
  • Explore Mathcad's function definitions and variable assignments
  • Learn about error handling in Mathcad programming
  • Research Boolean operators in Mathcad, focusing on logical expressions
  • Investigate advanced features of Mathcad for iterative methods
USEFUL FOR

Students, educators, and professionals working with numerical methods in Mathcad, particularly those transitioning from Matlab or seeking to enhance their programming skills in Mathcad.

sandy.bridge
Messages
797
Reaction score
1

Homework Statement


I am writing a simple program in Mathcad for Newton's Method. The function is x^3-5*x^2+3*x+4. The root is between 0 and 3, and we want a tolerance of 0.00001. My code is the exact same as a program I made in Matlab that works, but since I am new to Mathcad, I am getting an error that I do not know how to fix.

The error I receive is "This value must be a scalar"; it is referring to my function f(x). Here is the code:

upload_2015-1-21_8-21-53.png
 
Physics news on Phys.org
I don't see why you're making the assignments g(x) ← f and dg(x) ← df. I figure that this is where Mathcad is tripping up because it can't tell at the outset what f is and decides that it's a scalar.

If you get rid of those two assignments and just use f(x) and df(x) inside your function you should be fine.
 
  • Like
Likes   Reactions: sandy.bridge
That certainly fixed it! It definitely was redundant and unnecessary. Thanks!

One other question: do you know a way of implementing Boolean OR in Mathcad? I want to remain in a while loop if any of 3 statements are true. This is rather easy in Matlab, but I am finding it difficult in Mathcad. I am uncertain as to why Mathcad did not include this.
 
Open the "< ≠ ≥" menu by clicking the icon with the same designation (I have Mathcad 11.2, but presumably the same feature exists in whatever version you are using). You'll find boolean operators there.
 
Ah, I didn't realize that the V represented OR. Thanks a bunch!
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
18
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
2
Views
3K
Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
2
Views
2K