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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义)
" N: u5 p  P* A- m5 e1 a9 R我试过
- R6 K% |& l+ n" r! F' n% dvar==[]4 w% d8 P" O7 R5 Y: B5 `

' a1 w8 z4 P5 c  p$ Z, oisempty(var)
3 ^% |3 e8 A6 @0 b# l等都不通用。3 N' f: _: U( {

4 Y2 y6 k7 i" S. B0 W) @. z其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观( B& O/ a4 b0 B, m
想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。0 x( T8 I& t8 O1 c

该用户从未签到

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

点评

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

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:00
0 ?; x" P" [2 F& W3 M, g4 q我都是需要一个变量去上面定义一个

. z% k( b  J8 d& N. e你这个方法可以,不会乱% \! j) O7 P) L5 s+ G3 E

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。
6 w( u/ {1 n& k1 B
  q- m6 d* U1 D' Q- Gfunction out = fun (in, P)
- f! q( j- L# t# i2 u% if isempty(P) % 失败, n# G4 Y3 b% z$ z/ O9 Y3 [* T8 \
% if P == [] % 失败
3 I0 N# ~0 B5 }- [* O$ y5 X( e; qif ~exist('P','var') % 用'var'限定下更好,不用也可以) G* K3 q/ G6 g
% if nargin<2 % 通过,但我不喜欢
9 @% u9 u+ F6 M1 q9 d8 M    % 使用参数P的默认值
/ r) Y. ^* g& w0 b9 Relse
8 @: O0 I: O% n0 ^/ e7 _4 F2 u    % 使用传入的参数P5 n; g& Y/ @/ b5 {
end
6 W8 z# J/ X* J& R% ……
* E2 l- ?8 y$ @! B' L% matlab6.5 测试通过+ P  c; C* `; o7 V* R4 i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-4 14:33 , Processed in 0.109375 second(s), 27 queries , Gzip On.

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

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

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