我有一个程序,它有函数和问题,返回值,它有太多的输出。
就像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".程序text.m读取一个txt文件,该文件包含几个名称和数字,例如
例如:
John doughlas 15986
菲利普·杜赫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);有没有办法解决这个问题而不用从头开始呢?
感谢所有的答案!
发布于 2013-04-12 01:23:11
您在定义中指定了函数输出参数,但在函数体中没有为其分配任何内容。
例如,在
function y = student(j) 您的输出是y。所以你必须给y赋值。
在MATLAB中阅读更多关于functions的内容。
发布于 2017-05-12 23:42:12
下面是一个有效的示例。
第一部分是在文件名“functionA.m”中创建一个名为“functionA”的函数。然后将以下代码放入其中:
function result = functionA(N,alpha)
result = 5;
return
end第二部分是创建另一个Matlab文件(即由您来命名),或者您甚至可以使用Matlab命令窗口。然后运行以下代码:
getresult = functionA(100,10);
getresult运行后,您会得到以下答案:
ans =
5https://stackoverflow.com/questions/15954838
复制相似问题