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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义)
& x* ]' }# `; W+ Q我试过
! L4 }( k7 [4 A, C4 r2 Uvar==[]
2 ?8 G* c; D4 U" b" A: L5 l( b3 A* L. t4 r
isempty(var)
8 N3 o4 i0 E* b等都不通用。
$ {) Y; E; @6 @  Z% ?. h. K4 J$ {
8 o% L' r* z! o  l9 m3 M其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观
. d& p% ]+ c2 d6 S, S想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。
! V% m. v% z( w# R6 c

该用户从未签到

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

点评

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

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:007 }1 _! ?. d9 H
我都是需要一个变量去上面定义一个

$ M& ~5 L% D  T0 n$ h4 M) ]你这个方法可以,不会乱
0 ]5 ~. T) y6 }* j* l

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。$ p( a. m1 A: S& D- h$ R

- \4 Q: h1 e3 Y# c" {6 p" Jfunction out = fun (in, P)
0 `1 T8 i2 X, ^% q# I! L% if isempty(P) % 失败
+ f% `- s3 C' ~. a3 }4 F' K& M% if P == [] % 失败  R# n) M) V8 N- |8 p  l
if ~exist('P','var') % 用'var'限定下更好,不用也可以
5 j% H6 _3 ]& N6 P$ x% if nargin<2 % 通过,但我不喜欢: D$ w' t& n/ g  a' M' a
    % 使用参数P的默认值6 Y0 y! j, I# [6 G
else
) E5 }$ X& U8 @0 f    % 使用传入的参数P7 L1 q& o$ R9 n% g
end. W+ g$ d, k5 T# S) K6 V, K
% ……+ l* S# @7 i- }5 S6 v: p& y
% matlab6.5 测试通过, K3 ~+ w* c( d7 t' H
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 21:23 , Processed in 0.171875 second(s), 25 queries , Gzip On.

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

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

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