【问题标题】:Send data from MATLAB to local website将数据从 MATLAB 发送到本地网站
【发布时间】:2018-07-27 07:09:49
【问题描述】:

我有一个 MATLAB GUI,它可以创建很多图。

现在我想在本地网站上显示这些图 --> HTML/JS 文件。 我的想法是将数据发送到我的浏览器/网站,例如客户端/服务器,然后在那里绘制图表。

但是如何将数据从 Matlab 传递/发送到我的本地网站? 是否有任何 HTTP 方式或类似 websockets 的东西?

非常感谢! 最好的祝福 拉尔夫

【问题讨论】:

    标签: javascript html json matlab http


    【解决方案1】:

    您始终可以使用 Matlab 的内置网络功能或外部库。

    然后我假设您可以在客户端/服务器端监听并发送必要的操作(即使用您正在使用的任何图形库绘制您的数据)。

    我不确定您是否知道plotly,但它们会绘制看起来像原生 Matlab 的在线图(在我看来比 matlab 基本图更好)。

    您也可以generate the plots on a URL 仅使用 Matlab,因此理论上您不必自己执行任何图形绘制逻辑! - 您只需将用户重定向到托管情节的 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 网络服务):

    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 收到的任何数据来更新您的绘图。

    【讨论】:

    • 嗨 WoodyDev,感谢您的回答。 Plotly 是不对的,我已经在网站上绘制了我的数据,因为此刻,我将数据保存在 JSON 文件中,然后使用我的 HTML 文件加载数据。但我想直接发送数据。是否可以在没有请求的情况下使用 HTTP 请求发送数据,因此按下 Matlab 中的按钮并将其发送到我的网站?我也会试试你的自定义 Matlab WebSocket 库,谢谢!
    • 嗨@R.Homm 我刚刚用一个实现示例更新了我的答案:-)
    • 非常感谢,我会试试这个,如果我有任何问题,我会告诉你!如果我的网站仍在 html 文件中,这是否也可能,所以“yourwebsite.com”将是“file:///C:/myfile.html”?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2020-05-10
    • 1970-01-01
    • 2019-08-07
    • 2013-07-04
    • 1970-01-01
    • 2020-03-30
    相关资源
    最近更新 更多