文档视界 最新最全的文档下载
当前位置:文档视界 › 矩阵卷积(matlab 函数)

矩阵卷积(matlab 函数)

矩阵卷积(matlab 函数)
矩阵卷积(matlab 函数)

function [ hp] = juanji( f,g )

%此函数只为计算两任意二维矩阵的卷积

%命令格式:C=juanji(A,B) C为A B的卷积;

%若A为m*n矩阵,B为p*q矩阵,则C为(m+p-1)*(n+q-1)矩阵;

[m1 n1]=size(f);

[m2 n2]=size(g);

M=m1+m2-1;

N=n1+n2-1;

fp=zeros(M,N);

gp=zeros(M,N);

fp(1:m1,1:n1)=f;

gp(1:m2,1:n2)=g;

Fp=reshape(fp',[M*N 1]); %fp必须转置 reshape 把原矩阵的各列连接为列矩阵for i=1:M

G(:,:,i)=gallery('circul',gp(i,:)); %生成循环矩阵

end

temp=gallery('circul',1:M)';

for i=1:M

for j=1:M

a1=(i-1)*N+1;

a2=i*N;

b1=(j-1)*N+1;

b2=j*N;

c=temp(i,j);

Gb(a1:a2,b1:b2)=G(:,:,temp(i,j))';

end

end

Hp=Gb*Fp;

hp=reshape(Hp,[M N]);

end

matlab,isrgb函数源代码

function y = isrgb(x) %ISRGB Return true for RGB image. % FLAG = ISRGB(A) returns 1 if A is an RGB truecolor image and % 0 otherwise. % % ISRGB uses these criteria to determine if A is an RGB image: % % - If A is of class double, all values must be in the range % [0,1], and A must be M-by-N-by-3. % % - If A is of class uint8 or uint16, A must be M-by-N-by-3. % % Note that a four-dimensional array that contains multiple RGB % images returns 0, not 1. % % Class Support % ------------- % A can be of class uint8, uint16, or double. If A is of % class logical it is considered not to be RGB. % % See also ISBW, ISGRAY, ISIND. % Copyright 1993-2003 The MathWorks, Inc. % $Revision: 1.15.4.2 $ $Date: 2003/08/23 05:52:55 $ wid = sprintf('Images:%s:obsoleteFunction',mfilename); str1= sprintf('%s is obsolete and may be removed in the future.',mfilename); str2 = 'See product release notes for more information.'; warning(wid,'%s\n%s',str1,str2); y = size(x,3)==3; if y if isa(x, 'logical') y = false; elseif isa(x, 'double') % At first just test a small chunk to get a possible quick negative m = size(x,1); n = size(x,2); chunk = x(1:min(m,10),1:min(n,10),:); y = (min(chunk(:))>=0 && max(chunk(:))<=1); % If the chunk is an RGB image, test the whole image

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

几种常见窗函数及其MATLAB程序实现

几种常见窗函数及其MATLAB程序实现 2013-12-16 13:58 2296人阅读评论(0) 收藏举报 分类: Matlab(15) 数字信号处理中通常是取其有限的时间片段进行分析,而不是对无限长的信号进行测量和运算。具体做法是从信号中截取一个时间片段,然后对信号进行傅里叶变换、相关分析等数学处理。信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的。在FFT分析中为了减少或消除频谱能量泄漏及栅栏效应,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称为窗。 泄漏与窗函数频谱的两侧旁瓣有关,对于窗函数的选用总的原则是,要从保持最大信息和消除旁瓣的综合效果出发来考虑问题,尽可能使窗函数频谱中的主瓣宽度应尽量窄,以获得较陡的过渡带;旁瓣衰减应尽量大,以提高阻带的衰减,但通常都不能同时满足这两个要求。 频谱中的如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱。不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的加窗处理,重要的问题是在于根据信号的性质和研究目的来选用窗函数。图1是几种常用的窗函数的时域和频域波形,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低,如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用矩形窗,例如测量物体的自振频率等;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。表1 是几种常用的窗函数的比较。 如果被测信号是随机或者未知的,或者是一般使用者对窗函数不大了解,要求也不是特别高时,可以选择汉宁窗,因为它的泄漏、波动都较小,并且选择性也较高。但在用于校准时选用平顶窗较好,因为它的通带波动非常小,幅度误差也较小。

完整的遗传算法函数Matlab程序

完整的遗传算法函数Matlab程序 function [x,endPop,bPop,traceInfo] = ga(bounds,eevalFN,eevalOps,startPop,opts,... termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps) n=nargin; if n<2 | n==6 | n==10 | n==12 disp('Insufficient arguements') end if n<3 %Default eevalation opts. eevalOps=[]; end if n<5 opts = [1e-6 1 0]; end if isempty(opts) opts = [1e-6 1 0]; end if any(eevalFN<48) %Not using a .m file if opts(2)==1 %Float ga e1str=['x=c1; c1(xZomeLength)=', eevalFN ';']; e2str=['x=c2; c2(xZomeLength)=', eevalFN ';']; else %Binary ga e1str=['x=b2f(endPop(j,:),bounds,bits); endPop(j,xZomeLength)=',... eevalFN ';']; end else %Are using a .m file if opts(2)==1 %Float ga e1str=['[c1 c1(xZomeLength)]=' eevalFN '(c1,[gen eevalOps]);']; e2str=['[c2 c2(xZomeLength)]=' eevalFN '(c2,[gen eevalOps]);']; else %Binary ga e1str=['x=b2f(endPop(j,:),bounds,bits);[x v]=' eevalFN ... '(x,[gen eevalOps]); endPop(j,:)=[f2b(x,bounds,bits) v];']; end end if n<6 %Default termination information termOps=[100];

matlab经典代码大全

哈哈哈 MATLAB 显示正炫余炫图:plot(x,y1,'* r',x,y2,'o b') 定义【0,2π】;t=0:pi/10:2*pi; 定义函数文件:function [返回变量列表]=函数名(输入变量列表) 顺序结构:选择结构 1)if-else-end语句 其格式为: if 逻辑表达式 程序模块1; else 程序模块2; End 图片读取:%选择图片路径 [filename, pathname] = ... uigetfile({'*.jpg';'*.bmp';'*.gif'},'选择图片'); %合成路径+文件名 str=[pathname,filename]; %为什么pathname和filename要前面出现的位置相反才能运行呢???%读取图片 im=imread(str); %使用图片 axes(handles.axes1); %显示图片 imshow(im); 边缘检测: global im str=get(hObject,'string'); axes (handles.axes1); switch str case ' 原图' imshow(im); case 'sobel' BW = edge(rgb2gray(im),'sobel'); imshow(BW); case 'prewitt' BW = edge(rgb2gray(im),'prewitt');

