nargin函数的用法

简介:   nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。 函数文件examp.m:function fout=charray(a,b,c)if nargin==1fout=a;else  if  nargin==2fout=...

  nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。

函数文件examp.m:
function fout=charray(a,b,c)
if nargin==1
fout=a;
else  if  nargin==2
fout=a+b;
else  if  nargin==3
fout=(a*b*c)/2;
end


命令文件mydemo.m:
x=[1:3];y=[1;2;3];
examp(x)
examp(x,y')
examp(x,y,3)


执行mydemo.m 后的输出是:
ans =
  1 2 3
ans =
  2 4 6
ans =
  21

 

例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。

function y=test1(a,b)
if nargin==0
a=0;b=0;
elseif nargin==1
b=0;
end
y=a+b;

 

function x=maiter(phi,x0,ep,N)
%x=chat3_ex3maiter(inline('x-(x-exp(-x))/(1+x)'),0.5,1e-5,400)
if nargin<4,N=500;                                                                      end
if nargin<3,ep=1e4;                                                                        end
k=0;
while k<N
x=f(phi,x0);
if abs(x-x0)<ep
break;
end
x0=x;k=k+1;
end
if k==N,warning('已达迭代次数上限');                                                            end
disp(['k=',num2str(k)])

这是一个迭代求方程解的Matlab程序,请问if nargin<4,N=500;end和if nargin<3,ep=1e4;end这两个语句在这个程序中起什么作用?

NARGIN表示输入变量的个数,程序中的意思是如果输入参数小于4个,则N默认为500,如果输入参数小于3个,默认输入参数EP=1E4

这就是说输入的变量式4各的时候是那样运行,输入变量式3各式运行以后的程序

 

相关文章
|
存储 缓存 移动开发
|
12月前
|
机器学习/深度学习 人工智能 搜索推荐
探究人工智能在医疗健康中的应用与挑战
本文深入探讨了人工智能(AI)在医疗健康领域中的应用及其所面临的挑战。随着科技的不断进步,AI技术在医疗领域的应用日益广泛,从疾病诊断、治疗方案制定到患者护理等方面都展现出巨大的潜力。然而,尽管AI在医疗健康领域取得了显著成果,但也面临着数据隐私、算法偏见和伦理道德等方面的挑战。本文将详细介绍这些应用和挑战,并探讨可能的解决方案,以期为读者提供对AI在医疗健康领域发展的全面理解。
|
关系型数据库 MySQL PHP
深入理解PHP中的命名空间
【2月更文挑战第30天】 在现代PHP开发中,命名空间是一个不可或缺的特性,它解决了代码库增长时可能出现的函数和类名称冲突的问题。本文将详细探讨PHP命名空间的核心概念、实现原理以及在日常开发中的应用实践。我们将通过具体示例来解释如何有效地使用命名空间,以及它们是如何影响自动加载机制和PSR-4规范的。最后,我们还将讨论一些常见的误区和最佳实践,帮助开发者避免在使用命名空间时可能遇到的问题。
|
9月前
|
IDE Ubuntu 开发工具
2025年vscode (visual studio code)国内高速下载加速镜像,极速秒下!
Visual Studio Code(简称VSCode)是一款由微软开发的轻量级IDE,支持多种操作系统,以其高效、跨平台和免费的特点受到广泛欢迎。针对国内用户下载速度慢的问题,终于有了国内镜像,访问 https://www.baihezi.com/vscode/download
4049 10
2025年vscode (visual studio code)国内高速下载加速镜像,极速秒下!
|
11月前
|
关系型数据库 MySQL Serverless
MySQL DATETIME 查询条件
MySQL DATETIME 查询条件
581 1
|
开发框架 API 决策智能
ModelScope-Agent框架再升级!新增一键配置多人聊天,配套开源多智能体数据集和训练
ModelScope-Agent是魔搭社区推出的适配开源大语言模型(LLM)的AI Agent(智能体)开发框架,借助ModelScope-Agent,所有开发者都可基于开源 LLM 搭建属于自己的智能体应用。在最新升级完Assistant API和Tool APIs之后,我们又迎来了多智能体聊天室的升级,通过几分钟快速配置即可搭建一个全新的聊天室。
|
机器学习/深度学习 自然语言处理 搜索推荐
深度之眼(二十五)——研究生学习计划安排
深度之眼(二十五)——研究生学习计划安排
172 2
|
Java 测试技术 持续交付
自动化测试框架选型与实战:深入探索与应用
【5月更文挑战第8天】本文探讨了自动化测试框架的选型与实战应用,强调了其在软件质量保障中的重要性。选型原则包括考虑项目需求、技术栈、可扩展性和可维护性,以及社区支持和文档。介绍了Selenium、Appium、JUnit和Pytest等常用框架,并概述了实战应用的步骤,包括明确需求、搭建环境、编写测试用例、执行测试、分析结果、维护代码和持续集成。合理选型与实践能提升测试效率,保障项目成功。
|
安全 网络安全 Windows
CVE-2017-0143永恒之蓝复现
CVE-2017-0143永恒之蓝复现
309 0
|
机器学习/深度学习 数据挖掘 PyTorch
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
11733 1
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )