matlab 方程的重根问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:28:19
举一个简单例子
sym x;
f=(‘sin(x)=0’);
solve(f)
出来的结果只有ans=0?那其他的x=2n*pi 怎么才能出来呢?
不要拿网上的copy

解不出来的,因为matlab中sin(2n*pi)不为零,是一个极限小逼近零的值~~

wp=0.2*pi;
ws=0.3*pi;
Rp=1;
As=15;

[N,wn]=cheb1ord(wp,ws,Rp,As,'s')%计算N值
[B,A]=cheby1(N,Rp,wn,'s');%计算模拟滤波器的系统函数的分子,分母多项式系数
[Ha,w]=freqs(B,A);%计算模拟滤波器的幅频特性
Hb=20*log10(abs(Ha));
w1=w/pi;

subplot(2,3,1);
plot(w1,Hb);axis([0 1 -30 10]);

[ha,x,t]=impulse(B,A)%计算模拟滤波器的单位冲击响应

subplot(2,3,2);
plot(t,ha)

fs=50
[bz,az]=impinvar(B,A)%用冲击响应不变法计算数字滤波器系数
[Hz,w]=freqz(bz,az)%计算数字滤波器的幅频特性

subplot(2,3,3);
w2=w/pi;
plot(w2,20*log10(abs(Hz)))
axis([0 1 -30 10]);
xlabel('{\omega}(rad)');
ylabel('幅度(dB)');
title('低通');

[hn,t]=impz(bz,az,fs)%计算数字滤波器的单位抽样响应
subplot(2,3,4);
stem(hn)

[num,nun]=iirlp2hp(bz,az,0.2,0.2); %转高通
[hw,wd]=freqz(num,nun);
subplot(235)
plot(wd/pi,20*log10(abs(hw)));axis([0 1 -80 10]);grid on;