how to set the amplitude of the exponential sequence to 1
2 次查看(过去 30 天)
显示 更早的评论
i have this code how to make the maximum amplitude to be 1
my code
N=1000; %Number of samples A=1; t=0:100:N; x=A*exp(t); figure(1) plot(t,x);
0 个评论
回答(2 个)
Stephan
2018-11-2
编辑:Stephan
2018-11-2
Hi,
you could use a normalization like:
N=10; %Number of samples
A=0.0001;
t=0:0.1:N;
x=A.*exp(t);
x1 = x./max(x);
figure(1)
plot(t,x,t,x1);
grid on
I changed your values a bit, because your code produces numbers too big to handle for Matlab and due to this become Inf - in this example you see the difference between the normalized one (red) and the original (blue).
Best regards
Stephan
2 个评论
Stephan
2018-11-2
编辑:Stephan
2018-11-2
could you explain a little more please? The number of samples is given by this line:
t=0:0.1:N; % sampling rate = 10
for N=10 and 0.1 it will have 101 samples (0 is also a sample, so you get 100+1). But if you take huge values for N you produce incredibly huge numbers (this is math - you cant change this fact...). So the second way to get many samples is to make a smaller step size which is the same as increase the sampling rate to a higher frequency. If you use:
t=0:0.001:N; % sampling rate = 1000
you will get a big number of samples, but with values that are possible to handle for 64 bit machines.
It is important to understand that N is not the number of samples - if you want to know the number of samples use:
numel(t)
madhan ravi
2018-11-2
编辑:madhan ravi
2018-11-2
maybe you are looking for exponential decay:
N=1000;
A=1;
t=0:100:N;
x=A*exp(-t);
figure(1)
plot(t,x);
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!