下列代码如何解决:未定义与 'double' 类型的输入参数相对应的函数

%{ 本代码用于对四进制差分移相键控系统(4Q-DPSK)进行仿真, 绘制其信噪比与误码率的关系曲线 %} close all; %仿真码元数量 codeSize = 1e5; %载波频率 carrier_freq = 1e3; %载波采样率 SampleRate = 25*1e3; %载波采样点数 SamplePoint = 25;

%生成四种相位的载波 carrier = [carrierGen(carrier_freq,SampleRate,SamplePoint,0); carrierGen(carrier_freq,SampleRate,SamplePoint,pi/2); carrierGen(carrier_freq,SampleRate,SamplePoint,pi); carrierGen(carrier_freq,SampleRate,SamplePoint,3*pi/2)];

%生成用户码元 %sourceCode = [2 3 3 2 2]; sourceCode = getSourceCode(codeSize); %生成差分码 diffCode = myDiff(sourceCode); %调制 modu = modulate(diffCode,carrier,SamplePoint); send = modu;

snr_start = -30; snr_end = 10; snr_div = 0.1; snr_size = floor((snr_end - snr_start)/snr_div); errorRate = zeros(1,snr_size); parfor snr_index = 1:snr_size snr = snr_start + snr_div * snr_index; receive = awgn(send,snr,powerCnt(send)); %解调 delay = receive(SamplePoint+1:end); receive2 = receive(1:(length(diffCode)-1)*SamplePoint); phase = delay.*receive2; %判决 res = judge(phase,SamplePoint); errorRate(snr_index) = 1 - rightRateCnt(res,sourceCode); end plot(linspace(snr_start,snr_end,snr_size),errorRate); title('信噪比&误码率关系曲线'); xlabel('信噪比(dB)'); ylabel('误码率');

错误原因: 错误使用 main (line 35) 在 'rightRateCnt' 的工作进程上引发了 UndefinedFunction 错误。这可能是因为在这些工作进程上无法访问包含 'rightRateCnt' 的文件。使用 addAttachedFiles(pool, files) 指定要附加的必要文件。请参阅 'parallel.Pool/addAttachedFiles'的相关文 档以获取更多详细信息。

原因: 未定义与 'double' 类型的输入参数相对应的函数 'rightRateCnt'。

错误提示应该很清晰啊,函数参数类型不是double,你传递了double类型的参数