es.mathworks.com Open in urlscan Pro
184.24.2.186  Public Scan

URL: https://es.mathworks.com/videos/using-matlab-with-python-1591216182793.html
Submission: On December 02 via api from IE — Scanned from DE

Form analysis 2 forms found in the DOM

GET /videos/search.html

<form id="search_scope_videos" action="/videos/search.html" method="get" accept-charset="utf-8">
  <div class="input-group">
    <label class="sr-only" for="search">Vídeos</label>
    <span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span>
    <input id="search" class="form-control conjoined_search" type="search" name="q" placeholder="Buscar vídeos" autocomplete="off" data-collection="videos" data-site-domain="es" data-typeahead-collection="videos_all" data-site-language="es"
      data-label-suggestions="Suggestions" data-label-see-all-results="See all results">
    <input class="suggestionbox" type="hidden" name="suggestion" value="">
    <div class="input-group-btn">
      <button type="button" class="btn btn_search_adjacent dropdown-toggle" data-toggle="dropdown" tabindex="-1">
        <span class="caret"></span><span class="search_scope_label">Vídeos</span>
      </button>
      <ul class="dropdown-menu list-unstyled dropdown-menu-right" role="menu">
        <li data-toggle="collapse" data-target="#search_scope_site" data-groupid="videos_search" class="search_scope_trigger" role="menuitem"><a href="#">MathWorks</a>
        </li>
      </ul>
      <button type="submit" name="submitsearch" id="searchbutton_customized" class="btn icon-search btn_search_adjacent btn_search icon_16" tabindex="-1"><span class="sr-only">Search</span></button>
    </div>
  </div>
</form>

Name: searchGET /search.html

<form name="search" id="site_search" class="site_search" action="/search.html" method="get">
  <div class="input-group">
    <label id="search-mathworks" class="sr-only" for="query">Buscar MathWorks.com</label>
    <input type="hidden" name="c[]" value="entire_site">
    <input type="search" name="q" id="query" class="form-control conjoined_search" placeholder="Buscar MathWorks.com" autocomplete="off" data-site-domain="es" data-site-language="es" aria-labelledby="search-mathworks">
    <div class="input-group-btn">
      <button type="button" class="btn btn_search_adjacent dropdown-toggle" data-toggle="dropdown" tabindex="-1">
        <span class="caret"></span><span class="search_scope_label">MathWorks</span>
      </button>
      <ul class="dropdown-menu list-unstyled dropdown-menu-right" role="menu">
        <li data-groupid="search_scope_site" data-toggle="collapse" data-target="#videos_search" class="search_scope_trigger" role="menuitem"><a href="#">Vídeos</a></li>
      </ul>
      <button type="submit" id="searchbutton" tabindex="-1" class="btn icon-search btn_search_adjacent btn_search icon_16" aria-label="Search"><span class="sr-only">Search</span></button>
    </div>
  </div>
</form>

Text Content

WE VALUE YOUR PRIVACY

We and our partners store and/or access information on a device, such as cookies
and process personal data, such as unique identifiers and standard information
sent by a device for personalised ads and content, ad and content measurement,
and audience insights, as well as to develop and improve products. With your
permission we and our partners may use precise geolocation data and
identification through device scanning. You may click to consent to our and our
partners’ processing as described above. Alternatively you may access more
detailed information and change your preferences before consenting or to refuse
consenting.
Please note that some processing of your personal data may not require your
consent, but you have a right to object to such processing. Your preferences
will apply to this website only. You can change your preferences at any time by
returning to this site or visit our privacy policy.
MORE OPTIONSAGREE
Saltar al contenido
Cambiar a Navegación Principal


 * Inicie sesión cuenta de MathWorks
 * * Mi Cuenta
   * Mi perfil de la comunidad
   * Asociar Licencia
   * Cerrar sesión
 * Productos
 * Soluciones
 * Educación
 * Soporte
 * Comunidad
 * Eventos
 * Obtenga MATLAB


