Matlab vs Visual.Net

8 views (last 30 days)
gozer
gozer on 16 Jan 2012
Commented: Prachi More on 28 Oct 2016
I have a project where I must consider Matlab code vs Visual.Net code as an interface to a database with large arrays. We will need to create GUIs and algorithms for analysis. I have some experience with Matlab but zero with Visual.Net. Our IT dept. is recommending V.Net because that is what they know:
Questions for someone that may have experience with both: 1) how does the functionality of Matlab compare with Visual.Net in terms of array calculations? 2) what is the speed difference I can expect on large arrays (>10000 lines)? 3) I need to convert existing code from VisualBasic6. Which would be easier to accomplish: VB6 to Matlab or VB to V.Net?
any other insights are appreciated.

Accepted Answer

Juan B. Gutierrez
Juan B. Gutierrez on 2 May 2012
Hi. I have TONS of experience with both. The answer to questions 1 and 2 is simply: They do not compare. Use MATLAB for matrices, and VB for interfaces/databases. VB falls way behind in numerics. The answer to your last question is: it depends... potentially converting to VB.NET is easier.
Recently I had a research project that consisted of analyzing a terabyte-size database. The numerical algorithms were frankly complicated, so using something different to MATLAB was simply not an option. I have two use cases:
1. I created a VB.NET application to query the database through a couple dozen parameters. The relational database is queried via very complex SQL statements (hundreds of lines of code), which are encapsulated in stored procedures; the output is written to files. Then, the VB.NET executable creates a runtime instance of the MATLAB engine, and sends the MATLAB instructions with a line of code. A plot is produced and is shown in the VB application. It works like a charm... but there is performance penalty for writing files. CLARIFICATION: I did not have the database toolbox available, but I would assume that it would bypass the need of VB in this scenario.
2. I had a series of distributed servers that required calculations produced in MATLAB. I used the .NET Builder toolbox to encapsulate a series of MATLAB programs (approx 2,000 lines of code) into a .NET library. I used that library to create a web service in VB.NET, and that made available the MATLAB program to all the servers. In this scenario, MATLAB proved to be capable of being a player in an enterprise environment.
My conclusion is the following: Use each tool according to their strengths. MATLAB is optimal for numerical and symbolic computation, and visualization, whereas .NET is optimal for interoperability, database access, and web/desktop applications.
I truly believe that VB.NET + MATLAB is a winning combination for developing software. I prefer VB.NET in this case as opposed to let say C# because the syntax of VB.NET is very similar to MATLAB
  2 Comments
gozer
gozer on 2 May 2012
Juan,
Thank you for your excellent insights. your opinions are close to what I had perceived when first presented with the issue. I will certainly take your comments into consideration on our approach.
Prachi More
Prachi More on 28 Oct 2016
Juan, Thank you very much; your support is greatly appreciated to me also. Second answer of yours asked by Gozer help me to recognized the difference between two application that was really needed in my work. It support me to choose perfect approach that fully satisfies my project strength and conditions.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!