[英]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.