1在simulink里面搭建模型。拖入传递函数模块,激励模块以及scope等等,然后点击仿真,scope输出结果。
2在matlab的编程环境里编程,利用step ,impulse等函数画出响应图像。比如多输入多输出传递函数的阶跃响应编程如下:参考matlab help“step”
a = [-05572 -07814;07814 0];
b = [1 -1;0 2];
c = [19691 64493];
sys = ss(a,b,c,0);
step(sys)
这个问题很难回答啊,因为,不一定我能说到你想听的那个点上,也不一定你能理解我所说的。MATLAB应用范围太广,理工科的各个专业基本上都能用到,术业有专攻嘛
大家都有用专业软件,而这些专业软件都是编程来实现的,MATLAB也是这些编程语言之一。而且由于其内部丰富的库函数和工具箱,高效的解决速度不是其他语言能比拟的。
可以这么说,你在书上能找到的公式或算法,都可以在MATLAB里编程自动计算。但有些公式和算法,matlab中的库函数或工具箱已经给你实现了,此时就只管调用即可,由此便节省很多时间。
既然题目这么要求,我就尽量简单讲讲我正在做的。我的问题就是一个结构随机振动,可以通过测量得到这个振动系统的输出及系统特性,想得到的是系统的输入情况。(可以简单理解为数学上的求反函数吧!)
首先,测量得到的输出是时间的函数,由于测量过程中的各种干扰,需要对这个信号进行去噪处理。此时便必须设计一个设计IIR滤波器或FIR滤波器,用到的是MATLAB 数字信号处理工具箱(DSP System Toolbox),把时域上的信号在频域上处理滤波,具体用到的函数有fft、freqz、fir1等等。
然后,用已知的输入来测量系统特性,此时输入、输出均已知,但得到的数据却是离散的。要想得到之间的函数关系式,就只能借助与最小二乘法来拟合公式,此时便需要用到曲线拟合工具箱(Curve Fitting Toolbox),具体的函数是polyfit、lsqcurvefit等等。
当然,实现这个目标是需要通过复杂的编程来得到的。对于你想解决的问题,同样可以有针对性的学习MATLAB相应工具箱及函数,通过加入一些程序语言组合起来,以达到你的目的。
i=imread('lenabmp');
figure;imshow(i);
G=fft2(double(i));
FG=abs(fftshift(G));
PG=angle(G);
IFG=ifft2(FG);
IPG=ifft2(exp(jPG));
figure;
subplot(2,2,1);
imshow(log(FG+1),[])%显示频谱幅度
title('图像频谱幅度');
subplot(2,2,2);
imshow(angle(fftshift(G)),[])
title('图像相位');
%---------------------------
subplot(2,2,3);
imshow(log(1+abs(IFG)),[]);
title('图像频谱幅度的逆变换');
subplot(2,2,4);
imshow(IPG,[]);
title('图像相位的逆变换');
%---------------------------
M=ifft2(abs(G)exp(jPG));
figure;imshow(M,[]);
编译命令:
mcc
-m (generates a stand-alone executable using C)生成基于C的独立可执行文件
多个可以一次完成如下
mcc -m 1 2 3
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)