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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义). _* W8 a1 M' V1 t& M" A6 n- T- Q4 @
我试过2 V7 O/ a; Z/ D5 u' r9 f! ?
var==[]
7 N7 m4 f/ u; y# S& g5 h+ S: k. t- p* U3 j$ U. F; Z  m" j$ c) g
isempty(var)$ j, F! d- _( ~# D5 U% B
等都不通用。  L5 D* f3 G3 M$ n' H, r  p
* x4 q0 k0 G! M- [1 f
其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观. v- F' @+ p: H  a$ l
想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。
' N2 ]2 h8 g: P5 ^

该用户从未签到

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

点评

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

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:008 M) v& Z0 b. d  ?* j% v
我都是需要一个变量去上面定义一个

3 g8 a; ^) V) s7 t6 Y4 L) @你这个方法可以,不会乱
) U* v: u0 l( A: t  o$ e

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。+ s; d6 {- F! l$ C- Y6 y1 P% h. g

, G: y" q- y) }function out = fun (in, P)
( Y5 I  I! }* k& ]* O5 d7 l% if isempty(P) % 失败
: k6 p' R0 c5 K% if P == [] % 失败
0 W0 K% Q/ y* t0 q4 _if ~exist('P','var') % 用'var'限定下更好,不用也可以4 g7 x- s+ F2 _3 f/ ~: Y) m
% if nargin<2 % 通过,但我不喜欢
! I2 |1 M6 `. d' R9 @    % 使用参数P的默认值9 c$ B, Y3 T+ }- a/ Q; v
else# O* h, V  I; b8 c# Q
    % 使用传入的参数P
& z5 ?8 q% U% O  d1 \! rend/ V/ a$ V2 l* |6 w( c+ O
% ……
3 _; K1 W  o; u/ B! C0 h8 ~% matlab6.5 测试通过/ _. C0 N) |7 y5 D3 i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-29 12:35 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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