You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中单行将函数输出赋值给变量或向量?

Matlab 多输出函数的单行赋值技巧

嘿,这俩问题都是Matlab里处理多输出函数的常见场景,我来给你一步步讲明白:

1. 单行代码将函数输出赋值给变量

完全可以!Matlab原生就支持在单行里直接接收函数的多个输出值,只需要用逗号分隔变量就行。比如你有一个返回两个值的函数(比如计算圆的周长和面积):

function [perimeter, area] = circleProps(radius)
    perimeter = 2 * pi * radius;
    area = pi * radius^2;
end

那单行赋值的写法就是:

[r, a] = circleProps(5);

这样变量r就拿到了周长,a拿到了面积,一行搞定,不需要拆分多行。

2. 单行代码将函数输出赋值给向量

当然也可以!你之前可能没找对写法——要把多个输出合并成向量,只需要把函数调用放在方括号[]里就行。还是用上面的circleProps函数举例,单行存成向量的写法是:

shapeResults = [circleProps(5)];

执行之后,shapeResults就是一个1x2的向量,第一个元素是周长,第二个是面积。

为啥之前可能失败?

如果之前这么写没生效,大概率是这两个原因:

  • 没加方括号:直接写shapeResults = circleProps(5)的话,Matlab只会返回函数的第一个输出值,忽略后面的,所以你拿到的只是周长,不是向量。
  • 输出类型不兼容:如果函数返回的不是同类型的数值(比如一个是数值,一个是字符串),那没法组成向量,这种情况就得用单元格数组{}来存:
    mixedResults = {circlePropsWithLabel(5)};
    
    (假设这个函数返回数值和字符串)

内容的提问来源于stack exchange,提问作者Arlo Olson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:18:08