MATHWORKS MATRIX MENU

 * MATLAB
 * Centro de ayuda
 * MathWorks

 * MATLAB Answers
 * File Exchange
 * Vídeos
 * Formación online
 * Blogs
 * Cody
 * MATLAB Drive
 * ThingSpeak
 * Informes de fallos
 * Comunidad

 * Productos
 * Soluciones
 * Educación
 * Soporte
 * Comunidad
 * Eventos

 * Obtenga MATLAB
 * Inicie sesión cuenta de MathWorks
 * * Mi Cuenta
   * Mi perfil de la comunidad
   * Asociar Licencia
   * Cerrar sesión


 * MATHWORKS MATRIX MENU
   
    * MATLAB
    * Centro de ayuda
    * MathWorks
   
    * MATLAB Answers
    * File Exchange
    * Vídeos
    * Formación online
    * Blogs
    * Cody
    * MATLAB Drive
    * ThingSpeak
    * Informes de fallos
    * Comunidad

Vídeos y webinars

Toggle Sub Navigation
Vídeos
Vídeos
 * MathWorks

Search
Buscar MathWorks.com
MathWorks
 * Vídeos

Search
Close Mobile Search
Close Mobile Search
 * Vídeos-Inicio
 * Buscar

 * Vídeos-Inicio
 * Buscar

 * Comuníquese con ventas
 * Software de prueba

30:49 Video length is 30:49.
Video Player is loading.
Play Video
Play
Mute

Current Time 0:00
/
Duration 30:49
Loaded: 0.54%


00:00
Stream Type LIVE
Seek to live, currently behind liveLIVE
Remaining Time -30:49
 
1x
Playback Rate
 * 2x
 * 1.5x
 * 1.25x
 * 1x, selected

Chapters
 * Chapters
 * Introduction, selected
 * Agenda
 * Data Access
 * Co-Execution
 * Call Python from MATLAB
 * Call MATLAB from Python
 * Deployment
 * Summary

Descriptions
 * descriptions off, selected

Captions
 * captions settings, opens captions settings dialog
 * captions off, selected
 * English

Audio Track
 * en (Main), selected

Quality Levels

Picture-in-PictureFullscreen

This is a modal window.



Beginning of dialog window. Escape will cancel and close the window.

TextColorWhiteBlackRedGreenBlueYellowMagentaCyanTransparencyOpaqueSemi-TransparentBackgroundColorBlackWhiteRedGreenBlueYellowMagentaCyanTransparencyOpaqueSemi-TransparentTransparentWindowColorBlackWhiteRedGreenBlueYellowMagentaCyanTransparencyTransparentSemi-TransparentOpaque
Font Size50%75%100%125%150%175%200%300%400%Text Edge
StyleNoneRaisedDepressedUniformDropshadowFont FamilyProportional
Sans-SerifMonospace Sans-SerifProportional SerifMonospace SerifCasualScriptSmall
Caps
Reset restore all settings to the default valuesDone
Close Modal Dialog

End of dialog window.

Close Modal Dialog

This is a modal window. This modal can be closed by pressing the Escape key or
activating the close button.



 * Description
 * Full Transcript
 * Code and Resources


USING MATLAB WITH PYTHON


OVERVIEW

MATLAB provides flexible, two-way integration with many programming languages,
including Python. This allows different teams to work together and use MATLAB
algorithms within production software and IT systems. This webinar will cover
how to call MATLAB from Python and how to call Python libraries from MATLAB. 


ABOUT THE PRESENTERS

Heather Gorr holds a Ph.D. in Materials Science Engineering from the University
of Pittsburgh and a Masters and Bachelors of Science in Physics from Penn State
University. Since 2013, she has supported MATLAB users in the areas of
mathematics, data science, deep learning, and application deployment. She
currently acts as a Senior MATLAB Product Marketing Manager, specializing in
data science, AI, and integrating MATLAB and Python code. Prior to joining
MathWorks, she was a Research Fellow, focused on machine learning for prediction
of fluid concentrations.

Yann Debray acts as MATLAB Product Manager, focusing on the usages of MATLAB
with Python. Prior to joining MathWorks in 2019, he has been working in the
field of open-source scientific computing since 2014. He holds an Engineering
Masters degree from the Arts & Métiers ParisTech Engineering School.



