matlab中的m序列问题function [out] = ms1(stg,taps,inidata,n)out = zeros(1,2^stg-1); fpos = zeros(stg,1); fpos(taps) = 1; for l = 1:2^stg-1out(1,l) = inidata(stg); num = mod(inidata*fpos,2); inidata(2:stg) = inidata(1:stg-1); inidata(1) = num; en

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 04:37:27

matlab中的m序列问题function [out] = ms1(stg,taps,inidata,n)out = zeros(1,2^stg-1); fpos = zeros(stg,1); fpos(taps) = 1; for l = 1:2^stg-1out(1,l) = inidata(stg); num = mod(inidata*fpos,2); inidata(2:stg) = inidata(1:stg-1); inidata(1) = num; en
matlab中的m序列问题
function [out] = ms1(stg,taps,inidata,n)
out = zeros(1,2^stg-1);
fpos = zeros(stg,1);
fpos(taps) = 1;
for l = 1:2^stg-1
out(1,l) = inidata(stg);
num = mod(inidata*fpos,2);
inidata(2:stg) = inidata(1:stg-1);
inidata(1) = num;
end
这是我从网上抄的程序,为什么每次提问的时候都会出现Input argument "stg" is undefined.
Error in ==> mxulie at 2
out = zeros(1,2^stg-1);
这样的错误?

matlab中的m序列问题function [out] = ms1(stg,taps,inidata,n)out = zeros(1,2^stg-1); fpos = zeros(stg,1); fpos(taps) = 1; for l = 1:2^stg-1out(1,l) = inidata(stg); num = mod(inidata*fpos,2); inidata(2:stg) = inidata(1:stg-1); inidata(1) = num; en
你是不是贴到编辑器里就直接运行了?那肯定不行啊,这个是函数,是要在其他地方调用的,就和c语言里的主函数和子函数的关系一样,他本身只有形参,在其他地方调用的时候给他一个具体的参数stg, taps, inidata, n;stg是整数而且 ,例如:
第一步,先把这段function代码贴到编辑器里,保存,保存文件名要和函数名(ms1)相同
然后你可以在另一个编辑器里或主窗口里这样调用 ms1(stg, taps, inidata, n),这里面得四个参数你都给一个数或向量或矩阵
补充完毕