相关疑难解决方法(0)

如何动态生成mathematica代码?

我想在mma中制作一个迷你编程语言.从文本文件到包中的模块.理想情况下,我应该能够通过另一个包中的函数从Mathematica中生成包和模块.

问题:这可能吗?我正在寻找一个参考或一个例子来启动它.

编辑:例如:

想象一下具有n个整数类型寄存器的存储体.

说明是:

1 Z(n)

2 C(m,n)

3 J(m,n,q)

4 S(n)

每行都有一个地址.第一行1,第二行2等.Z(n)在寄存器n中存储0.寄存器n中的寄存器m的C(m,n)存储值.J(m,n,q)如果值寄存器m等于寄存器n的值则跳转到地址q的行.S(n)将n加1到寄存器n中的值.

然后给出两个工作程序P和QI想要生成连接程序P + Q.

然后给出两个工作程序P和QI想要在P之后生成替换Q.

最后,我想开始尝试递归...这个'迷你项目'的目的.

wolfram-mathematica

10
推荐指数
1
解决办法
1541
查看次数

你能在Matlab中执行延迟集(:= Mathematica)吗?

所以,我最近从Mathematica转换为Matlab,虽然Matlab具有Mathematica的大部分有用功能,但我无法弄清楚如何执行相当于Mathematica的延迟设置操作':=',它将变量赋值给a懒散的时尚.

例如,在Mathematica中:

y = 2;

x:= y;

y = 3;

X

将x的值赋予3,而我在Matlab中获得相同行为的唯一方法是:

y = 2;

x = @()(y);

y = 3;

X()

虽然在技术上回答了我的问题,但它是一个非常特别的工作,需要将x作为一个函数来处理.

那么有更自然的方法来做到这一点是Matlab吗?

编辑:

我的ad-hoc解决方案仅在y是句柄类的字段时才起作用,为了清楚起见,我把它留在了代码之外(它应该是someclass.y).我的问题的答案最好不会有这个限制,但如果确实如此,我仍然会接受.

matlab wolfram-mathematica lazy-evaluation delayed-execution

5
推荐指数
1
解决办法
684
查看次数