如何将.m文件中的数据用到另一个?

时间:2012-02-11 00:23:50

标签: matlab

在以下代码中,我需要 mydata 数组中的 1万样本。我不知道我从 mydata 中得到了什么。我是否必须增加 t 的范围才能实现这一目标。如何将 mydata 中的数据用于另一个.m文件以进行进一步处理。

t  = [ 1 : 1 : 500]; % Time Samples
f1=10000; % Input Signal Frequency
f2=20000;
f3=30000;
f4=f2+f3;
f5=f1+f3;
f6=f4+f2;
f7=f1+f6;
f8=45000;
f9=55000;
f10=35000;
mydata=[1:100000];
Fs = 100000; % Sampling Frequency
for i=1:100000
    if(i<=10000)
        mydata = sin(2*pi*f1/Fs*t);
    elseif((i>10000)&&(i<=20000))
       mydata=sin(2*pi*f2/Fs*t);
    elseif((i>20000)&&(i<=30000))
        mydata=sin(2*pi*f3/Fs*t);
    elseif((i>30000)&&(i<=40000))
        mydata=sin(2*pi*f4/Fs*t);
    elseif((i>40000)&&(i<=50000))
        mydata=sin(2*pi*f5/Fs*t);
    elseif((i>50000)&&(i<=60000))
        mydata=sin(2*pi*f6/Fs*t);
    elseif((i>60000)&&(i<=70000))
        mydata=sin(2*pi*f7/Fs*t);
    elseif((i>70000)&&(i<=80000))
        mydata=sin(2*pi*f8/Fs*t);
    elseif((i>80000)&&(i<=90000))
        mydata=sin(2*pi*f9/Fs*t);
    elseif((i>90000)&&(i<=100000))
        mydata=sin(2*pi*f10/Fs*t);
    end
end
stem(mydata)

2 个答案:

答案 0 :(得分:2)

你的代码做得不多;你知道吗,对吗? 如果我们不知道/了解你想要什么,我们就无法帮助..

以及其他任何人:1万卢比= 100 000(http://en.wikipedia.org/wiki/Lakh

编辑:您是否正在尝试生成包含来自不同正弦波的固定点数的100000个样本数组?又名:

[sin(1.0*pi*[0:10])  sin(2.0*pi*[0:10] sin(1.5*pi*[0:10] (etc) ]

edit2:您重复了之前的问题(已经回答过):How can I generate a sine wave with different frequencies using matlab?

答案 1 :(得分:0)

我无法理解你想用mydata做什么,请更具体一点,因为你的代码错了,我无法想象你想要创造什么。

对于将数据用于其他脚本的问题,一个简单的方法就是将mydata写入光盘,

在您的脚本上执行操作:

save path_for_mydata/file_name.mat mydata

另一个剧本:

load path_formydata/file_name.mat

另一种方法是创建一个函数,并将其作为参数传递。

最后,您可以运行第一个脚本,然后运行命令行上的第二个脚本,或者调用这两个脚本的第三个脚本,第一个脚本中的参数将保存在瞬态内存中,而第二个脚本运行