clear;
clf;
fs = 100 ; N = 1024 ;
A=20;B=30;C=0.38;
n=0:N-1; t=n/fs;
x=A*sin(2*pi*B*t+C);
figure(1);
plot(t, x );
y=fft(x,N);
yy=abs(y);
yy=yy*2/N;
f=n*fs/N;
figure(2);
plot(f, yy );
xlabel('pinlv');
ylabel('zhenfu');
title('tu1: fs=100, N=1024');
grid on;
%
%
%
%
%
%
%
%
%
%
%
%
%{
clear;
clf;
fs = 100 ; N = 1024 ;
A=20;B=30;C=0.38;
n=0:N-1; t=n/fs;
x=A*sin(2*pi*B*t+C)+ 2*A*sin(2*pi*1.5*B*t+2.5*C) ;
y=fft(x,N);
yy=abs(y);
yy=yy*2/N;
f=n*fs/N;
%subplot(3,3,1), plot(f, yy );
plot(f, yy );
xlabel('pinlv');
ylabel('zhenfu');
title('tu1: fs=100, N=1024');
grid on;
%}
clear;
clf;
fs = 100 ; N = 1024 ;
A=20;B=30;C=0.38;
n=0:N-1; t=n/fs;
x=A*sin(2*pi*B*t+C)+ 28*randn(size(t)) ;
y=fft(x,N);
yy=abs(y);
yy=yy*2/N;
f=n*fs/N;
%subplot(3,3,1), plot(f, yy );
plot(f( 1:N/2.56), yy( 1:N/2.56) );
xlabel('pinlv');
ylabel('zhenfu');
title('tu1: fs=100, N=1024 involve zaosheng');
grid on;
====================================
替换 符号
matlab中subs()是符号计算函数,表示将符号表达式中的某些符号变量替换为指定的新的变量,常用调用方式为:
subs(S,OLD,NEW) 表示将符号表达式S中的符号变量OLD替换为新的值NEW。
下面具体演示4种不同形式的OLD和NEW的调用效果:
>> syms x y z
>> S = x^2 + y^2
S =
x^2 + y^2
>> subs( S , x , 1 )
ans =
y^2 + 1
>> subs( S , x , z )
ans =
y^2 + z^2
>> subs( S , {x, y} ,{1, z} )
ans =
z^2 + 1
>> subs( S , x , [ 1 2 ; 3 4 ])
ans =
[ y^2 + 1, y^2 + 4]
[ y^2 + 9, y^2 + 16]
>>
======================================
>> syms x y
>> f = ( x - y )/ (x^2 + y^2 + 2 )
f =
(x - y)/(x^2 + y^2 + 2)
>> fx = diff(f , x)
fx =
1/(x^2 + y^2 + 2) - (2*x*(x - y))/(x^2 + y^2 + 2)^2
>> fx = diff(f , y)
fx =
- 1/(x^2 + y^2 + 2) - (2*y*(x - y))/(x^2 + y^2 + 2)^2
>> fx = diff(f , x)
fx =
1/(x^2 + y^2 + 2) - (2*x*(x - y))/(x^2 + y^2 + 2)^2
>> fy = diff(f , y)
fy =
- 1/(x^2 + y^2 + 2) - (2*y*(x - y))/(x^2 + y^2 + 2)^2
>> g = [ fx fy]
g =
[ 1/(x^2 + y^2 + 2) - (2*x*(x - y))/(x^2 + y^2 + 2)^2, - 1/(x^2 + y^2 + 2) - (2*y*(x - y))/(x^2 + y^2 + 2)^2]
>> g=subs(g)
g =
[ 1/(x^2 + y^2 + 2) - (2*x*(x - y))/(x^2 + y^2 + 2)^2, - 1/(x^2 + y^2 + 2) - (2*y*(x - y))/(x^2 + y^2 + 2)^2]
>> x = -3 ; y = -2 ;
>> g=subs(g)
g =
[ 1/25, -19/225]
>>