imshow(BW); case 'canny' BW = edge(rgb2gray(im),'canny'); imshow(BW);Canny算子边缘定位精确性和抗噪声能力效果较好,是一个折中方案 end; 开闭运算: se=[1,1,1;1,1,1;1,1,1;1,1,1]; %Structuring Element I=rgb2gray(im); imshow(I,[]);title('Original Image'); I=double(I); [im_height,im_width]=size(I); [se_height,se_width]=size(se); halfheight=floor(se_height/2); halfwidth=floor(se_width/2); [se_origin]=floor((size(se)+1)/2); image_dilation=padarray(I,se_origin,0,'both'); %Image to be used for dilation image_erosion=padarray(I,se_origin,256,'both'); %Image to be used for erosion %%%%%%%%%%%%%%%%%% %%% Dilation %%% %%%%%%%%%%%%%%%%%% for k=se_origin(1)+1:im_height+se_origin(1) for kk=se_origin(2)+1:im_width+se_origin(2) dilated_image(k-se_origin(1),kk-se_origin(2))=max(max(se+image_dilation(k-se_origin(1):k+halfh eight-1,kk-se_origin(2):kk+halfwidth-1))); end end figure;imshow(dilated_image,[]);title('Image after Dilation'); %%%%%%%%%%%%%%%%% %%% Erosion %%% %%%%%%%%%%%%%%%%% se=se'; for k=se_origin(2)+1:im_height+se_origin(2) for kk=se_origin(1)+1:im_width+se_origin(1) eroded_image(k-se_origin(2),kk-se_origin(1))=min(min(image_erosion(k-se_origin(2):k+halfwidth -1,kk-se_origin(1):kk+halfheight-1)-se)); end end figure;imshow(eroded_image,[]);title('Image after Erosion'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Opening(Erosion first, then Dilation) %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

