找回密码
 注册
关于网站域名变更的通知
查看: 900|回复: 3
打印 上一主题 下一主题

matlab如何判断一个变量是否定义,是否存在(已解决)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-6-24 13:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义)
& N7 f* I1 i% x/ G/ i* t# a1 t" G我试过
1 E5 \& U) M* M$ Q9 Gvar==[]
) C( u( m0 U* P
5 j; n; K' j* {, K6 Qisempty(var)) `* n6 g; f: M0 a/ G7 j+ W
等都不通用。0 d8 g$ B/ J2 @# C; T' S9 _
% l- g" m2 f# @5 n1 s: b
其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观7 V( m4 H8 _$ V, W3 X
想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。
3 E7 r; \/ h! P) s# ?3 R

该用户从未签到

2#
发表于 2021-6-24 15:00 | 只看该作者
我都是需要一个变量去上面定义一个

点评

你这个方法可以,不会乱  详情 回复 发表于 2021-6-24 15:01

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:002 Z1 b& z3 _7 x
我都是需要一个变量去上面定义一个

  s* t  Q2 C( t& Q% O& K) v你这个方法可以,不会乱; @5 S0 M9 C% [9 H: X7 V4 W, Z

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。
9 z( l2 D+ p; U7 t
  t; O& D7 w! dfunction out = fun (in, P)
7 t2 V6 ~4 z( s+ L  {( n$ G) ~/ l% if isempty(P) % 失败2 F7 M1 H8 W- L1 w% d
% if P == [] % 失败" Q9 D% `. h) n
if ~exist('P','var') % 用'var'限定下更好,不用也可以
2 z% n. H7 ^2 X) q9 x9 q% if nargin<2 % 通过,但我不喜欢
3 m" {5 S/ _7 @* |    % 使用参数P的默认值1 _( X& E- v) k0 `$ Q+ j' G
else
& b: L$ n. t4 W7 X$ t8 b3 h0 H/ f  r    % 使用传入的参数P6 C. ?" i: K) d4 F$ ~4 d
end% g, Q, O& O) A" j$ y) Q
% ……9 I! a+ d2 ?0 J+ \  s
% matlab6.5 测试通过. g& }$ I; L# G6 y  _. o% `
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 19:06 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表