簡體   English   中英

如何在MATLAB中將結構字段作為函數輸出傳遞?

[英]How do I pass a struct field as a function output in MATLAB?

我有一個使用結構的函數。 我想傳遞一個struct的一個字段作為函數的輸出。 下面是我做的一個例子:

function MyStructure.myField = my_function(input)
MyStructure.myField = input * 3;

但是,MATLAB不允許在函數輸出中使用點(。)表示法。 我當然可以通過這樣做簡單地解決這個問題:

function myOutput = my_function(input)
MyStructure.myField = input * 3;
myOutput = MyStructure.myField;

一個簡單的解決方法,但我想知道是否有更優雅的解決方案..?

你可以做的是忽略函數中的結構,只在調用函數時使用它。 例如:

function output = my_function(input)
% manipulate...
output = 3*input;

當您調用該函數時,您使用結構:

myStruct.myField = my_function(input)

暫無
暫無

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

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