常用的MATLAB程序和函数

==等于 <小于 >大于 <=小于或等于>=大于或等于~=不等于 4 常用内部数学函数 指数函数exp(x)以e为底数 对数函数log(x)自然对数,即以e为底数的对数log10(x)常用对数,即以10为底数的对数log2(x)以2为底数的x的对数 开方函数sqrt(x)表示x的算术平方根

绝对值函数abs(x)表示实数的绝对值以及复数的模 三角函数(自变量的单位为弧度)sin(x)正弦函数cos(x)余弦函数tan(x)正切函数cot(x)余切函数sec(x)正割函数csc(x)余割函数 反三角函数asin(x)反正弦函数acos(x)反余弦函数atan(x)反正切函数acot(x)反余切函数asec(x)反正割函数acsc(x)反余割函数 双曲函数sinh(x)双曲正弦函数cosh(x)双曲余弦函数tanh(x)双曲正切函数coth(x)双曲余切函数sech(x)双曲正割函数csch(x)双曲余割函数 反双曲函数asinh(x)反双曲正弦函数acosh(x)反双曲余弦函数atanh(x)反双曲正切函数acoth(x)反双曲余切函数asech(x)反双曲正割函数acsch(x)反双曲余割函数 求角度函数atan2(y,x)以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度,范围为( , ] 数论函数gcd(a,b)两个整数的最大公约数lcm(a,b)两个整数的最小公倍数

排列组合函数factorial(n)阶乘函数,表示n的阶乘 复数函数real(z)实部函数 imag(z)虚部函数 abs(z)求复数z的模 angle(z) 求复数z的辐角,其范围是( , ] conj(z)求复数z的共轭复数 求整函数与截尾函数ceil(x)表示大于或等于实数x的最小整数floor(x)表示小于或等于实数x的最大整数round(x)最接近x的整数 最大、最小函数max([a,b,c,...]) 求最大数min([a,b, c,..]) 求最小数 符号函数 sign(x)

Matlab程序调试相关函数.

kyboard: KEYBOARD Invoke keyboard from M-file. KEYBOARD, when placed in an M-file, stops execution of the file and gives control to the user's keyboard. The special status is indicated by a K appearing before the prompt. Variables may be examined or changed - all MATLAB commands are valid. The keyboard mode is terminated by executing the command RETURN (i.e. typing the six letters R-E-T-U-R-N and pressing the return key. Control returns to the invoking M-file. DBQUIT can also be used to get out of keyboard mode but in this case the invoking M-file is terminated. The keyboard mode is useful for debugging your M-files. See also dbquit, dbstop, return, input. Reference page in Help browser doc keyboard dbquit: Quit debug mode. The DBQUIT command immediately terminates debug mode and returns control to the base workspace prompt. The M-file being processed is NOT completed and no results are returned.

Matlab编写与调用函数

