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
Submission: On December 02 via api from IE — Scanned from DE
Form analysis
2 forms found in the DOMGET /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: search — GET /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