我有一个MATLAB GUI,可以创建很多图。
现在,我想在本地网站上显示这些图-> HTML / JS文件。 我的想法是将数据发送到客户端/服务器等浏览器/网站,然后在其中绘制图表。
但是如何将数据从Matlab传递/发送到我的本地网站? 有什么HTTP方式或类似websockets的东西吗?
非常感谢! 最好的祝福 拉尔夫
答案 0 :(得分:0)
您始终可以使用Matlab的内置网络功能或外部库。
然后我想您可以在客户端/服务器端进行监听并发送必要的操作(即使用您正在使用的任何图形库绘制数据)。
我不确定您是否知道plotly,但它们会进行在线绘制(在我看来比Matlab基本图形更好),看起来像本机Matlab。
您也可以只使用Matlab generate the plots on a URL,因此从理论上讲,您不必自己做任何图形绘制逻辑! -您只需将用户重定向到托管该图的URL链接(尽管我认为可能需要高级帐户);这是getting started link。
编辑1:
因此,您可以将数据格式化为所需的任何格式,然后通过我之前链接的HTTP请求进行发送。
示例:将您的数据转换为JSON编码的数据,通过您选择的方法(HTTP / TCP / WebSockets)发送,然后使用JS在您的浏览器上进行绘制。
将数据转换为JSON(Matlab的JSON encoder):
data = 1:3;
dataJsonString = jsonencode(data); % Returns : "{1,2,3}"
创建Webwrite(RESTFul Web服务):
body.data = dataJsonString;
options = weboptions('MediaType', 'application/json');
resp = webwrite('http://yourwebsite.com', body, options); % When you press your button in Matlab you want to run everything I have just written
然后在您处理服务器端onDataReceived
的任何地方,通过解析刚刚通过JSON接收到的任何数据来更新绘图。