Matlab函数返回值

CSP*_*PTT 4 matlab return-value

我有一个程序有功能和问题,返回值,它有太多的输出.

像exempley:y = text答案出现了

Error in text (line 2)

if nargin == 0 

Output argument "array" (and maybe others) not assigned during call to "
C:\Users\name\Documents\MATLAB\text.m>text".
Run Code Online (Sandbox Code Playgroud)

程序text.m读取一个包含几个名称和数字的txt文件

为例:

John doughlas 15986

Filip duch 357852

等等.该程序将它们转换为15986 Doughlas John等.

function array = text(~) 
if nargin == 0 
dirr = '.';
end
answer = dir(dirr);  
k=1;
while k <= length(answer) 
    if answer(k).isdir 
        answer(k)=[]; 
    else
        filename{k}=answer(k).name;
        k=k+1;
    end
 end
chose=menu( 'choose file',filename);
namn = char(filename(chose));  
fid = fopen(namn, 'r');    
R = textscan(fid,'%s %s %s');  
x=-1;                                            
k=0;                                               
while x <= 24                                  
      x = k + 1;                                    
      All = [R{3}{x},'   ',R{1}{x},' ',R{2}{x}];
      disp(All)                                     
      k = k + 1;                                   
end                                                
fclose(fid);
Run Code Online (Sandbox Code Playgroud)

无论如何要解决问题而不从头开始?

感谢所有的答案!

yuk*_*yuk 10

您可以在定义中指定函数输出参数,但不要在函数体中为其指定任何内容.

例如,在

function y = student(j)                                
Run Code Online (Sandbox Code Playgroud)

你的输出是y.所以你必须分配一些东西y.

阅读有关MATLAB中函数的更多信息.