Asked by Rainaire Hansford
on 21 Jun 2019

Hello MATLAB community,

I have another mission for my project and I am trying to get it started.

So the objective is to make a code that can solve math problems but also show you how to solve the input math problem. I know there is certain ways to solve some math problem (adding, subtracting ,etc) however when it get to the gritty of things I would like to make it so go step by step solving problems. Like derivative or finding varibles etc.

I was hopping to have a options on how to input the problem in the code and code solves it but shows how to solve it.

DOes anyone have any idea or suggest or example to get me started and moving?

Thank you

Answer by Jan
on 21 Jun 2019

Edited by Jan
on 21 Jun 2019

Accepted Answer

This will be an extremely demanding project. You find some software which can simplify symbolic expressions, e.g. Matlab's Symbolic Toolbox, Maple, Sage, Maxima, etc. See https://en.wikipedia.org/wiki/List_of_computer_algebra_systems . These softwares required several years of development and a team of programmers and mathematicians. As soon as you enter the level of solving integrals, a general purpose code might be a candidate for the Fields-Medaille. Even your trivial example 3x=4 needs some not mentioned restrictions, e.g. that x is a real scalar number, and not a natural number or an n-dimensional tensor.

So if you want your program to solve math problems beyond the 8.th year of school, I do not see a real chance to get it to work. You mention "students", so the code must be able to handle x=exp(-x) and a^n+b^n=c^n (for n>2 and a,b,c are natural numbers). It took 350 years and the work of the most famous mathematicians to solve the latter problem, so I'm sure your code must be extraordinarily complex to solve "all" maths problems. (The "all" is in quotes, because Turing and Gödel have proved already, that this is not possible in general.)

I think you underestimate massively the complexity of the problem. Even this forum cannot offer enough assistence to solve it. The best idea is to use some of the many existing programs for sybmolic calculations - you will need more than one, because all of them have some specific powers and fail for other problems.

Guillaume
on 21 Jun 2019

and we're only talking about a small subset of algebra here, which itself is only a very small subset of "any math problem"!

I repeat, the first step is going to be to fix the exact scope, in great details, of what class of problems the code is going to solve. If this is going to be a summer project, that scope will be very small. Most likely, time would be better spent writing a program where the problems, solution, and steps are all entered by the teacher. In which case, the difficulty is in coding the user interface. I wouldn't recommend using matlab for that, there are much better tools for coding UIs.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 5 Comments

## Jan (view profile)

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/468267-solving-all-math-and-teaching-it-as-you-go#comment_716971

## Guillaume (view profile)

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/468267-solving-all-math-and-teaching-it-as-you-go#comment_716975

## John D'Errico (view profile)

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/468267-solving-all-math-and-teaching-it-as-you-go#comment_716986

## Rainaire Hansford (view profile)

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/468267-solving-all-math-and-teaching-it-as-you-go#comment_716989

## Guillaume (view profile)

## Direct link to this comment

https://nl.mathworks.com/matlabcentral/answers/468267-solving-all-math-and-teaching-it-as-you-go#comment_716998

Sign in to comment.