MATLAB 学习指南 第六章.编写与调用函数 在这一章中,我们讨论如何用多源代码文件来构造一个程序。首先,解释代码文件在MATLAB中如何工作。在编译语言中,例如FORTRAN,C ,或C++,代码被存储在一个或多个源文件中,在进行编译的时候,这些源文件组合在一起 形成了一个单独的可执行文件。作为一种解释型语言,MATLAB以一种更广泛的方式来处理多个源文件。MATLAB代码被放入带有扩展名.m的ASCII文件(或称m-文件)中。MATLAB 6 有一个集成字处理与调试应用程序,尽管会用到其它编辑程序如vi或emacs,集成字处理与调试应用程序仍是编译m-文件的首选程序。 有两种不同的m-文件。一种是脚本文件,它是一种最简单的文件,仅仅将MATLAB中的指令收集在一起。当在交互提示符处输入文件名执行脚本文件时,MATLAB在m-文件内读取并执行指令,就好像指令是我们输入的。而且,似乎我们能够削减m-文件的内容并将削减过的内容传到MATLAB指令窗口中。这种m-文件的用法将在6.1节中给予概述。 在6.2节中要讨论的第二种m-文件包含一个单一函数,此函数名与此m-文件名相同。这种m-文件包含一段独立的代码,这段代码具有一个明确规定的输入/输出界面;那就是说,传给这段代码一列空变量arg1,arg2,…,这段独立代码就能够被调用,然后返回输出值out1,out2,…。一个函数m-文件的第一个非注释行包含函数标头,其形式如下: 此m-文件以返回指令结束,将执行程序返回到函数被调用的位置。或者在交互指令提示符处或者在另一个m-文件内,无论何时用下列指令调用函数代码,函数代码都将被执行。 输入映射到空变量:arg1=var1,arg2=var2,等等。在函数主体内,输出值被分配给了变量out1,out2,等等。当遇到返回值时,当前值out1,out2,…在函数被调用处被映射到变量outvar1,outvar2,…。在用可变长度自变量和输出变量列表编写函数时,MATLAB允许更多的自由。例如,也可以使用下列指令来调用函数。 在此情况下,仅返回一个单一输出变量,这个变量在出口处包含函数变量out1的值。输入和输出自变量可能是字符串,数值,向量,矩阵,或者更高级的数据结构。 为什么使用函数呢?因为从每门计算机科学课程中可知,把一个大的程序分割 成多个可以单独执行一个被明确规定的和被注释过的任务的小程序会使大程序 易读,易于修改,不易于出错。在MATLAB中,先为程序编写一个主文件,或者是一个脚本文件或者更好的话,是一个能够返回一个单一整数的函数m-文件(返回1表示程序执行成功,0表示不完全程序执行,负值表示出现运行误差),这个主文件是程序的进入点。通过把m-文件当作函数来调用,此程序文件可以

罚函数法MATLAB程序

一、进退法、0.618法、Powell法、罚函数法的Matlab程序设计 罚函数法(通用) function y=ff(x,k) y=-17.86*0.42*x(1)/(0.8+0.42*x(1))*(1-exp(-2*(0.8+0.42*x(1))/3))*exp(-1.6)*x(2)-22. 99*x(1)/(0.8+x(1))*(1-exp(-2*(0.8+x(1))/3))*x(3)+k*(x(2)-(1.22*10^2*(9517.8*exp(-1 .6-2*0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))/(1.22*10^2+9517.8*exp(-1.6-2 *0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))^2+k*(x(3)-exp(-0.8-2*x(1)/3)*x(3) -exp(-2.4-2*0.42*x(1)/3)*x(2))^2; % 主函数,参数包括未知数的个数n,惩罚因子q,惩罚因子增长系数k,初值x0,以及允许的误差r function G=FHS(x0,q,k,n,r,h,a) l=1; while (l) x=powell(x0,n,q,r(1),h,a); %调用powell函数 g(1)=ff1(x),g(2)=ff2(x) . . . g(p)=ffp(x); %调用不等式约束函数,将其值%存入数组g h(1)=hh1(x),h(2)=hh2(x) . . . h(t)=hht(x); %调用等式约束函数,将其值 %存入数组h for i=1:p if g(i)

matlab代码--函数逼近

函数逼近 1.Chebyshev用切比雪夫多项式逼近已知函数 function f=Chebyshev(y,k,x0) syms t; T(1:k+1)=t; T(1)=1; T(2)=t; c(1:k+1)=0.0; c(1)=int(subs(y,findsym(sym(y)),sym('t'))*T(1)/sqrt(1-t^2),t,-1,1)/pi; c(2)=2*int(subs(y,findsym(sym(y)),sym('t'))*T(2)/sqrt(1-t^2),t,-1,1)/pi; f=c(1)+c(2)*t; for i=3:k+1 T(i)=2*t*T(i-1)-T(i-2); c(i)=2*int(subs(y,findsym(sym(y)),sym('t'))*T(i)/sqrt(1-t^2),t,-1,1)/2; f=f+c(i)*T(i); f=vpa(f,6); if(i==k+1) if(nargin==3) f=subs(f,'t',x0); else f=vpa(f,6); end end end 2.Legendre用勒让德多项式逼近已知函数 function f=Legendre(y,k,x0) syms t; P(1:k+1)=t; P(1)=1; P(2)=t; c(1:k+1)=0.0; c(1)=int(subs(y,findsym(sym(y)),sym('t'))*P(1),t,-1,1)/2; c(2)=int(subs(y,findsym(sym(y)),sym('t'))*P(2),t,-1,1)/2; f=c(1)+c(2)*t; for i=3:k+1 P(i)=((2*i-3)*P(i-1)*t-(i-2)*P(i-2))/(i-1); c(i)=int(subs(y,findsym(sym(y)),t)*P(i),t,-1,1)/2; f=f+c(i)*P(i);

感知准则函数matlab实现

%产生第一类和第二类原始数据,分别赋值给w1和w2变量 w1=[0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0]; w2=[-3.0 0.5 2.9 -0.1 -4.0 -1.3 -3.4 -4.1 -5.1 1.9; -1.9 8.7 10 5.2 2.2 3.7 6.2 3.4 1.6 5.1]; %分别产生第一类和第二类增广样本向量集ww1、ww2 ww1=[ones(1,size(w1,2));w1]; ww2=[ones(1,size(w2,2));w2]; %产生第一类和第二类样本向量的规范化增广样本向量集w12 w12=[ww1,-ww2]; y=zeros(1,size(w12,2)); % 产生1x20的行向量,赋给y,初值全为0 a=[1;1;1]; %给权向量a赋初值 k=0; %k为迭代次数,a(0)=[1;1;1] while any(y<=0) for i=1:size(y,2) y(i)=a'*w12(:,i); end a=a+(sum((w12(:,find(y<=0)))'))'; k=k+1; end a %显示最终求得的权向量a的值 k %迭代次数值 figure(1) plot(w1(1,:),w1(2,:),'r+') hold on plot(w2(1,:),w2(2,:),'*') xmin=min(min(w1(1,:)),min(w2(1,:))); xmax=max(max(w1(1,:)),max(w2(1,:))); ymin=min(min(w1(2,:)),min(w2(2,:))); ymax=max(max(w1(2,:)),max(w2(2,:))); xindex=xmin-1:(xmax-xmin)/100:xmax+1; yindex=-a(2)*xindex/a(3)-a(1)/a(3); plot(xindex,yindex) w1=[0.1;

