gpt4 book ai didi

matlab - 运算符可以存储在变量中吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:47 25 4
gpt4 key购买 nike

这是我正在思考的一个思想例子:

test = 'x > 0';

while str2func(test)
Do your thing
x=x-1;
end

是否可以像这样将整个逻辑运算存储在一个变量中?

str2func 当然会在这里中断。如果它可能的话,这个函数很可能是别的东西。而且我只在 test 变量内容中添加了撇号,因为我想不出还有什么存储方法。

我可以看到它在向函数等发送参数时很有用。但大多数时候我只是想知道,因为我以前从未见过用任何编程语言完成它。

最佳答案

例如,您可以将函数的文本表示存储在变量中并对其求值

test = 'x > 0';
eval(test)

应根据 x 的值得出 1 或 0。

但您不应该使用eval,因为这里经常提到的原因让我懒得重复。相反,您应该熟悉函数和函数句柄。例如

test =  @(x)x>0

使 test 成为函数的句柄,该函数测试其参数是否大于 0。

与编译语言相反,许多在运行时解释的语言具有相似的功能。

关于matlab - 运算符可以存储在变量中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com