This problem implements a simple calculator using RPN notation. The application will consist of user input, stack operation, and displaying the result. RPN calculations work in conjunction with a stack. Every time a user enters a number, the number should be pushed on the stack. When the user enters a function, the top element or elements of the stack are used in the calculation and the result is placed on the stack.
a) Create a MATLAB class that implements a stack with the following methods: Push, Pop, is Empty, GetContents, and a constructor. The GetContents method is needed to display the elements of the stack.
b) Write a script that will take user inputs as strings and perform the following operations:
i) If the user enters a number, push it on the stack. A function needs to be written to determine if a string is valid number. The function is strprop is a good starting point.
ii) If the user enters a string, treat it like a function and evaluate it using the number on the top of the stack, and push the result on the stack. The only functions allowed are +,-,*,/, sin, cos, tan, and exp. The calculator should also support the following constants: pi and e. Look into the switch statement.
c) Always display the contents of the top 3 elements of the stack prior to asking for input.
Example: 2: 0
d) Run the code with the following inputs. Show the stack after each step.
i) 2 2 + 3 *
ii) pi 2 / sin
iii) 2 4 + 2 / exp
iv) 2 3 4 + *
This question belongs to MATLAB software and discusses about application of MATLAB in operations management and to write a script that will take user inputs as strings and perform the given operations.
Download Full Solution