Receiving two outputs in function

3 次查看(过去 30 天)
Sharanya
Sharanya 2022-12-10
回答: Stephan 2022-12-10
I want both the nodeCrd and edgeList to display, but I'm only able to get the first one listed to display.
function [nodeCrd,edgeList]=ReadInputData()
filename="inputdataa.txt";
fileId = fopen(filename,"r");
if (fileId == -1)
disp("Could not open the file !")
return
end
% read the first line
tempLine = fgetl(fileId);
disp(tempLine)
% read the second line
tempLine = fgetl(fileId);
disp(tempLine)
% there is a pattern here (node's coordinates + IsSupport)
data = textscan(fileId,"%f %f %f %f %f %d");
% convert it to array
nodeCrd = cell2mat(data(1:5));
% pattern is finished at this line
% let's read that line
tempLine = fgetl(fileId);
disp(tempLine)
% there is another pattern here (memebrs)
data = textscan(fileId,"%f %f %f" );
% convert it to array
edgeList = cell2mat(data);
end

回答(1 个)

Stephan
Stephan 2022-12-10
To get multiple outputs from a function, you have to call it with multiple output arguments:
[MY_nodeCrd,MY_edgeList]=ReadInputData()

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by