Should a Mechanical Engineer focus on MATLAB or broaden his horizons?

Click For Summary

Discussion Overview

The discussion revolves around the programming skills that a mechanical engineering student should focus on, particularly whether to specialize in MATLAB or to broaden their programming knowledge across multiple languages such as C/C++ and Fortran. The context includes considerations for job applications and research positions in the engineering field.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants suggest that while MATLAB is widely used in academia, employers may prioritize a broader skill set in mechanical engineering over specific programming languages.
  • One participant notes that basic programming skills can be beneficial for mechanical engineers, particularly for writing routines to solve mechanical problems.
  • Another viewpoint emphasizes the importance of learning general programming languages like Fortran or C++, citing their continued relevance in engineering fields such as aerospace.
  • A participant mentions that proficiency in MATLAB and Simulink is often required for controls engineering positions, while other areas may not utilize MATLAB as frequently.
  • One contributor highlights the utility of MathCAD for precision mechanical design and analysis, arguing that its presentation capabilities are advantageous compared to MATLAB.
  • Another participant describes MATLAB's strengths in handling matrix equations and data manipulation, suggesting its specific applications in engineering tasks.

Areas of Agreement / Disagreement

Participants express differing opinions on the value of specializing in MATLAB versus learning a variety of programming languages. There is no consensus on the best approach, as perspectives vary based on specific engineering roles and personal experiences.

Contextual Notes

Some limitations include the lack of clarity on the programming languages preferred by employers outside of academia and the varying requirements based on different engineering specializations.

only_huce
Messages
62
Reaction score
0
I am currently a junior year mechanical engineering major. I have always been interested in programming and throughout the years read books on C and Java. I recently started focusing on MATLAB. We've always had to use it in some of our classes, but I never really dedicated myself to learning past the basics until now.

Since I will soon be applying to jobs and research positions for after graduation, I am trying to improve my programming skills as the field of engineering in general is becoming more programming oriented. However, I am having a dilemma as to whether or not I should dedicate my time to improving only my MATLAB skills as much as possible, or spread out my concentration on a select few languages such as C/C++, Java, and MATLAB.

My question is, what do employers/research professors find more valuable in the mechanical engineering career field; knowing a variety of essential programming languages for different tasks, or being very effective at getting the job done in MATLAB?

I don't know how the rest of the world works, but as far as I know majority of the professors at my university use only MATLAB for all of their work. This however does not help me in making a decision on what to focus on because I have not seen what programming languages engineers outside of the university prefer to use. I would try to be highly effective in as many languages as possible, but my major keeps me very busy and thus gives me limited time for independent learning.
 
Physics news on Phys.org
only_huce said:
I am currently a junior year mechanical engineering major. I have always been interested in programming and throughout the years read books on C and Java. I recently started focusing on MATLAB. We've always had to use it in some of our classes, but I never really dedicated myself to learning past the basics until now.

Since I will soon be applying to jobs and research positions for after graduation, I am trying to improve my programming skills as the field of engineering in general is becoming more programming oriented. However, I am having a dilemma as to whether or not I should dedicate my time to improving only my MATLAB skills as much as possible, or spread out my concentration on a select few languages such as C/C++, Java, and MATLAB.

My question is, what do employers/research professors find more valuable in the mechanical engineering career field; knowing a variety of essential programming languages for different tasks, or being very effective at getting the job done in MATLAB?

I don't know how the rest of the world works, but as far as I know majority of the professors at my university use only MATLAB for all of their work. This however does not help me in making a decision on what to focus on because I have not seen what programming languages engineers outside of the university prefer to use. I would try to be highly effective in as many languages as possible, but my major keeps me very busy and thus gives me limited time for independent learning.

I don't know about research professors, but most employers prefer your skill set be in mechanical engineering since that is what you are. You probably have enough skills in programming already based on what you wrote (presuming you've take a semester or two of C++ or something similar).

If at some point in the course of your employment programming is required, your boss will probably higher a programmer instead of wasting a mechanical engineering resource on the task.

Basic skills in programming is quite helpful as a mechanical engineer (e.g. writing a routine to help solve a mechanical problem).

The only computer algebra system I've seen as a professional being used is Mathcad. Some consultants I know use Maple and MATLAB but most companies probably won't.

CS
 
I think it would be more helpful to learn a general programming language such as Fortran or C++. Anytime you mention Fortran, people are going to dog on you. But, the fact remains that much of engineering (aerospace at least) still uses Fortran. In addition to that, most legacy code will be Fortran.

Either way, there are tons of threads about C++ vs Fortran so I won't get into it. Having said all of that, I've worked no place that even had a Matlab license. You're better off learning a low-level language and then become an expert in MATLAB later on down the road if needed.
 
The answer is: it depends on what you do. As a controls engineer, every job I have applied to requires a proficient understanding of MATLAB and Simulink. An additional plus is C++, or Fortran.
 
If you're going into control systems, Matlab is definitely a necessity from what I've seen.

However outside of controls, you'll rarely see Matlab. I work as a precision mechanical design and analysis engineer, and MathCAD's symbolic manipulation and simple presentation make it a necessity for my work. It would just be way too hard to try and explain to a room of engineers how I derived an analytical equation using a line-by-line programming breakdown of 2 pages of Matlab commands.
 
Matlab stands for Matrix Laboratory. Its intended purpose is to solve large matrix equations, not derive equations, hence why its doesn't do what MathCAD does well. It's a vector-matrix based programming language, and does all kinds of great stuff, like finding the eigenvalues of a system, LQR controller design, and has built in linear dynamic simulation routines and control toolboxes. Oh, how I love you Matlab.

The beauty of MATLAB is that its built to do math on data, not equations.
 
Last edited:

Similar threads

  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 7 ·
Replies
7
Views
7K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 25 ·
Replies
25
Views
1K
Replies
9
Views
3K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 3 ·
Replies
3
Views
5K