Recorded: 26 Aug 2022

Show more

Loading your interactive content...

Welcome, everyone. My name is Yann and I'm here today with Heather.

Hello.

Hello, Heather. And so we are here today to speak to you about MATLAB with
Python for engineers and the data scientists. Heather will play the role of the
MATLAB user. And I will play the role of the Python user.

So Heather, do you want to introduce yourself a bit?

Sure, yeah. Though I'm definitely a MATLAB user, that's for sure. Although, also
dabble in Python for many years. Both of them. So I really enjoy using them
together for various reasons, as you'll see throughout the presentation. And I'm
really happy to join you today.

Thank you. So, yeah my name is Yann. I joined the MATLAB product team. And very
recently-- before that-- I was part of an open source project called Scilab. So,
I'm a big fan of open source, also. And I concentrate on all of those aspects of
collaboration with open source and Python, in particular.

Awesome. Yeah, we're on the same team. I should mention that, too. I'm on the
management team for MATLAB. So, yeah. Hanging out together.

It's fun.

The agenda for today-- we have three steps. We're going to start by presenting
to you the data set that we are going to use through the data access. And we're
going to go into co-execution. Heather will

demonstrate, we call Python from MATLAB, and then MATLAB from Python. And, in
the final stage, she'll just demonstrate how we can deploy.

So, without further ado, let me go into data access. We're going to take a very
simple example here based on a weather web service, called OpenWeatherMap. You
can get your own credential to access this weather forecasting service.

And, what type of data are going to be entered? Numerical data. Textual data,
because when we query this web service we get directly text data, those are
geolocalized. And, also, depending on time. So we have the current weather, The
hourly forecast, and some historical weather.

In order to exchange data between the two languages, there is a quite
asynchronous way to do so. You can use Parquet file. You can also use CSV file
or text file-- or any other kinds of files, or even Excel. But Parquet is a very
good way to take it at scale.

So this is just a short introduction on how to exchange asynchronously between
the two languages, just on the data side. But now we'll concentrate on the
biggest part of the conversation-- on the co-execution. So MATLAB provides
flexible integration with multiple languages: C/C++, Java, and .NET. But today,
we're going to focus on Python.

And for this, we're going to take a scenario-- as we mentioned in the
introduction-- with three steps: the data preparation, modeling, and deployment.
So we're going to take this weather data from the weather forecasting web
service. I'm going to call it with a Python module -- a small piece of code that
I've written.

And I'm going to send it over to Heather, and she's going to be able to call
this Python script from MATLAB. Then she'll develop a very simple algorithm, in
order to model the weather. And she's going to give it back to me, this m-file,
so that I can call it from Python. So calling MATLAB from Python.

And, finally-- so I'm able to replicate the same results, and deploy all of this
into a production environment-- this is where Heather will demonstrate the use
of the production server. We can even have some colleagues, like Pierre, that
will be involved in this process for the deployment stage and integrating all of
this into a production application, a web app. And we will see, also, how to
develop all of this completely in MATLAB.

And to also precise on the data interface aspect, again, here we can use
different data types-- such as, also, the file format of Parquet. And let's go
into the code. So why would you want to call Python from MATLAB? So that could
be because you're already working in MATLAB, and you want to reuse some existing
Python code.

So that is the case in this situation, where I'm sharing some code with Heather.
You need some functionality that is not available, and so you want to reach out
to Python for that. In this case, we're going to leverage some of the
capabilities of Python for requesting data from a web service. That is quite
easy to do that in Python. And, Heather, I let you take it away, and demonstrate
to us this workflow.

Sure, very happy to. Like Yann mentioned, we're going to show all the different
variations, yes. And we'll start with MATLAB's. I think it's sort of the natural
workflow, as we're going through this. One of the most important things is just
making sure that you have things installed. Just show a more modern way to do
this using pyenv or pyversion, show you which version you're accessing. If you
have multiple installs, you could actually just pass it in right through here.

So again, this is kind of, you just have to have them installed. In this case,
you don't have to do any extra setup steps, generally. But that's something that
you definitely want to check out first. So also, just talking about the syntax,
basically this is where we're just testing a really easy one. Just .sqrt, right?
And that's in the math library.

