Receiving two outputs in function
조회 수: 2 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
답변 (1개)
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()
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!