Scilab中load命令返回布尔值而非存储数据的问题咨询
解决Scilab中
load命令返回布尔值T而非数据的问题 别慌,这其实是Scilab里load命令的设计逻辑,不是异常!我来给你拆解清楚:
为什么会返回T?
Scilab的load命令有两种使用场景:
- 当你直接执行
load("rand_matrix.dat",'a')且不将结果赋值给变量时,它会把存储的变量a直接恢复到当前工作区,不会返回任何值; - 当你让它返回结果(比如你这里直接让它输出到
ans),它只会返回一个布尔值:T表示加载成功,F表示加载失败。但这时候变量a其实已经被悄悄加载到工作区里了!
验证方法
你可以在执行完load("rand_matrix.dat",'a')后,直接在命令行输入:
a
就能看到你之前保存的3x3随机矩阵了!
更灵活的用法
如果你想通过返回值获取加载的变量,可以用结构体接收结果:
loaded_data = load("rand_matrix.dat") a = loaded_data.a
这样loaded_data是一个结构体,里面包含了你保存的所有变量,你可以通过.操作符取出需要的变量。
内容的提问来源于stack exchange,提问作者mangesh
相关产品推荐
相关产品推荐