So it's basically just-- whatever you would import-- it's just py. That thing.
So it would be math, in this case, and then the name of the function or the
module. So that's the basic general syntax. You'll see that a bunch as we go
through using the weather example.

So how to pass these into MATLAB-- especially in earlier versions, this isn't
really a syntax that is familiar. So we use pyargs. It's just an easier way for
MATLAB to pass in the name value pairs.

So it's one big difference in the syntax. But otherwise, you can pretty much
call whatever libraries you have, or whatever you're interested in-- including
this awesome weather data that Yann had introduced. And a weather reading and
parsing module that he had written.

So I don't have to do that again. I could, but why bother? So that's kind of--
let me also bring in this API key. Like you mentioned, you need to have one of
those. And just like we saw with our .sqrt function, it's just py. name of the
module dot name of the function, or the method.

So, very easy. We don't have to go through the code. It's all available to you.
We'll share the link to GitHub. But you know there were several modules written
here. And you just pass in the name of your location. No big deal. Right? And I
could use web read. I could use something like that in MATLAB. But why do that
if I don't have to?

But one thing, we're going to actually-- we spend a lot of time talking about
data types. Yann talked about it right away, because it's important. This is a
big question that people have, too. Especially, you noticed earlier, the square
root was just a data type. But in this case, something like a dictionary, or
lists that could have any types. They're not directly converted like that.

So we can still work with it, though. Since it's still a Python dictionary type.
So Yann had written some parsing, to grab out the-- grab the interesting
information. And we can just go ahead and continue to use those functions on it.
So that's one thing to keep in mind. You don't necessarily have to immediately
convert, and just start ripping this thing apart. You could also just use the
methods as is.

So at this point, we really do need to convert so I can use it in MATLAB more
sensibly. Because like Yann had mentioned, that is a big part of this workflow--
is being able to do our mathematics, and do our calculations and predictions on
the data. We'll show, I think, in the slides or definitely in the doc, we'll
share links to this.

But there's a few pages that have direct conversions, even in a cheat sheet,
that show type mapping. And generally, though, for a dictionary, you're going to
want a struct. And you notice some of them have converted automatically. And
anything that didn't, you could take the next step and just convert it directly.

And so you can put those conversions together in functions. That's what we're
doing here. Just because we're going to end up passing this back to, well, me.
But in reality, it would be passing it back to Yann to work with. So we want to
package all this up as we explore.

So this was-- we want to actually show just a little bit more about data types,
since that's something that people really ask about or think about ahead of
time-- even before they start doing their analyses. So one another thing that we
wanted to talk about was multiple arrays or lists.

So in this case, we're getting a forecast. So we want not just today's
forecast-- or not just today's information, but the next 10 days. So in this
case, it was a list. So there are lists inside the dictionary. And so, again,
there's-- we'll have lots of resources on this, but just kind of pointing out
some of the different conversions. And then for lists, especially cell. Since
that's generic, that's the most reasonable or sensible way to handle that.

And so we also kind of just show a few of this things in MATLAB. Especially so
it'll help you understand what's going on in the demo. But one of the things
Yann had mentioned was, why do you want to do this? And one of the reasons that
I liked to do it was because of things like this. Just being able to use an app
or a live task or whatever to, in this case, re-sample data or synchronize data.
This makes it really easy to experiment with things like that.

So also we're going to show here, very shortly, that the machine learning
algorithm is really the same thing. I basically just use an app, so that we were
able to get a machine learning model and the right re-sampling rates and things
like that. We're able to explore all those very easily, and then carry on.

So anyways, just wanted to finish up here so we can show the next steps. And in
getting ready for our model prediction-- so we're showing our temperature
information-- now we want to pull that together with our MATLAB model. And we
have good air quality. So sorry that was jumping around a little bit. I got
really deep into the data types, and then didn't bring us back readily enough
for our classification model.

