簡體   English   中英

如何調用從命令行輸入文本的Matlab函數?

[英]How can I call a Matlab function that takes text input from the command line?

我正在研究一個醫學機器人項目,它捕獲一系列圖像,然后在MATLAB中對它們進行一些處理。 由於必須在MATLAB之外完成許多其他事情,我使用另一種語言進行整體控制,並使用控制台命令觸發其他部分。

我有一個.m文件,只有一個函數,它將文件路徑帶到圖像所在的目錄,並進行所有MATLAB處理。 如何從命令行調用它? 我已經看到matlab -r "function(input)"在這里的其他一些答案中討論過,但它對我不起作用(我在開放的paren中得到語法錯誤)。 更具體地說,我得到: matlab: eval: line 1690: syntax error near unexpected token '('

我見過一些人說這必須通過調用一個shell腳本(我不知道怎么寫)來完成,但是其他一些人說如果沒有這個可行,那么有人可以澄清嗎?

另外,假設我只是拙劣的matlab -r語法,MATLAB如何知道在哪里找到.m文件? 它是否需要在我正在運行命令的任何目錄中?

我猜你在嘗試:

matlab -r test('hi')

得到......

bash: syntax error near unexpected token `('

或類似的東西?

答:你需要在function(input)周圍使用" " ,即:

matlab -r "test('hi')"

這在我當前目錄中運行test.m ,輸入字符串為'hi'

要在名為runmatlabcommand.sh的shell腳本中執行此runmatlabcommand.sh ,比如bash ,您只需打開一個文件並編寫:

#!/bin/bash
matlab -r "test('hi')"

然后鍵入./runmatlabcommand.sh從命令行執行此腳本。 在嘗試運行腳本之前,請確保該腳本具有執行權限;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM