matlab中怎样实现曲线的左右平移?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中怎样实现曲线的左右平移?相关的知识,希望对你有一定的参考价值。
实验得到的数据是1900点,用plot画图时横坐标范围是0~1900。我希望把曲线整体向右平移100点,横轴坐标范围是0~2000,在100~2000范围内有曲线。希望有经验者指点,拜托拜托~~
数据是实验得到的,所以不方便用 t 加减一个数来平移。另外我试过了xlim,axis这两个函数,都不能得到我想要的结果……
在100-2000的范围就是对应平移之后的t。平移曲线在数学上的定义就是移横轴。
t=0:0.0001:0.1;
y=sin(2*pi*30*t);
figure;
plot(t,y);
hold on;
plot(t-0.05,y,'r');
legend('平移前','平移后');
%such as:
%画出y=x^2的图像
x=-1:0.01:1;
y=x.^2;
plot(x,y);
hold on;
%向上平移一个单位;
y1=x.^2+ones(size(x));
plot(x,y1);
grid on;
函数图形中平移作用
一、通过简单的平移可以构造精美的图形。也就是花边,通常用于装饰,过程就是复制-平移-粘贴。
二、平移常与平行线有关,平移可以将一个角,一条线段,一个图形平移到另一个位置,是分散的条件集中到一个图形上,使问题得到解决。
三、把一个图形整体沿某一直线方向移动,会得到一个新的图形,新图形与原图形的形状和大小完全相同。
四、新图形中的每一点,都是由原图形中的某一点移动后得到的,这两个点是对应点。连接各组对应点的线段平行且相等(或在同一直线上)。
参考技术A在100-2000的范围就是对应平移之后的t。平移曲线在数学上的定义就是移横轴。
t=0:0.0001:0.1;
y=sin(2*pi*30*t);
figure;
plot(t,y);
hold on;
plot(t-0.05,y,'r');
legend('平移前','平移后');
%such as:
%画出y=x^2的图像
x=-1:0.01:1;
y=x.^2;
plot(x,y);
hold on;
%向上平移一个单位;
y1=x.^2+ones(size(x));
plot(x,y1);
grid on;
扩展资料:
函数图象平移的本质是函数图象位置的移动,函数图象本身没有发生变化,只是平移后的函数图象在二维坐标系中对应的坐标发生了变化。函数图象在平移的过程中,其平移具有针对性。
函数图象平移不外乎两种情况,即左、右平移和上、下平移。函数图象的左、右平移是针对横坐标 x 而言,函数图象的上、下平移是针对纵坐标 y 而言。当函数图象向左、右平移时,纵坐标保持不变,横坐标遵循左加右减的规则;当函数图象向上、下平移时,横坐标保持不变,纵坐标遵循上减下加的规则。
参考资料来源:百度百科-函数平移
参考技术B 在100-2000的范围就是对应平移之后的t吧。不太明白你想要什么啊。平移曲线在数学上的定义就是移横轴。不然就是取景范围,用axis,但你说又不能得到想要结果。实在不知道你想要的结果是什么呢。追问直接写plot(y),曲线第一个点的横坐标是0,最后一个点的横坐标是1900。
我想要的结果就是:曲线的第一个点的横坐标是100,最后一个点的横坐标是2000。
如果用axis([100 2000 -5 5]); 这样的话是只显示曲线的第100~1900个点,只是截取一部分显示,而且最后一个点的横坐标还是1900。
plot(100:2000,y)
本回答被提问者和网友采纳 参考技术C 例子:t=0:0.0001:0.1;
y=sin(2*pi*30*t);
figure;
plot(t,y);
hold on;
plot(t-0.05,y,'r');
legend('平移前','平移');
%subs用于符号函数平移例
syms t;
y=sin(2*pi*30*t);
y1=subs(y,t,t+0.05);
figure;
subplot(211);
ezplot(y,[0,0.1]);
grid;
subplot(212);
ezplot(y1,[0,0.1]);
grid;
MATLAB实现图像平移
I=rgb2gray(imread(‘jpeg.jpg‘)); %读入图片并转化为灰度图 figure,imshow(I); %建立窗口,显示灰度图I [r,c]=size(I); %计算灰度图的大小,r表示行,c表示列,即通过size函数将灰度图I的行数存在矩阵的r中,列数存在矩阵的c中,这样就知道灰度图的大小是r×c dst=zeros(r,c); %建立r×c的0矩阵(平移结果矩阵),初始化为零(黑色) dx=50; %平移的x方向的距离,这里是竖直方向 dy=80; %平移的y方向的距离,这里是水平方向 tras=[1 0 dx;0 1 dy;0 0 1]; %平移变换矩阵 for i=1:r for j=1:c temp=[i;j;1]; %灰度图I要平移变换的点,这里用矩阵表示 temp=tras*temp; %矩阵相乘,得到三行一列的矩阵temp,即平移后的矩阵 x=temp(1,1); %把矩阵temp的第一行第一列的元素给x y=temp(2,1); %把矩阵temp的第二行第一列的元素给y if(x>=1&&x<=r)&&(y>=1&&y<=c)%判断所变换后得到的点是否越界 dst(x,y)=I(i,j); %得到平移结果矩阵,点(x,y)是由点(i,j)平移而来的,有对应关系 end end end figure,imshow(uint8(dst));
以上是关于matlab中怎样实现曲线的左右平移?的主要内容,如果未能解决你的问题,请参考以下文章