But anyways, we had done the data type conversion-- prepared it as we had for
machine learning-- or as I had earlier for machine learning, and then called the
prediction. And so that's really the part that we want to share with Yann, and
put into the app in the end. And so really we just capture those couple of steps
that we did. Another thing to keep in mind, just of course speaking of data
types, you just want to make sure that it's a type-- or if you're training a
type-- that will be able to be used in Python easily.

And so again, we'll share the resources for that. Another common question that
comes up, while I have it here in front of me, and hopefully you will stick
around for the Q&A to ask this question, maybe, but what happens if you're
developing and you make a change? So you can reload very easily, just clear the
classes and use the import reload. Yeah, there you go.

So that takes care of a lot of the questions, and one of the initial kind of
development on the MATLAB side. Although we went very fast through it, hopefully
we got-- you got the sense of how easy it is to call those things and the many
options that we have whenever we're going through and changing the data type.

So what do you think, Yann? Is it time to go forward to our next step?

Sure. So we just looked into how you can call Python from MATLAB. And you went
all the way to produce a very nice algorithm that you've trained, I think, with
a significant amount of data on your data lake. I don't know where it is, but--

I don't know where it is now. It's in the cloud. It's in the cloud somewhere.

And so you've been able to train with a classification algorithm that returns
the quality of the air, based on a significant amount of data. And so now you
want to hand it over to me, so that I can essentially call this MATLAB algorithm
from Python. So here I'm just showing some of the basics on how you can perform
advanced analytics on calling MATLAB from Python.

In a second, I think you'll take back the control to show more than slides, to
show how we can call the MATLAB Engine API by importing the MATLAB engine;
starting it; testing a very simple function, as you've demonstrated before, and
well, I suggest that you just do that, and so that we can see very concretely
how it works with MATLAB from Python.

Sure, definitely. Let me just zoom in here bit. All right, got the same thing
that we were doing before. So just calling that same function that we just
showed in MATLAB-- it's a good one usually, it's freezing every time we do this
demo, I swear. This is how we start the engine, so to speak.

So we can use our MATLAB functions. And this is our .sqrt function, as we were
very familiar with. Also I just wanted to point out to you, if you had, we could
have actually connected to an existing MATLAB. So there are a couple of options
here for starting things like that. So don't-- anyways you don't have to have
another MATLAB running if you don't want to.

So just-- it seems to work, no big surprises there. I did want to make an error,
just to show what would happen. So this is one of those cases of thinking about
types and default types. In Python you take 42-- that's an integer. Square root
and MATLAB is actually four type-- or four double or singles. So that's why we
had the float around it. So no big deal, or just 42.0.

Just also, we want to keep in mind, again kind of thinking ahead on questions.
Yann, I don't know how many times we've done this now. Maybe I'm thinking too
much about questions. Hopefully we get some good ones. But just always thinking
about your path, and where you're working. But generally speaking, I try to just
put both things on a path for both of them, so that it's accessible by both
MATLAB and Python.

Probably doesn't need to be said, but sometimes trips people up.

It always comes up-- questions about paths.

And I think sometimes, you just think about it when you have the path correct
for whatever environment you're working in, but not necessarily the other one.
Maybe that's just something we take for granted, especially with MATLAB users.
And this is the same function that I had shown there really quickly. So we just
call it from the engine; pass in data; and it's good, still.

And then if we want to exit, we just exit. So that's pretty much it. And, again,
I think there are a couple of things to keep in mind, like the number of
arguments out. We have another link for that in the documentation, but it's
really very straightforward. And at this point also we're like-- we've tested,
at least, that these things can talk to one another, and our functions are
working. And we can kind of get ourselves ready for the deployment aspects.

So it's very good, because you've tested-- on your own-- that you've implemented
the MATLAB algorithm that you're able to call from Python. But now imagine if I
don't have a MATLAB installed on my PC. What do we do?

Right.

OK.

Give up. Forget the webinar. No, no don't.

We're going to address, I think, two things in this part. That is, how we can
deploy a MATLAB algorithm as a Python library. That is going to be the first
part of the demonstration that you're going to demonstrate today. And then the
second part is how to deploy from a centralized way with a production server.

That is a second part. So I suggest that we take it directly into code.

