Hello forum members,

I am majoring in Signal Processing and Machine Learning. I have been using MATLAB for my academic research works for computing and data plotting.

My question is if C# can be used as powerful as Matlab for mathematical calculation (matrix computing) and visualization?

Also if I can use this language for DSP programming? For example Embedded systems?

I have really great interest in this language and I am wondering if I need to learn C# and use it in my future works like in industry?

Thank you so much beforehand. Please help me to decide whether I need to learn C# and use as a research tool.

Recommended Answers

All 5 Replies

You'll probably get a dumb generic answer, asking a question like that in this forum. Here is mine:

C# is a fine general-purpose programming language. You might not have the same access to numerical libraries as you do with, say, Matlab or C++. If you want to write code for embedded systems, well, it really depends on what kind of embedded systems. C# is really best for Windows programming.

As far as visualization goes, I'm sure Matlab and R have much, much, much better visualization libraries for numerical data. (You haven't mentioned R -- have you looked at R? Just wondering.)

For this kind of question, ask somebody who does signal processing or machine learning. That way, you'll get an informed answer.

Dear Rashakil Fol,

Thanks for your answer. I am actually new to C# and have no knowledge about its power to be used as a numerical analysis language. I still wonder about its speed comparing to MATLAB.

As to R , I have never looked and don't know what it is.

Thanks and please give more answers.

- I was in projects discussion year ago, and someone point out that C# has speed 8 times over MATLAB, but you can't develop all algorithms MATLAB did on your own in C#, so, a way of comparison if you'll do the same effort in MATLAB and C# (writing algorithms etc...) try to make small application and test both speed.

- If your embedded systems run on Windows platform I recommend for you C#, otherwise you won't have any solution else using something like Java (platform-independent).

I recently read the book: "Mathematical tools in computer graphics with C# implementations." It is rather mathematically oriented but has many code listings that show what you can do with C# in this area. B.t.w. you can download this code from their site http://eve.uj.ac.za/gfxbook. You'll have to do some editing...They left out the newlines!
I don't know if you can use C# for embedded systems, I believe C is more appropriate here.
Personally I find it strange, that although the .NET environment is huge, MS left out mathematical stuff like complex numbers(you can have them, if you define your own class!) and on the other hand included things like quaternions!

if u interested to use c# with embedded programming use micro .netframwork and read "Apress - Expert.NET Micro Framework - Embedded programming of microcontrollers with CSharp and Microsoft Visual Studio - 2008" and about mathmatics functions am using to create image procesing simple function"edge detection , RGBtoGrayscale" with c# and matlab C# was great....

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.