为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会出现下面的状况???

为什么会出现下面的状况???

PIPIONE 2023-04-22 18:14:20
就是说输出的答案为两个,如:function [hehe,haha]=sss(x)n=length(x);haha=sum(x)/n;hehe=sqrt(sum((x-haha).^2)/n);最后输出的只有haha的值,没有hehe的值(haha、hehe、n为变量)我用的是matlab2014a版本
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

对于返回一个参数的函数fun(...)
直接在命令行输入
fun(...)
那么其返回参数就会自动存放到变量ans里面

对于有两个返回参数以上的函数
直接在命令行输入
fun(...)
那么其第一个返回参数会自动存放到变量ans里面,而后面其他的返回参数就会被忽略

如果想得到多返回参数函数的所有返回参数,必须将返回参数赋值给足够的变量储存起来
就像你的函数sss(x),
你必须在命令行输入
[a b]=sss(x)
那么sss的第一个返回参数赋值给a,第二个返回参数赋值给b
当然a,b变量名你是可以随意改的,但是必须要两个不同的变量来储存这两个返回参数

像你所说的情况,如果只返回一个值的话,应该返回第一个hehe才对

查看完整回答
反对 回复 2023-04-25
?
忽然笑

TA贡献1806条经验 获得超5个赞

使用MATLAB函数时,例如inv, abs, angle和sqrt,MATLAB获取传递给它的变量,利用所给的输入,计算所要求的结果。然后,把这些结果返回。由函数执行的命令,以及由这些命令所创建的中间变量,都是隐含的。所有可见的东西是输入和输出,也就是说函数是一个黑箱。
这些属性使得函数成为强有力的工具,用以计算命令。这些命令包括在求解一些大的问题时,经常出现的有用的数学函数或命令序列。由于这个强大的功能,MATLAB提供了一个创建用户函数的结构,并以M文件的文本形式存储在计算机上。MATLAB函数fliplr是一个M文件函数良好的例子。

function y = fliplr(x)
% FLIPLR Flip matrix in the left/right direction.
% FLIPLR(X) returns X with row preserved and columns flipped
% in the left/right direction.
%  
% X = 1 2 3 becomes 3 2 1
% 4 5 6 6 5 4
%
% See also FLIPUD, ROT90.

% Copyright (c) 1984-94 by The MathWorks, Inc.

[m, n] = size(x);
y = x(: , n : -1 : 1); 

查看完整回答
反对 回复 2023-04-25
  • 2 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信