zoukankan      html  css  js  c++  java
  • Matlab编程实例(3) 函数向左或向右平移N点 左移右移

     

    %函数移动
    close all;
    clear all;
    dir=input('请输入平移方向,“1”为向左,“2”为向右');
    if dir~=1&&dir~=2;%输入控制
       error('您的输入有误!');
    end;
    step=input('请输入平移步数');
    Samp=200;  %设置信号的采样精度
    A=10;%信号幅值
    na=1;%噪声放大系数
    w=1;
    p=0;
    t = linspace(0,6*pi/w,Samp); %创建函数向量
    f=A*sin(w*t+p)+na*randn(1,Samp);%构造一个标准函数
    %函数平移
    y=rotate(f,dir,step);
    plot(t,f,'b');
    hold on;
    plot(t,y,'r');
     
     
    ///////rotate.m/////////
    function y=rotate(f,dir,step);
    %函数平移 f为目标函数 dir为平移方向 向左为1 向右为2 step为平移步数
    len=length(f);%取得f长度
    %当向左平移时
    if dir == 1 ;
     for n=0:1:step;
      temp=f(len);%将最后一个元素取出保护
       for  m=1:1:len-1%所有点向后移动一位
       f(len-m+1)=f(len-m); 
       f(1)=temp;%将最后一点放入第一点
     end
    end
    end
    %当向右平移时
    if dir == 2 ;
     for n=0:1:step;
      temp=f(1);%将最后一个元素取出保护
       for  m=2:1:len%所有点向后移动一位
       f(m-1)=f(m); 
       f(len)=temp;%将最后一点放入第一点
     end
    end
    end
    y=f;%代回
     
  • 相关阅读:
    JAVA进阶17
    JAVA进阶16
    Map in C++ Standard Template Library (STL)
    数据结构入门
    Day 17:Python 对象的相等性比较
    cmd of windows
    Nmap扫描工具
    Day16: python生产列表的使用方法
    Day 15:一些数据分析、机器学习和深度学习包和框架&&入门案例
    端口
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/5332588.html
Copyright © 2011-2022 走看看