Matlab自学笔记五十一:(推荐)输入参数的数量和可变数量的输入

1. 先说一个应用场景

有时我们需要解决的问题包含多个输入参数,并且输入参数是不固定的,例如,定义一个f=cube(x)函数,计算长方体的体积,根据常识,长方体需要输入三个参数即长、宽、高,如果是立方体,长、宽、高是相同的,只需要输入一个边长参数就可以了,于是,如何解决cube(a)求立方体体积,和cube(a,b,c)求长方体体积这个函数通用性呢?

Matlab中, 可以使用可变输入函数varargin,接收不固定的输入参数,一个、三个、十个等,都可以,一般情况下,varargin会作为一个元胞数组类型的变量,包含了所有输入参数,具体使用哪个输入参数进行运算,可以从元胞数组中拆分出来,另外,输入了多少个参数,可以使用nargin函数确定,一般来讲,nargin是一个标量数值,也就是输入参数的数目。

再说回到上面的问题,可通过if语句判断输入参数数量nargin,然后拆分varargin输入参数,进行相应运算就好了。

2. 实例演示

程序示例如下:

function v=fx1_47(varargin) %Matlab内置函数,使用一个占位参数varargin,可接收输入参数数量不固定的多个输入参数

y=nargin; %Matlab内置函数,使用nargin获得输入数量

if y==1

a= varargin;

v=a^3;

elseif y==3

a= varargin{1};

a= varargin{2};

a= varargin{3};

v=a*b*c;

end

相关视频内容推荐

1.47 可变数量的输入,预计能解决很多同学在输入参数方面遇到的问题

31.3 Matlab绘图之图像上添加标题、标签和图例,那些希腊的罗马的特殊字符应该都涵盖了哈

37.4 Matlab AppDesigner设计案例:学生信息注册系统,编程演示列表框和下拉框的用法,初学者很友好

38.4 从图片上自动提取圆心坐标和半径数据

26.1(上) 一节入门SVM支持向量机算法,含Matlab编程讲解

24.1 一节入门K近邻算法附Matlab编程示例

35.1 Matlab条件语句(if switch)的用法

36.1 Matlab GUI 界面设计初学者光速入门

48.1/Matlab粒子群算法编程/概念和算法流程数学建模

11.18 Matlab非线性方程组和矩阵方程求解fsolve数学建模

45.13 Matlab精讲:卷积神经网络(工作原理和运行机制)

End

相关推荐
400分2 分钟前
具身智能系列之从零到「机械臂会放试管」:π0.5 VLA 真机部署完全指南【第一节】
算法
Evand J6 分钟前
【电机滤波例程2】负载转矩增广扩展卡尔曼滤波(EKF)原理与MATLAB例程:五维PMSM状态与负载阶跃估计。订阅专栏后可查看完整代码
开发语言·matlab·电机·ekf·卡尔曼滤波
小宋102112 分钟前
一套服务托管多个 LoRA:适配器加载、租户隔离与热切换实战
大数据·人工智能·算法
Rosanci21 分钟前
Codex 下载与本地部署实战:从安装到运行全流程指南
开发语言·前端·算法·chatgpt·codex
我爱工作&工作love我30 分钟前
P14358 [CSP-J 2025] 座位
算法
旖旎夜光31 分钟前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
朝朝辞暮i33 分钟前
C++ 第 38 课:线程、SingleThreadedExecutor、MultiThreadedExecutor、Callback Group
开发语言·c++·算法·ros2
(Charon)38 分钟前
【C++面试】互斥锁与读写锁:使用场景、实现原理与写饥饿问题
c++·算法
longlongzihan40 分钟前
回溯法详解:LeetCode 46. 全排列
算法·leetcode·回溯
秋名RG43 分钟前
时间复杂度、空间复杂度与算法稳定性详解
数据结构·算法·排序算法