1.matlab中radon函数是怎样写的
r=radon(im,30);%im是图像矩阵
解决方法如下:
Radon 变换是平行束对图像的线积分,根据各个角度得到的一系列投影值逆radon重建得到原始图像。
变换角度默认是逆时针,r=radon(im,30);得到的是一维数组。
平行束与X轴夹角为30度时,距原点不同距离的投影线(平行束)上对图像的线积分。[R,Xp] = RADON(。) XP对应平行束的位置。
Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平面内的点映射到AB平面上,那么原来在XY平面上的一条直线的所有的点在AB平面上都位于同一点。
记录AB平面上的点的积累厚度,便可知XY平面上的线的存在性。这便是大家所公认的Radon变换的实质所在。
在一个平面内沿与原点的距离为d,方向角为θ的直线对原函数f(x,y)做线积分,得到的像函数F(d,θ)就是函数f的Radon变换。这是二维的情况。简单来说,Radon变换就是求投影(projection)的理论方法。应用于CT中。
2.matlab怎么写函数文件~
1、首先在电脑中打开baimatlab软件。
2、在打开的页面中点击“du主页”栏目下的“新建”按钮。zhi
3、然后在打开的下拉菜单中选择“函数”选项。
4、即可打开函数编辑器,在其中dao可以进行函数的输入设内置。
5、之后可以点击“编辑器”选项卡中的“保存”按钮将编写容的函数文件保存。
3.matlab中s函数怎么写
所谓s函数是system Function的简称,用s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操作, 还可以操作windows API等。
先介绍一下simulink的仿真过程(以便理解s函数),simulink的仿真有两个阶段: 一个为初始化,这个阶段主要是设置一些参数,像系统的输入输出个数、状态初值、采样时间等;第二个阶段就是运行阶段,这个阶段里要进行计算输出、更新离散状态、计算连续状态等等,这个阶段需要反复运行,直至结束.可以使用模板文件:sfuntmp1.m来写s函数。
4.matlab 中的freqz函数怎么用
我当时学时也很困惑怎么用,后来我做的尝试,我给你一个例子看看吧,是我学习时自己写的 设计一个高通滤波器,并检验它的性能 采样率为10kHZ 阻带边缘为1.5Khz,衰减为40bB 通带边缘为2kHz,波纹为3Db >>Fs=1e4; >>fs=1.5e3; >>fp=2e3; >>As=40; >>Rp=3; >>wp=2*fp/Fs; >>ws=2*fs/Fs; >>[N,wn]=cheb2ord(wp,ws,Rp,As); >>[b,a]=cheby2(N,As,wn,'high'); >>[db,mag,pha,grd,w]=freqz_m(b,a); >> subplot(2,2,1);plot(w/pi,mag); >> axis([0,1,0,1]); >> setX([0 0.3 0.4 1]); >>setY([0.01 0.7279 1]) >> title('Magnitude Response'); >> subplot(2,2,2);plot(w/pi,db); >> axis([0 1 -70 0]) >> setX([0 0.3 0.4 1]) >> setY([-40 -2.7589]) >> title('Magnitude Response in dB'); 然后给你一个信号x=cos(0.2*pi*n); >>n=0:200; >>x=cos(0.6*pi*n); >>y=filter(b,a,x); >>subplot(2,2,3);plot(n,x); >>subplot(2,2,4);plot(n,y); >>x1=fft(x,201); >>x11=abs(x1); >>subplot(2,2,1);stem(n,x11); >>y1=fft(y,201); >>y11=abs(y1); >>subplot(2,2,2);stem(n,y11); >>setX([0 60 140 201]) >>title('FFT of y'); >>subplot(2,2,1);stem(n,x11); >>setX([0 60 140 201]) >>title('FFT of x'); >>g=x11-y11; >>subplot(2,2,3);stem(n,g); 你运行一下,就可以看到结果,刚好把此信号滤掉 给你一个设计思路,你改变截止频率和阻带衰减就可以了 >> %假设截止频率为W,我随便定义一下 >> %比如wp=0.3*pi;ws=0.4*pi >> wp=0.3*pi;ws=0.4*pi; >> %阻带衰减为50分贝 >> %通带波纹为0.2分贝 >> As=50;Rp=0.2; >> %那么可以用两个函数得到系数a,b >> [N,wn]=buttord(wp/pi,ws/pi,Rp,As); >> [b,a]=butter(N,wn); >> %该滤波器就是从截止频率到无穷远都不响应。
5.在MATLAB中Bessel函数怎么表示计算
MATLAB提供了计算贝塞尔函数的函数,具体包括:
besselj - 第一类贝塞尔函数,或简称贝塞尔函数;
bessely - 第二类贝塞尔函数,又称诺伊曼函数(Neumann function);
besseli - 第一类修正贝塞尔函数;
besselk - 第二类修正贝塞尔函数;
besselh - 第三类贝塞尔函数,又称汉克尔函数(Hankel function)。
这几个函数的调用语法基本相同,例如
J = besselj(nu,Z)
J = besselj(nu,Z,1)
[J,ierr] = besselj(nu,Z)
其中,nu为贝塞尔函数的阶数,Z为函数自变量。阶数必须为实数,但Z可以是复数。
值得一提的是,上述函数是MATLAB基本模块(也就是说不需要任何附加的工具箱)提供的特殊函数,采用数值方法计算;而符号数学工具箱则提供了第一和第二类的4个贝塞尔函数,名称和调用方式都与MATLAB基本系统的4个函数完全一致,但支持微分、积分等符号运算。
转载请注明出处育才学习网 » matlab限幅函数怎么写