Matlab 有关mupad过程中标识符的错误消息

Matlab 有关mupad过程中标识符的错误消息,matlab,mupad,Matlab,Mupad,我试图用mupad编写函数,但似乎我还不了解过程和标识符是如何工作的。每次我都会收到“错误:意外的‘标识符’”消息。第一个示例:我尝试将给定矩阵的第一行更改为[1…1]。我编写了以下代码: shibutz:=proc(B) begin cons:=Dom::Matrix(): l:=max(cons::matdim(B)); for k from 1 to l do B[1,k]:=1; end_for print(B); end_proc 第二个例子:另一个得到相同错误的代码是我写的一个过程

我试图用mupad编写函数,但似乎我还不了解过程和标识符是如何工作的。每次我都会收到“错误:意外的‘标识符’”消息。第一个示例:我尝试将给定矩阵的第一行更改为[1…1]。我编写了以下代码:

shibutz:=proc(B)
begin
cons:=Dom::Matrix():
l:=max(cons::matdim(B));
for k from 1 to l do
B[1,k]:=1;
end_for
print(B);
end_proc
第二个例子:另一个得到相同错误的代码是我写的一个过程,它验证了哥德巴赫定理,即每个偶数都是两个素数的和:

golbach:=proc(n)
begin
flag=bool(9<8);
theprimes:=select([$2..n-1],isprime);
for k from 1 to nops(theprimes) do
if(isprime(n-k)=TRUE) then
flag=bool(1>0);
end_if
end_for
return (flag);
end_proc
golbach:=proc(n)
开始
flag=bool(90);
结束(如有)
结束
返回(标志);
结束程序

我做错了什么?穆帕德没有想到的是什么?

我刚刚得到;在循环的末尾(必须是
end\u;
),而且我忘了
=
之前(所以它必须是
:=
,而不是
=
)。很抱歉提出了一个愚蠢的问题。

您在调试方面做了哪些尝试?我自己没有使用过mupad,但是当我尝试您的第一段代码(
shibutz
)时,我在
第8行中遇到了一个错误,这是您的
print
语句。我知道
print
本身应该可以工作,所以我假设循环中出现了问题。
cons
l
的值是您期望的值吗?