Function ontput missed or not assigned

Dear all,
I am confronted with a problem now. What I want to do is to formulate a function like
[y1,y2,y3]=f[x1,x2]
Note that the output and input dimensions are constant. Not all outputs will be assigned a value so in Matlab it will report an error. My question is that is there any method that I can assign values to the missed outputs outside when I call the function?
Thanks a lot

3 件のコメント

KSSV
KSSV 2019 年 6 月 10 日
Show us the code and specify the error.
per isakson
per isakson 2019 年 6 月 10 日
編集済み: per isakson 2019 年 6 月 10 日
"is there any method that I can assign values to the missed outputs outside [the function, f ]"
The simple answer is no - afaik.
Tonghui Zhang
Tonghui Zhang 2019 年 6 月 10 日
編集済み: per isakson 2019 年 6 月 10 日
Hi,
The function code is as followed
function [y1 y2]=xxx(u)
if u<10
y1=1
else
y2=1
end
end
The error is 'when you are calling function xxx, no value is assigned to y2'

サインインしてコメントする。

回答 (1 件)

KSSV
KSSV 2019 年 6 月 10 日

0 投票

function [y1 y2]=xxx(u)
if u<10
y1=1 ;
y2= [] ;
else
y1 = [] ;
y2=1 ;
end
end

2 件のコメント

Tonghui Zhang
Tonghui Zhang 2019 年 6 月 10 日
Thank you for your answer, I know this can solve the problem. My problem is that I don't want to update y2 in this case so, is there any method that I can update the missed output outside the function?
Walter Roberson
Walter Roberson 2019 年 6 月 10 日
No, there is no method to do that. You can use try/catch to handle the error more smoothly, but the error handling will be invoked before the outputs that are present are assigned.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeFunction Handles についてさらに検索

質問済み:

2019 年 6 月 10 日

コメント済み:

2019 年 6 月 10 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by