这是我的代码,我尝试编写一个matlab函数,它将矩阵作为输入并返回矩阵作为输出。
a=[ 1 2 3; 4 5 6; 7 8 9];
function [s]= try_1(a)
%takes a matrix as a input
display(' data matrix');
disp(a);
disp('dimension of the matrix');
[m n]= size(a); %calculate the dimension of data matrix
s = mean(a);
end
答案 0 :(得分:3)
您无法在脚本中定义函数。 MATLAB假定您的文件是脚本,因为它以a=[ 1 2 3; 4 5 6; 7 8 9];
开头 - 即通过定义变量。因此,MATLAB假定遵循一系列指令并在看到函数定义时抛出错误。
您还必须区分函数定义和函数调用。使用上面的代码,即
function s = try_1(a)
...
end
你定义了函数的功能(函数 definition ),但你不调用它,即没有任何反应。对于要发生的事情,你必须通过
来调用它a=[ 1 2 3; 4 5 6; 7 8 9];
s = try_1(a);
在脚本或工作区中。
关于文件名以及每个文件中的内容:函数在MATLAB中通过文件名标识。在名为try_1()
的文件中使用函数try_1.m
是绝对必要的。而且这个文件不能包含任何其他内容。 a=[ 1 2 3; 4 5 6; 7 8 9];
和函数调用属于一个单独的脚本(或者只是在命令窗口中测试行为)。
答案 1 :(得分:0)
清楚解释执行上述代码的位置? 如果在命令提示符下执行,请不要使用函数。代码喜欢这个
a=[ 1 2 3; 4 5 6; 7 8 9];
%takes a matrix as a input
display(' data matrix');
disp(a);
disp('dimension of the matrix');
[m n]= size(a); %calculate the dimension of data matrix
s = mean(a);
或者如果您没有使用命令提示符,则将值" a" 放在另一个函数中,并从您创建的新函数中调用 try_1 函数。像这样的代码
function parent()
a=[ 1 2 3; 4 5 6; 7 8 9];
s= try_1(a)
end
function [s]= try_1(a)
%takes a matrix as a input
display(' data matrix');
disp(a);
disp('dimension of the matrix');
[m n]= size(a); %calculate the dimension of data matrix
s = mean(a);
end
或在 try_1 函数中指定值。像这样的代码
function [s]= try_1(a)
a=[ 1 2 3; 4 5 6; 7 8 9];
%takes a matrix as a input
display(' data matrix');
disp(a);
disp('dimension of the matrix');
[m n]= size(a); %calculate the dimension of data matrix
s = mean(a);
end