matlab可以用数组做参数吗

来源:百度知道 编辑:UC知道 时间:2024/05/28 13:17:35
function d=push(m,cnode,top)
top=top+1;
m{top}=cnode;
这里m是一个cell(1,20)的数组,为什么函数总是不能用呢,我想实现一个最简单的进栈运算

function d=push(m,cnode,top)
top=top+1;
m{top}=cnode;
d=m;%返回值
%%%%

>> p=push(m,3,5)

不能用是什么意思?是语法错误还是逻辑错误?
你的函数返回值d没有赋值,显然不对的.另外你的top不是全局变量,在函数里不能自动累积,每次都要从参数传进来,如果不小心越界就会出错
还有,你的cnode是什么?一个数还是一个cell?

m{top}=cnode; 应该是m(top)吧

可以