views:

124

answers:

4

Basically I have created two MATLAB functions which involve some basic signal processing and I need to describe how these functions work in a written report. It specifically requires me to describe the algorithms using mathematical notation.

Maths really isn't my strong point at all, in fact I'm quite surprised I've even been able to develop the functions in the first place. I'm quite worried about the situation at the moment, it's the last section of writing I need to complete but it is crucially important.

What I want to know is whether I'm going to have to grab a book and teach myself mathematical notation in a very short space of time or is there possibly an easier/quicker way to learn? (Yes I know reading a book should be simple enough, but maths + short time frame = major headache + stress)

I've searched through some threads on here already but I really don't know where to start!

+2  A: 

I suggest that you learn a little bit of LaTeX and investigate Matlab's publish feature. You only need to learn enough LaTeX to write mathematical expressions. Then you have to write Matlab comments in your source file in LaTeX, but only for the bits you want to look like high-quality maths. Finally, open the Matlab editor on your .m file, and select File | Publish.

See Very Quick Intro to LaTeX and check your Matlab documentation for publish.

High Performance Mark
I'm fine with the LaTeX part I think, well, I haven't used it for mathmatical notation before but I kind of know my way around the program now. It's more the theory behind the notation i'm struggling with.
Mark Spivey
There ain't no theory behind mathematical notation, it just growed up. Copy the formulae you want from a textbook.
High Performance Mark
@Mark: Learning the notation is not dissimilar to trying to learn a foreign language. You could try copying snippets that you find on the internet and in books, and then adapting them. But unless you understand what you're doing, the result will be most likely end up as nonsense...
Oli Charlesworth
I guess I'll have to attempt it by using trial and error, possibly then posting my final results on math overflow for someone to critique. I'd better go load up on some caffeine then!
Mark Spivey
A: 

The reason you haven't found any useful threads is because most of the time, people are trying to turn maths into algorithms, not vice versa!

Starting from an arbitrary algorithm, sometimes pseudo-code, along with suitable comments, is the clearest (and possibly only) representation.

Oli Charlesworth
I realise I did it the wrong way round, but I found it easier to actually launch into the development of the functions first.
Mark Spivey
Why the downvote?
Oli Charlesworth
@Oli Charlesworth: I didn't downvote you, but I did gave you an upvote to keep you on 0!
Mark Spivey
+4  A: 

Although your question is rather vague, and I have no idea what sorts of algorithms you have coded that you are trying to describe in equation form, here are a few pointers that may help:

  • Check the MATLAB documentation: If you are using built-in MATLAB functions, they will sometimes give an equation in the documentation that describes what they are doing internally. Some examples are the functions CONV, CORRCOEF, and FFT. If the function is rather complicated, it may not have an equation but instead have links to some papers describing the algorithm, which may themselves have equations for the algorithm. An example is the function HILBERT (which you can also find equations for on Wikipedia).

  • Find some lists of common mathematical symbols: Some standard symbols used to represent common mathematical operations can be found here.

  • Look at some sample pseudocode to see how it's done: For algorithms you yourself have coded up, you'll have to write them out in equation or pseudocode form. A paper that I've used often in my work is Templates for the Solution of Linear Systems, and it has some examples of pseudocode that may be helpful to you. I would suggest first looking at the list of symbols used in that paper (on page iv) to see some typical notations used to represent various mathematical operations. You can then look at some of the examples of pseudocode throughout the rest of the document, such as in the box on page 8.

gnovice
Whilst i'm still not sure what i've written is 100% correct, this helped a lot. Thank you!
Mark Spivey
+1  A: 

In addition to the answers already here, I would strongly advise using words in addition to forumlae in your report to describe the maths that you are presenting.

If I were marking a student's report and they explained the concepts of what they were doing correctly, but had poor or incorrect mathematical notation to back it up: this would lose them some marks, but would hopefully not impede my understanding of the hard work they've put in.

If they had poor/wrong maths, with no explanation of what they meant to say, this could jeapordise my understanding of their entire project and cost them a passing grade.

Bill Cheatham