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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义)
. r  X" M& }+ y8 q7 g- w5 {我试过0 r3 r& p0 t& i  X5 R
var==[]
9 t! ^5 E  i8 y4 k  y  d! b
! F5 S$ V5 A: q8 Y7 iisempty(var): \+ y$ i7 g: t  i: ?
等都不通用。9 X: V9 F/ n9 w; g' \# u+ @, P: x

! K5 e4 w6 J0 \; b- m7 }其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观' F! H" G. r4 ~( b
想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。
  w8 O' q7 ?, {: \  N

该用户从未签到

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

点评

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

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:00+ w% Z0 G8 ]0 ?9 X* t; t
我都是需要一个变量去上面定义一个

! G- S+ J% D9 g你这个方法可以,不会乱
0 N' X  f  b  A. U

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。0 L$ x4 v* t' X2 d2 v; Q- L! G8 k
7 ^( |: x5 X) T7 k; j
function out = fun (in, P)9 o" n9 s  t& ^: {
% if isempty(P) % 失败
! ^' E8 N/ j, ~3 }% if P == [] % 失败
4 \7 |6 Q1 ?3 D* r. bif ~exist('P','var') % 用'var'限定下更好,不用也可以
5 U0 |9 B& @# |' L& G1 r3 r% if nargin<2 % 通过,但我不喜欢
& `' I6 _0 T8 {5 I    % 使用参数P的默认值: e% f( F9 N- K! J/ K+ m. h
else
) Y; J- W- R/ ^+ k, J; S    % 使用传入的参数P& u: m# ~9 S1 C9 X' B4 {4 V. t" x
end
' z# ^  G1 n" H3 S7 h% ……  y! Z% @5 p3 m; h/ ?& F- L
% matlab6.5 测试通过
; o% s* e  m+ Y$ p" ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-1 01:21 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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