Sounds good. Yeah, I think this is a really important one. Even Yann was
mentioning, there's a couple of different ways that people will do this. This is
as really easy one. It's just a packaging thing that you can use the runtime.
And there's an app here-- let me actually just go back to be complete.

I love the apps. It's super easy to just click on a couple of things. Especially
for IT kinds of things. Those tend to be a bit more challenging for me, at
least. Which one do we-- OK, so this is the library compiler. So this is-- you
could-- Yann mentioned about Java, and all kinds of things. We can select that
here.

Obviously we're talking Python. And then we just type, or, we add our function
here. And this is going to be the same for all of the different ways that we're
going to show deploying. And it'll find the dependencies. We can add any
additional dependencies that we need. And we'll also generate a nice setup.py,
so that we can help someone during the next phase.

So we would just hit package. I'm not going to-- well, I guess I could, but. It
gives us a folder with-- it's right here. It has the files that we would share,
basically, to somebody that doesn't have MATLAB. And there is a setup phase. I
didn't talk about this in the last one. But it's basically just running that
setup.py from your command line. And that just does the rate mappings and
environment settings in the background.

Again, we'll have links for that. So let me open up.

I think for people using Python it's something that they are very familiar
with-- to be able to python setup.py install something. I think, for the
previous case that you gave on how to call MATLAB from Python, I think that
indeed we will share a link. And then, you'll see from the documentation, it's
very straightforward.

Exactly. Exactly, I can even show now while I have it up. So this is the
external language interfaces, and yeah. So, here we go. So these-- here is where
all the API docs and, things that we were talking about, even troubleshooting.
So there's similar pages for the compiler, or the run times and the different
mechanisms. And so, yeah. That's actually-- thanks, Yann. You added that right
here. It's perfect. So, it's really easy.

I was searching for it all the time, so I figured--

There you go--

Just write it down.

That's perfect. I guess I can just show with the outputs. But this is basically
the same flow that we had before. And then we just import AirQual. That's what I
had called that app. Initialize it, and then use that same function in that same
way. So, and then this way it doesn't-- again we're not actually using the
MATLAB engine behind the scenes. It's using the runtime, so once-- you can share
it with whoever you want.

It's also good in Seattle right now. Should of-- sometimes I check ahead of
time. See if there's anywhere that's bad, but I guess it's still winter. Anyway
so that's pretty straightforward. I think, I guess the next step would be
thinking about how we want to share this. If I wasn't just handing it over to
Yann, we wanted to put this in a web application, originally, or some kind of
application so that millions of people-- billions, even, could call this thing.
And we don't have to worry about managing that stuff in the back end.

Do you want-- should we?

Super convenient, if you want to keep control of your MATLAB algorithm. And then
you don't have to deploy anything. Like not even continuously sending me a new
package each time that you make an update to your algorithm. So that's actually
very handy. So, yeah. Present us the production server. I think that will be
super helpful.

Yeah, for sure. Yeah and, like you said, even having different versions and
things-- we only showed you just having one function. But you can have a whole
slew of-- a whole suite of functions or, speaking of suites like test suites
that have all kinds of complicated things going on. But anyways let's definitely
talk about that.

Just want to also point out, these are-- you have the production server app--
very, very similar kind of workflow. And the big difference-- well in this case,
I just added some backup, in case you're not connected to the internet. Which, I
guess if you're using the web app-- I don't know, whatever.

But the thing that's really great is that there's a test client. So even if you
don't have the full production suite on your, well, laptop in my case, you still
get a little test server. I always say little. It's like one node test server.
And this is super helpful. You can also put breakpoints. That's awesome.

And let's start it. Oh jeez, what was I going to do? So I can show, first,
calling it in Python. It's a little easier, I think, than looking at a HTML
page. And this is just from our app. OK so, from our app it gives us this
localhost. This is just our address to our little baby server that we're talking
about. And we just put it in right here. You just use a RESTful call. There's
also-- we'll, again, share links to all this. But there's also a proper Python
API for that, as well.

But the rest will call super easy, and you can use it anywhere.

That's also quite handy if you want to already set yourself up for production. I
think it's good to use such kind of an interface.

