matlab里对一个电流信号采样,获得该信号的频率,该怎么实现呢谢谢呢!

matlab里对一个电流信号采样,获得该信号的频率,该怎么实现呢谢谢呢!,第1张

用快速傅里叶变换(fft)

频率提取(FFT)的Matlab实现,代码如下

clear

%编写骆遥

fs=1000

t=0:1/fs:06;

f1=100;

f2=300;

x=sin(2pif1t)+sin(2pif2t);

subplot(711)

plot(x);

title('f1(100Hz)\f2(300Hz)的正弦信号,初相0')

xlabel('序列(n)')

grid on

number=512

y=fft(x,number);

n=0:length(y)-1;

f=fsn/length(y);

subplot(713)

plot(f,abs(y));

title('f1\f2的正弦信号的FFT(512点)')

xlabel('频率Hz')

grid on

x=x+randn(1,length(x));

subplot(715)

plot(x);

title('原f1\f2的正弦信号(含随机噪声)')

xlabel('序列(n)')

grid on

y=fft(x,number);

n=0:length(y)-1;

f=fsn/length(y);

subplot(717)

plot(f,abs(y));

title('原f1\f2的正弦信号(含随机噪声)的FFT(512点)')

xlabel('频率Hz')

grid on

你好,如果是学生的话最好去官网购买,600多可以买到好几个工具箱和基本的配置了,>

1

打开图像

[FileName, FilePath]=uigetfile('jpg;png;tif;img;gif;','请选择图像数据');

str=[FilePath FileName];

Image=imread(str);

% 以对话框的形式选择打开一幅图像

2

设置参数

Gray=rgb2gray(Image);

R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3);

diff_R=0; diff_G=0; diff_B=0; % 设置红、绿、蓝三种颜色提取阈值(越大越严格)

3

红色提取

Image_R=Image;

RP_R=Image(:,:,1); RP_G=Image(:,:,2); RP_B=Image(:,:,3);

XYR=~((R-G)>diff_R&(R-B)>diff_R); % 提取红色条件是R分量与G、B分量差值大于设定

Mask=Gray(XYR); % 灰照片掩膜

RP_R(XYR)=Mask; RP_G(XYR)=Mask; RP_B(XYR)=Mask; % 使得非红色区域变为灰色

Image_R(:,:,1)=RP_R; Image_R(:,:,2)=RP_G; Image_R(:,:,3)=RP_B;

4

绿色提取

Image_G=Image;

GP_R=Image(:,:,1); GP_G=Image(:,:,2); GP_B=Image(:,:,3);

XYG=~((G-R)>diff_G&(G-B)>diff_G); % 提取绿色条件是G分量与R、B分量差值大于设定

Mask=Gray(XYG); % 灰照片掩膜

GP_R(XYG)=Mask; GP_G(XYG)=Mask; GP_B(XYG)=Mask; % 使得非绿色区域变为灰色

Image_G(:,:,1)=GP_R; Image_G(:,:,2)=GP_G; Image_G(:,:,3)=GP_B;

5

蓝色提取

Image_B=Image;

BP_R=Image(:,:,1);BP_G=Image(:,:,2);BP_B=Image(:,:,3);

XYB=~((B-R)>diff_B&(B-G)>diff_B); % 提取绿色条件是G分量与R、B分量差值大于设定

Mask_B=Gray(XYB); % 灰照片掩膜

BP_R(XYB)=Mask_B; BP_G(XYB)=Mask_B; BP_B(XYB)=Mask_B; % 使得非蓝色区域变为灰色

Image_B(:,:,1)=BP_R; Image_B(:,:,2)=BP_G; Image_B(:,:,3)=BP_B;

6

显示结果

subplot(2,2,1),imshow(Image); title('Image');

subplot(2,2,2),imshow(Image_R); title('Red Pass');

subplot(2,2,3),imshow(Image_G); title('Green Pass');

subplot(2,2,4),imshow(Image_B); title('Blue Pass');

>

尝试执行脚本错误的功能。

警告: MATLAB的似乎没有成功设置的搜索路径。为了避免

这个

警告说,下一次启动MATLAB的使用

>

首先你要提出一个自己的策略,一般来说就是一些规则的判断了,然后根据这些规则产生出signal,就是交易信号。 发出了交易信号,就要根据信号进行持仓或者平仓 *** 作。你要建立一个向量记录你每天的资产净值,或者说资产序列,其中的P&L 就是跟你持仓的股票的价格变化来决定的。。。

说白了 就是个模拟

clc;clear all;

file = input('要处理的数据文件名:','s');

path = cd();

s1 = dir(path); 

[m,n]=size(s1);

for i = 3:m

   if s1(i)isdir

       s2 = dir([path '/' s1(i)name]);

       [p,q]=size(s2);

       for j = 3:p

           csvfilename = [path '\' s1(i)name '\' s2(j)name '\' file];

           fprintf('%s\n',csvfilename);

           [d1,Y]=textread(csvfilename,'%d%f%[^\n]','delimiter',',');

           Y(find(d1<93000))=[]; %去掉093000之前的数据

           matfilename = [s2(j)name 'mat'];

           save(matfilename,'Y');

       end

   end

end

要处理的数据文件名:SH600000CSV

D:\MATLAB\working\2013\201301\20130102\SH600000CSV

D:\MATLAB\working\2013\201301\20130103\SH600000CSV

D:\MATLAB\working\2013\201301\20130104\SH600000CSV

D:\MATLAB\working\2013\201301\20130105\SH600000CSV

D:\MATLAB\working\2013\201301\20130122\SH600000CSV

D:\MATLAB\working\2013\201301\20130131\SH600000CSV

D:\MATLAB\working\2013\201302\20130203\SH600000CSV

D:\MATLAB\working\2013\201302\20130204\SH600000CSV

D:\MATLAB\working\2013\201302\20130205\SH600000CSV

D:\MATLAB\working\2013\201303\20130302\SH600000CSV

D:\MATLAB\working\2013\201303\20130312\SH600000CSV

D:\MATLAB\working\2013\201303\20130331\SH600000CSV

D:\MATLAB\working\2013\201304\20130403\SH600000CSV

D:\MATLAB\working\2013\201304\20130415\SH600000CSV

D:\MATLAB\working\2013\201305\20130503\SH600000CSV

D:\MATLAB\working\2013\201305\20130505\SH600000CSV

D:\MATLAB\working\2013\201306\20130602\SH600000CSV

D:\MATLAB\working\2013\201306\20130631\SH600000CSV

s1=tf(10,[1,0])

s2=tf(1,[01,1])

s3=tf(5,[0 1])

sol=s1s2s3

scl=tf(sol/(1+sol))

结果为

5 s^2 + 50 s

---------------------------------

001 s^4 + 02 s^3 + 6 s^2 + 50 s

以上就是关于matlab里对一个电流信号采样,获得该信号的频率,该怎么实现呢谢谢呢!全部的内容,包括:matlab里对一个电流信号采样,获得该信号的频率,该怎么实现呢谢谢呢!、如何在matlab官网获得密钥、MATLAB中怎样提取一幅图像的RGB信息,并且将结果输出到一个矩阵中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9379053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存