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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义)) e- B# N' w& x" Z, g( h: s2 q
我试过
0 U0 o0 q; T4 s( h+ Rvar==[]
' h4 y2 R1 b5 d8 I+ M3 m6 P3 ]- c
isempty(var)
% R4 z! s, g# \2 X8 o等都不通用。
9 r, `+ q4 }. U
* Y7 e' b* ~9 v7 [  `% i0 b& ?其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观
# h% A6 t2 v4 x  t想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。( N' ?  J/ F* |) K, z

该用户从未签到

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

点评

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

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:00* b. i2 D" g- \
我都是需要一个变量去上面定义一个
% H! n" y: a% s
你这个方法可以,不会乱7 ]; s8 Y9 c, E8 d" x1 T% |! R, ]

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。
! x- x9 R, X( ~7 A4 j' q  @8 s3 e; S! ^: t
function out = fun (in, P)
# x. Z: k2 S+ S8 ^: K8 I6 ?8 \, w# X% if isempty(P) % 失败% e* d: u1 |: _- `3 x1 J' y! P1 H
% if P == [] % 失败
8 j: @' R6 K$ @if ~exist('P','var') % 用'var'限定下更好,不用也可以3 b. j: F) u1 G& X0 j* h$ _" [
% if nargin<2 % 通过,但我不喜欢
- D; `9 |  l$ {    % 使用参数P的默认值
9 w' M+ m" e; ^1 E& r( Jelse3 g1 S) P; H! S' v7 s% S
    % 使用传入的参数P
0 v, ~2 N% C% }$ D4 send
6 _7 U; O5 n9 ~* w; {* E, A% ……6 l) e7 V9 \% y6 {$ N- r' Q+ J' _% j: x
% matlab6.5 测试通过- }" P  `. k6 H) W5 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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