Yeah. Yeah, definitely. Because then, yeah, like I said you can-- it's all
passing json. You can call it and whatever language, or whatever package you
want later on. In the thing that came back, it has like a specific naming
conventions. But you just access the data kind of like you normally would. And
it's good air quality. It's 51 degrees. That's why the cat was trying to jump
out the window earlier.

Fahrenheit, of course. And so I just wanted to go back here and-- pointing out I
know it's Fahrenheit for me, I guess. You can even dig in even more. This is
especially helpful if you're doing something much more complicated. And let's
also just do this from our proper web application. Don't make fun of it. I know.

Oh, it looks pretty good.

And I totally looks like I didn't copy and paste it from an introductory how-to
HTML.

Very basic HTML case

Yeah.

You need to probably enable cross origin, I believe.

Yes. Yes,

Exactly.

OK.

OK, yeah. But that's a good that's a good thing to point out, too. Oops, I just
closed it. That's fine. We could check somewhere else. Let's try Seattle, again.
My friend lives there. All right.

Pending.

It's OK, we would have gotten into our mile of code. Yeah the first time it
takes a minute to find the-- to load the model. All right, and so that is a
really good looking web page. It worked. Also depending on how we wanted to
share this, we can package up all of our code. So I thought this was really
clever. And Yann and I had worked on this together. This is-- I don't think the
one, but here it is.

Yeah so we actually packaged up the Python code that he had written earlier. The
MATLAB code that I had written and all of that was put into the code that we put
on-- into production. So that's really helpful. Whatever you really call in
MATLAB, you can productionize-- including the Python code. And also true, if you
did not want to make that terrible looking app that I showed, this is mildly
nicer looking.

Oh Yann, thank goodness, he was hired to help us with these things, because this
does not look nice. Already, he had like made a plot for the page. So we need to
get that updated. Anyways you could use MATLAB, if that was your preference in
the end, and we can package up all that code-- same kind of way. There was just
app that comes up, a couple of click throws that has all the information that
you need, and can pass it on to IT.

So I think that's one of the big values. Hopefully-- you have some slides, I
think, to wrap some of this up. I went through it pretty fast in the code. But I
think it really speaks to how easy it is to go back and forth. And even if
you're not just doing it yourself, it makes the super easy even just having the
error say MATLAB error. Then the person-- if Yann didn't know MATLAB at all, It
could just send me an email and be like, hey, what's this? Help. So it just
makes it really easy, I think, when you're trying to use the different
functionality in the different languages, and when you're working with other
people that aren't as familiar.

What do you say, Yann?

That sounds good. I'm going to present a few slides, just to summarize. But I
think you've covered a lot of ground today. So thank you so much. Also it looks
so easy when you do that, so.

It is, though! It really is.

Yeah, it is.

So here, just to sum up on how you could remain in MATLAB for the complete
deployment, Heather mentioned the fact that you can develop a small
application-- you can add some more plots to it like this one. But generally, it
is very easy. You can use the App Designer with a point and click solution for
non-programmers. That's actually pretty easy, instead of writing HTML code,
that's for sure.

You can see how the quality was a bit different.

If you are going to develop such an application ...

Here, it's so good.

It looks pretty good, right? And then you're even able to deploy that on the web
app server that we have as a central deployment solution. That's pretty
convenient. And, yeah. Here you can see a very short video on how it, basically,
works. You can just create from scratch; drag and drop; all of the components.
And so on. So it's very easy.

And even packaging of that Python code with it, too. That's awesome that you
don't have to-- or Java, or whatever else you're using. You can pull it all
together, which is pretty nice.

So that's, indeed, what you did Heather-- you have, also, some Python that is
hosted on the server. It is calling the weather-- the openweather.org API. And
so, in the end, you will be able to serve end users through either a desktop
app, or a web app. And so in this way, you can even have different versions of
MATLAB that supply the algorithm. That's pretty convenient.

And in terms of deployment into a larger IT ecosystem-- because that's something
we see coming up a lot-- you can have data that are coming, streaming from your
assets; from databases; from files; and running into the production server. It
can even be on some cloud provider, such as AWS, or Azure. It can interface with
lots of different data sources and storage layers, and so on to finally deliver
with a full operational analytic solution.

