MATLAB问题 告诉了你一个传递函数,怎么用matlab画出图来呢?

MATLAB问题 告诉了你一个传递函数,怎么用matlab画出图来呢?,第1张

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

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/langman/3489877.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-15
下一篇2023-08-15

发表评论

登录后才能评论

评论列表(0条)

    保存