Matlab 从另一个函数操作.m文件

Matlab 从另一个函数操作.m文件,matlab,function,signal-processing,modulation,Matlab,Function,Signal Processing,Modulation,所以我创建了一个.m文件,它有一个锯齿信号波,我正试图调制它。生成波形没有问题,但当我尝试获取.m文件并将其乘以“c”时,MATLAB返回原始波形。本具体方案采用双边带调制技术。第一部分是我的波形 function y = Signal % Signal Summary of this function goes here n = 23; % Number of Harmonics t = 0:.0002:n; % incremental value y = sawtooth(t,.2); %

所以我创建了一个.m文件,它有一个锯齿信号波,我正试图调制它。生成波形没有问题,但当我尝试获取.m文件并将其乘以“c”时,MATLAB返回原始波形。本具体方案采用双边带调制技术。第一部分是我的波形

function y = Signal
% Signal Summary of this function goes here
n = 23; % Number of Harmonics
t = 0:.0002:n; % incremental value
y = sawtooth(t,.2); % Wave creation
plot(t,y);
ylabel ('Amplitude');
xlabel ('Time');
title('Sawtooth Wave');

end
下一部分是我尝试调用.m文件的地方,将其乘以'c'并绘制结果函数

function [ DSBModulation ] = DSB( DSBModulation )
% Program for DSB-AM

n = 23; 
fc = 100;
t = 0:.0002:n;
sig = Signal; % this is how im trying to call the .m file so i can manipulate it

c = cos((2*pi*fc*t)); % using this as the modulating function
u(sig) = (sawtooth(t,.2)).*c; % Multiplying the signal
plot(t,u(sig)); %Displaying the Signal

end 

信号生成的结果存储在变量
sig
中,位于
DSB
函数的下一行:

sig = Signal;
因此,调制生成信号的进一步操作应使用该
sig
变量,而不是尝试使用
信号范围内定义的局部
锯齿
变量。然后您还应该注意,Matlab中的符号
u(sig)
表示向量
u
,该向量由
sig
中的值索引,而不是变量
sig
的函数
u
的数学概念

因此,为了计算调制信号向量,您将使用:

u = sig.*c; % Multiplying the signal 
最后,要在同一图形上绘制结果,您可以使用,或者使用分离(否则,您的第二个
plot
命令将删除第一个
plot
的图形):

这将为您提供以下结果:


信号生成的结果存储在变量
sig
中,位于
DSB
功能的下一行:

sig = Signal;
因此,调制生成信号的进一步操作应使用该
sig
变量,而不是尝试使用
信号范围内定义的局部
锯齿
变量。然后您还应该注意,Matlab中的符号
u(sig)
表示向量
u
,该向量由
sig
中的值索引,而不是变量
sig
的函数
u
的数学概念

因此,为了计算调制信号向量,您将使用:

u = sig.*c; % Multiplying the signal 
最后,要在同一图形上绘制结果,您可以使用,或者使用分离(否则,您的第二个
plot
命令将删除第一个
plot
的图形):

这将为您提供以下结果:


调用
信号
函数的位置在哪里?它应该在SWave所在的位置。我认为代码有错误。它不可执行对
信号
函数的调用在哪里?它应该在SWave所在的位置。我认为代码有错误。它不是可执行的