So, that's it. In summary I think we've covered, as I said, a lot of ground by
accessing the data, with the example of this weather application;
interoperability calling libraries written in Python from MATLAB; calling MATLAB
from Python; and deploying all of those apps and algorithm with-- as web apps,
or production API.

Thank you, Heather.

Yeah, definitely.

Yeah.

It was very successful. And now, if we do have questions, I think we can take
them.

Yeah, definitely. Before any other questions, we'll share everything that we
showed today; and really appreciate you paying attention, and following along to
our presentation, and joining us. Thanks.



DOWNLOAD CODE AND FILES



RELATED PRODUCTS

 * MATLAB
 * MATLAB Compiler SDK
 * MATLAB Production Server



DESCRIPTION



FULL TRANSCRIPT



CODE AND RESOURCES




Bridging Wireless Communications Design and Testing with MATLAB

Read white paper

Cheat Sheets for Using MATLAB with Python

Get cheat sheets


Feedback

Featured Product

MATLAB

 * Request Trial
 * Get Pricing


UP NEXT:

39:07
MATLAB Meets MINDSTORMS: How to Control LEGO NXT Robots...


RELATED VIDEOS:

10:24
Integrating MATLAB and C/C++, Part 3: Using C/C++ Code with...
3:38
Using MATLAB and Arduino to Acquire Analog Signals
48:12
Using MATLAB with PI System for Analysis and Process...
57:28
Using MATLAB to Bridge the Gap Between the Portfolio...

View more related videos



×

Select a Web Site

Choose a web site to get translated content where available and see local events
and offers. Based on your location, we recommend that you select: Deutschland.

Deutschland
 * Switzerland (English)
 * Switzerland (Deutsch)
 * Switzerland (Français)

 * 中国 (简体中文)
 * 中国 (English)

You can also select a web site from the following list:


HOW TO GET BEST SITE PERFORMANCE

Select the China site (in Chinese or English) for best site performance. Other
MathWorks country sites are not optimized for visits from your location.


AMERICAS

 * América Latina (Español)
 * Canada (English)
 * United States (English)


EUROPE

 * Belgium (English)
 * Denmark (English)
 * Deutschland (Deutsch)
 * España (Español)
 * Finland (English)
 * France (Français)
 * Ireland (English)
 * Italia (Italiano)
 * Luxembourg (English)

 * Netherlands (English)
 * Norway (English)
 * Österreich (Deutsch)
 * Portugal (English)
 * Sweden (English)
 * Switzerland
   * Deutsch
   * English
   * Français
 * United Kingdom (English)


ASIA PACIFIC

 * Australia (English)
 * India (English)
 * New Zealand (English)
 * 中国
   * 简体中文Chinese
   * English
 * 日本Japanese (日本語)
 * 한국Korean (한국어)

Contact your local office

 * Comuníquese con ventas
 * Software de prueba

MathWorks

Accelerating the pace of engineering and science

MathWorks es el líder en el desarrollo de software de cálculo matemático para
ingenieros

Descubra…

Explorar productos

 * MATLAB
 * Simulink
 * Software para estudiantes
 * Soporte para hardware
 * File Exchange

Probar o comprar

 * Descargas
 * Software de prueba
 * Comuníquese con ventas
 * Precios y licencias
 * Cómo comprar

Aprender a utilizar

 * Documentación
 * Tutoriales
 * Ejemplos
 * Vídeos y webinars
 * Formación

Obtener soporte

 * Ayuda para la instalación
 * MATLAB Answers
 * Consultoría
 * Centro de licencias
 * Contactar con soporte

Acerca de MathWorks

 * Ofertas de empleo
 * Sala de prensa
 * Misión social
 * Casos prácticos
 * Acerca de MathWorks

   
 * Select a Web Site España


 * Centro de confianza
 * Marcas comerciales
 * Política de privacidad
 * Antipiratería
 * Estado de las aplicaciones





© 1994-2022 The MathWorks, Inc.


 * 
 * 
 * 
 * 
 * 
 * 




Únase a la conversación



Go to top of page