[新版]求函数零点matlab代码

[新版]求函数零点matlab代码 1、%用牛顿法求f(x)=x-sin x 的零点,e=10^(-6)disp('牛顿法') i=1; n0=180; p0=pi/3; tol=10^(-6); for i=1:n0 p=p0-(p0-sin(p0))/(1-cos(p0)); if abs(p-p0)<=10^(-6) %disp('|p-p0|=') %disp(abs(p-p0)) disp('用牛顿法求得方程的根为') disp(p); disp('迭代次数为:') disp(i) break; end p0=p; end if i==n0 disp(n0) disp('次计算后无法求出方程的解') end 2、%用求重根的方法求f(x)的零点 disp('求重根方法一'); p0=pi/3;

for i=1:n0 p=p0-((p0-sin(p0)).*(1-cos(p0)))./((1-cos(p0)).^2-(p0-sin(p0)).*s in(p0)); if(abs(p-p0)

查看matlab中函数源代码的方法

查看matlab中函数源代码的方法 有几种方法可以实现查看matlab里自带函数的源代码: 在命令窗口中输入: (1)、type 函数名(如type rgb2gray 或者type rgb2gray.m):即可在命令窗口中显示此函数的源代码; (2)、open 函数名(如open rgb2gray 或者open rgb2gray.m):即可打开rgb2gray.m文件; (3)、edit 函数名(如edit rgb2gray 或者edit rgb2gray.m):即可打开rgb2gray.m文件; (4)、还有一种方法就是故意将原有函数的参数或类型写错,它就会提示错误,然后点击提示错误处,也可打开m文件,如: rgb2gray(f, 3);%f为彩色图像文件名,后面的3是随意加上去的,因为函数rgb2gray原本就一个参数,现在为2个,肯定会报错 rgb2gray(f, 3); ??? Error using ==> iptchecknargin at 77 Function RGB2GRAY expected at most 1 input argument

but was called instead with 2 input arguments. Error in ==> rgb2gray>parse_inputs at 76 %点击此处即可打开m文件iptchecknargin(1,1,nargin,mfilename); Error in ==> rgb2gray at 35 %点击此出也可打开m文件 X = parse_inputs(varargin{:}); 不过,一些比较底层的源代码是看不见得。

matlab最简单最常用代码

绘图 标注名称 titile(‘标题’); xlabel(‘x轴’); 设置坐标轴上下限 axis([xmin xmax ymin ymax]); xmin,xmax指的x轴上下限,ymin,ymax指的y轴上下限。网格线 grid on;开启网格线 set(gca,'xtick',[0:2:16]);网格线密度与xtick有关 绘制函数图形 fplot(‘表达式’,[范围]) 如fplot('sin(1/x)',[0,0.2],'m'); 曲线颜色 默认蓝色b

计算 数据统计 平均值 data=load('E:\matlab\1\tes.txt'); a=mean(data); a 标准差 C=[79 75.625 79 82.75 76.1 78.275 76.325 60.5 69.15 75.175 84.075 63.1 77.1625 76.5765 76.575 68.375]; Std=std(C) 矩阵 矩阵的逆 inv(A) 函数 三角函数 sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数

asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 积分 符号积分 sysm x; int(f(x),x1,x2); 数值积分 fun=inline(9.025*10^(-5)*x^2+5.151*10^(-2)*x-2.628);%定义一个函数I=quad(fun,0,1945) 拟合 多项式拟合 x=load('E:\matlab\1\x.txt'); y=load('E:\matlab\1\y.txt'); p4=polyfit(x,y,4);%四次多项式拟合 x1=0:10:1900; y4=p4(1)*x1.^4+p4(2)*x1.^3+p4(3)*x1.^2+p4(4)*x1+p4(5); plot(x,y);hold on; plot(x1,y4); 指定函数拟合 %指定函数拟合,如y=m(3)*m(1).^x+m(2), m(1)和m(2)待定 Date=[1,1.9;2,4.1;3,7.5;4,16.2;5,32.3]; x=Date(:,1); y=Date(:,2);%当然也可以将x和y值分别保存在txt中,用load读入plot(x,y,'o');hold on;%绘制原有的点 m0=[2 2 1]';%给定初值 m=lsqnonlin('zhi',m0);%调用函数zhi x=1:0.2:5;

信号与系统实验函数代码(MATLAB里的)

program7_3 Sample function t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on; 矩形脉冲信号 %program7_4 Rectangular pulse signal t=0:0.001:4; T=1; ft=rectpuls(t-2*T,2*T); plot(t,ft); grid on; axis([0 4 -0.5 1.5]); 连续时间系统冲激响应 %program8_2 Impulse response of LTI system ts=0; te=5; dt=0.01; sys=tf([10],[1 2 100]); t=ts:dt:te; y=impulse(sys,t); plot(t,y); xlabel('t(sec)'); ylabel('y(t)'); grid on;% 三角形脉冲信号 %program7_6 Triangular pulse signal t=-3:0.001:3; ft=tripuls(t,4,0.5); plot(t,ft); grid on; axis([-3 3 -0.5 1.5]); 一般周期矩形和三角形脉冲信号 %program7_8 Periodic pulse generator T=0:1/1E3:1; D=0:1/3:1; Y=pulstran(T,D,'rectpuls',0.1); figure(1); plot(T,Y);

axis([0,1,-0.1,1.1]); T=0:1/1E3:1; D=0:1/3:1; Y=pulstran(T,D,'tripuls',0.1,-1); figure(2); plot(T,Y); grid on; axis([0,1,-0.1,1.1]); 正弦信号 %program7_2 Sinusoidal signal ft=A*sin(w0*t+phi) A=1; w0=2*pi; phi=pi/6; t=0:0.001:8; ft=A*sin(w0*t+phi); plot(t,ft); grid on; 指数信号 %program7_1 Decaying exponential signal y=A*exp(a*t) A=1; a=-0.4; t=0:0.01:10; ft=A*exp(a*t); plot(t,ft); grid on; 周期矩形脉冲信号 %program7_4 Periodic Rectangular pulse signal t=-0.0625:0.0001:0.0625; y=square(2*pi*30*t,75); plot(t,y); axis([-0.0625 0.0625 -1.5 1.5]); grid on; 周期三角形信号 %program7_7 Periodic Triangular pulse signal t=-5*pi:pi/10:5*pi; x=sawtooth(t,0.5); plot(t,x); axis([-16 16 -1.5 1.5]); grid on;

相关文档
相关文档 最新文档