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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
引用未定义的变量会出错,有没有办法在引用之前判断它是否已经定义呢,(指matlab的自动定义)( a8 D% m  V2 s
我试过% c% v1 n$ u7 W5 ~  z, N6 a3 j+ R
var==[]+ l" e" [3 h7 I9 R+ j

# ]. l  w* o- l( jisempty(var), f$ x" T0 `; ~' m, x
等都不通用。
7 O5 ?' r. N  X7 h& R, `
- O5 n" _% T) m8 _: v其实我主要是想用在函数变参数上,感觉用nargin判断参数个数不直观
' O) E* P! ]) O7 q/ w5 ^7 S想用另一种办法直接判断某个参数是否已定义,若无定义,则给它默认值。2 o7 G/ [/ J& y$ J

该用户从未签到

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

点评

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

该用户从未签到

3#
发表于 2021-6-24 15:01 | 只看该作者
NNNei256 发表于 2021-6-24 15:00: L/ D2 |9 Z4 f; F! w) {
我都是需要一个变量去上面定义一个
- O  [2 h9 y  L- g# C; i
你这个方法可以,不会乱
! f1 b6 r: Q5 p8 q; u% [/ G

该用户从未签到

4#
发表于 2021-6-24 15:03 | 只看该作者
可以试试exist,因为isempty是判断一个变量是否为空,但是前提是这个变量是存在的。( [( ?( M% m4 [4 _+ d
5 W8 Q* b# i* }% a
function out = fun (in, P)
' ~' o7 g3 g7 l% Z% if isempty(P) % 失败/ E9 U& K' e) M% k8 }' V
% if P == [] % 失败" [7 U, ?1 F7 f0 x5 M: b
if ~exist('P','var') % 用'var'限定下更好,不用也可以# a) }7 ?; C$ Q! C* D7 Q6 t
% if nargin<2 % 通过,但我不喜欢  |# g1 Q8 r# g% c- E* \( |
    % 使用参数P的默认值* d0 E7 \1 h- s( g: v7 V1 \  ~9 ^
else
$ D. t: U- {! S  @) g; s2 S    % 使用传入的参数P
+ F- n. Z1 M' M# e) c& U  kend  y( j, p9 N( o  m' Q0 U' g
% ……
0 {* V# U8 q1 R: |* v+ C% matlab6.5 测试通过5 \# l2 B- n! P2 [/ D
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 04:46 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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