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

Click For Summary
SUMMARY

The discussion centers on whether a mechanical engineering student should focus on mastering MATLAB or diversify their programming skills across languages like C/C++ and Java. Participants emphasize that while MATLAB is essential for controls engineering, many employers prefer a broader skill set in programming languages, particularly for mechanical engineering roles. The consensus suggests that basic programming skills are beneficial, but specialization in MATLAB may be more relevant for specific fields such as control systems. Ultimately, the choice depends on the individual's career path and the demands of the industry.

PREREQUISITES
  • Understanding of MATLAB for engineering applications
  • Familiarity with programming languages such as C/C++ and Java
  • Knowledge of control systems and their requirements in engineering
  • Awareness of industry-specific software like MathCAD and Simulink
NEXT STEPS
  • Research the role of MATLAB in control systems engineering
  • Learn about the applications of C++ in mechanical engineering
  • Explore the use of MathCAD for symbolic manipulation in engineering
  • Investigate the relevance of Fortran in legacy engineering projects
USEFUL FOR

Mechanical engineering students, recent graduates, and professionals seeking to enhance their programming skills for career advancement in engineering fields, particularly those interested in control systems and computational analysis.

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
6K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 25 ·
Replies
25
Views
910
Replies
9
Views
3K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 3 ·
Replies
3
Views
5K