Introduction to MATLAB Technical Computing
Easy to Learn MATLAB technical – Before I proceed with the technical Computing part, what exactly is MATLAB? It stands for Matrix Laboratory. It was developed by Mathworks and is a fourth-generation programming language. When I was a beginner, and I wanted to learn MATLAB, I had no idea what it was. I always thought it would be some kind of lab where you would do some kind of testing and stuff.
I was not fully right, but I wasn’t wrong either. This is a computing environment. It is a programming language similar to that of other languages, but not exactly same. Let’s dwell further into this and see what it is exactly and what is its purpose.
What is MATLAB?
MATLAB similar to Python and Ruby is a high level programming language. It has its own interactive environment. If you have studied python, then you know how the interpreter works. It is not much different from that. However, it is much more vast than python. It helps you focus to get your ideas on track and convert from virtualization into reality. Its community is extremely wide and has a decently developed computational engine.
Here, you can not only bring your ideas to life but also you can share them worldwide with n number of researchers through sharing them on their website. If you are not sure about how it works or have some doubts related to this, you can upload your projects where the vast community can help you debug your apps. It also has a vast library in the areas of Image processing, Algebra and signal processing along with control systems.
Functionality and Development
If we are talking about speed, its other thing. But if we are talking about code processing and debugging, its extremely easy in MATLAB. Uses multiple core processors, clusters and the Graphic Processing Unit to speed up its work. It can automatically generate C related codes and compile them from MATLAB algorithms. If that’s not enough, it can also deploy its own components as well.
It uses the full computational power of our machine. Algebraic and numerical functions can be ran on a multi-thread basis here. This is by default on all MATLAB technical computations. However, you can also configure it depending upon your needs. Many functions such as image and signal processing are automatically multi-threaded. Besides, one can run multiple computational engines of MATLAB technical and execute them in parallel allowing you more freedom and control over parallelism and Multi-threading.
Also, you can, not only use multithreading, but also one can use parallel processing and with a bit of knowledge, one can even use multiple machines to process these signals using distributed server computation. I won’t be getting much deeper into this. But this requires some advance knowledge into programming to actually make MATLAB efficient to work.
The SDK of the MATLAB compiler gives you the functionality to build C and C++ shared libraries, dot net assemblies, other Java and Python packages from its own programs. These can later be compiled into one and then deployed to either desktop or web applications. It also includes a development kit for the Production server version for code debugging and testing. It also has Excel add-ons built-in for debugging before deploying them to other applications.
MATLAB technical and Mathematics
MATLAB provides lots of Math functions. It has loads of numerical computation methods including methods for coding algorithms, analyzing data structures and writing models. The important functions of MATLAB technical use efficiently optimized libraries and using core processors they perform fast calculations of matrix and vectors.
It supports the following in terms of Mathematics:
- Elementary Math such as Discrete Math, Exponentiation, Trigonometry and similar Math
- Random Seeds and Distribution Algorithms
- Linear Algebraic equations, Factorization and Analyzation of Matrices
- Optimization of functions and constraint problems
- Data Interpolation
- Integrations and Differential numeric and non-numeric Equations
- Sparse Matrices and Re-ordering Algorithms
- Computational Geometry
- Analysis and Digital Filtering
- Directed/UnDirected Graphs and Network Algorithms
These are just the ones in terms of Mathematics. Besides these, one can also use computational MATLAB technical for Graphic User Interface building, animation, calculations across spreadsheets, advanced software development and many more.
Graphics functions are inclusive of 2D, 3D function plotting to virtually visualize the data and display the results. One has the option to either customize these plots interactively or else programmatically. Few examples are Changing Axis value locations and Labels, or displaying colored 3d bars in height and highlighting specific shape levels.
Following is a famous example for the graphic bars:
This is just a basic example of audio processing, the level and analyzing spectrum and Frequency band.
As in case of programming, MATLAB can be used for control flow for loops, branching and Conditional Statements. It supports file and function operations via MATLAB search path. It has a built-in code editor and one can use it for Debugging programs and problems. It is extremely efficient in executing various functions, determining dependencies for protect source code and similar stuff.
Following is a basic example of graph calculation of Matrices:
As for this example, I will be creating a simple vector with 9 numeric elements called as y
y = [3 4 5 6 8 6 5 6 7]
Now, we will be deducting 3 from each of our element in vector y. So, let the new vector be x.
x = [1 2 3 4 6 4 3 4 5]
Now, lets create a graph. This is actually very easy. We will also be plotting the result of both our vectors x and y with Grid Lines. So, the code would be:
Now, the graph would look something like this:
Here the knowingly termed the x axis as element as and y axis for element y so as to make it easy to understand. Another example which I can give you as for a beginner part is as follows:
One can write matrices in the following format:
A = [2 5 10; -3 4 9; 11 2 7]
B = [3 -7 -9; 7 4 0; 1 -8 6]
These will assign A and B the given matrices. To Multiple them and get the answer,one could do the following:
C = A*B
Which gives the answer as:
C = [51 -74 42; 28 -35 81; 54 -125 -57]
You can also calculate further problems like:
B = A’
C = A .* B
These are just a few examples I used when I started learning MATLAB. It is easy and will get you going even if you are a beginner. But however, when I started MATLAB, I already knew C, C++ and Python. So, it may not be the same in your case. But MATLAB seems to have a very strong foundation and learning it would never be a waste of time.
First Image Source: pixabay.com
This has been a guide to MATLAB Technical Computing. Here we have discussed the basic concept, compiler, functionality and development, along with other uses. You may look at the following articles to learn more –