f(x)=根号(x^2+1) x=1,2,3。
1、MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
2、MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组 *** 作以及建模动态仿真等。
3、下面的MATLAB语句求出符号函数的导数在某一点的值:
>> syms x L
vpa(subs(diff(sin(x)),x,L))
ans =
cos(L)
>> syms x
vpa(subs(diff(sin(x)),x,5))
ans =
028366218546322624627364916705119
>> syms x
subs(diff(sin(x)),x,5)
ans =
02837
vpa(式子, 变量 , 默认值20)
vpa是用来设置结果精度的,可以不需要。
符号函数就好像变量表达式 你可以代入值进行 *** 作 比如syms x ;y=x+3; 你可以求x等于任意值时对应y的值,它代表x和y 的这样一个等式关系 但是字符串不能 字符串的值就是这个字符串本身 如a=‘xy’ a的值是xy 这是我的理解
== TA α n=0:50; %定义序列的长度是 50 A=1; %设置信号有关的参数 a=04; T=1; %采样率 w0=20734; x=Aexp(-anT)sin(w0nT); %pi 是 MATLAB 定义的π,信号乘可采用“ ” close all %清除已经绘制的 x(n)图形 subplot(3,1,1);stem(x); %绘制 x(n)的图形 title(‘理想采样信号序列 ’); k=-25:25; W=(pi/125)k; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱 ’) 2、单位脉冲序列 在 MatLab 中,这一函数可以用 zeros 函数实现: n=1:50; %定义序列的长度是 50 x=zeros(1,50); %注意: MATLAB 中数组下标从 1 开始 x(1)=1; close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列 ’); k=-25:25; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱 ’) 3、矩形序列 n=1:50 x=sign(sign(10-n)+1); close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列 ’); k=-25:25; X=x(exp(-jpi/25))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱 ’) 4、特定冲击串: )3()2(52)1(52)()( +++= nnnnnx δδδδ n=1:50; %定义序列的长度是 50 x=zeros(1,50); %注意: MATLAB 中数组下标从 1 开始 x(1)=1;x(2)=25;x(3)=25;x(4)=1; close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列 ’); k=-25:25; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱 ’) 5、卷积计算: ∑ +∞ ∞= == m mnhmxnhnxny )()()()()( 在 MATLAB 中。提供了卷积函数 conv,即 y=conv(x,h),调用十分方便。例如: 系统: )3()2(52)1(52)()( +++= nnnnnh b δδδδ 信号: 500),sin()( 0 <≤= nnTAetx nT a α n=1:50; %定义序列的长度是 50 hb=zeros(1,50); %注意: MATLAB 中数组下标从 1 开始 hb(1)=1;hb(2)=25;hb(3)=25;hb(4)=1; close all; subplot(3,1,1);stem(hb);title(‘系统 hb[n]’); m=1:50; %定义序列的长度是 50 A=444128; %设置信号有关的参数 a=50sqrt(20)pi; T=0001; %采样率 w0=50sqrt(20)pi; x=Aexp(-amT)sin(w0mT); %pi 是 MATLAB 定义的π,信号乘可采用“ ” subplot(3,1,2);stem(x);title(‘输入信号 x[n]’); y=conv(x,hb); subplot(3,1,3);stem(y);title(‘输出信号 y[n]’); 6、卷积定律验证 k=-25:25; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,2,1);stem(magX);title(‘输入信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,2,2);stem(angX) ; title (‘输入信号的相位谱 ’) Hb=hb(exp(-jpi/125))^(n’k); magHb=abs(Hb); %绘制 hb(n)的幅度谱 subplot(3,2,3);stem(magHb);title(‘系统响应的幅度谱 ’); angHb=angle(Hb); %绘制 hb(n)的相位谱 subplot(3,2,4);stem(angHb) ; title (‘系统响应的相位谱 ’) n=1:99; k=1:99; Y=y(exp(-jpi/125))^(n’k); magY=abs(Y); %绘制 y(n)的幅度谱 subplot(3,2,5);stem(magY);title(‘输出信号的幅度谱 ’); angY=angle(Y); %绘制 y(n)的相位谱 subplot(3,2,6);stem(angY) ; title (‘输出信号的相位谱 ’) %以下将验证的结果显示 XHb=XHb; Subplot(2,1,1);stem(abs(XHb));title(‘x(n)的幅度谱与 hb(n)幅度谱相乘 ’); Subplot(2,1,2);stem(abs(Y);title(‘y(n)的幅度谱 ’); axis([0,60,0,8000])
函数功能:
在MATLAB中,该函数用于创建符号数字、符号变量、符号对象。符号对象的类型是sym,可以通过class(S)来验证,这里S是一个符号对象。符号变量的优点是,使用符号变量运算得到的只是一个解析解;
例如,在符号变量运算过程中pi就用pi表示,而不是具体的近似数值314或314159。使用符号变量进行运算能最大限度减少运算过程中因舍入造成的误差。符号变量也便于进行运算过程的演示。
语法格式:
S = sym(A)将非符号对象(如,数字,表达式,变量等)A转换为符号对象,并存储在符号变量S中。
最简便的方法使用global变量,比如函数fun1中的变量a要在函数fun2中使用,可以这么做,在fun1中加上这么一句globala,注意,在fun2中,也要加上globala,这样就可以了。此外还有userdata方法,setappdata\getappdata方法,handles\guidata方法,save\load方法,evalin\assignin方法,各有自己的特点和使用方法,具体使用方法请百度之!
符号函数不是绝对可积的函数,不存在常义下的傅里叶变换。在考虑广义函数的条件下是可求的,但不能用定义式F(jw)=∫f(t)e^{-jwt}dt来求,可以这样求:
首先已知F{δ(t)}=1,且2δ(t)=d(sgn(t))/dt。根据频域微分定理F{f'(t)}=jwF{f(t)},有F{2δ(t)}=jwF{sgn(t)},得到F{sgn(t)}=2/(jw)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)