matlab
在下阿文
我叫阿文,文森特的文
展开
-
matlab模型连接函数series
使用方法:series(sys1,sys2,outputs1,inputs2)其中,sys1和sys2是状态空间模型,output1是sys1的待连接的输出,input2是sys2的待连接的输入。原创 2020-11-26 21:24:53 · 3411 阅读 · 0 评论 -
matlab模型并联函数parallel
使用方法:sys = parallel(sys1,sys2,inp1,inp2,out1,out2)其中sys1和sys2是状态空间模型,inp1和inp2是待并联的输入,如果有多个并联输入组可以写成数组形式,out1和out2是待并联的输入,如果有多个并联输出组可以写成数组形式。...原创 2020-11-26 21:21:51 · 4921 阅读 · 0 评论 -
matlab频率响应数据模型创建函数frd
使用方法:frd(resp,freq)其中resp是取样点,freq是频率函数方程,而frd以resp为freq的输入计算频率响应输出,并将该输出和输入resp对应的组合在一起,得到类型为frd的频率响应模型示例:在10到100之间取50个对数间距点,以y=0.05xexp(i2*x)为频率响应方程>> freq = logspace(1,2)>> resp = .05*(freq).*exp(i*2*freq)>> sys = frd(resp,freq)原创 2020-11-26 20:58:43 · 3598 阅读 · 0 评论 -
matlab快速求解一元n次方程的解函数roots
使用方法:roots(num)其中,num是方程的系数数组,并且按照自变量幂次降序排列示例:求解方程3x^2-2x-4=0的根>> roots([3 -2 -4])ans = 1.5352 -0.8685原创 2020-11-26 20:42:16 · 6617 阅读 · 0 评论 -
matlab状态空间模型构建函数ss
最常用的方法:ss(sys)其中sys为传递函数示例:>> num=[0 12 24 0 20];>> den=[2 4 6 2 2];>> ss(tf(num,den))ans = A = x1 x2 x3 x4 x1 -2 -1.5 -0.5 -1 x2 2 0 0 0 x3 0 1 0 0 x4原创 2020-11-26 20:36:25 · 10043 阅读 · 1 评论 -
matlab传递函数构建函数tf
基本用法:tf(num,den)其中num为分子的系数数组,den为分母的系数数组,都是按照自变量的幂进行降序排列,输出为tf类型的连续时间传递函数举例:>> num=[0 12 24 0 20];>> den=[2 4 6 2 2];>> tf(num,den)ans = 12 s^3 + 24 s^2 + 20 ------------------------------- 2 s^4 + 4 s^3 + 6 s^2 + 2 s原创 2020-11-26 20:10:57 · 23608 阅读 · 4 评论 -
matlab求解微分方程ode23
1.ode23:显式的单步Runge-Kutta低阶(2阶到3阶)解法。适用具有一定难度对精度要求不高,或者f(t,y)不平滑(非连续)的问题[T, Y] = ode23(‘F’,Tspan,y0)其中:T:求解区域内离散数据Y:求解区域内离散数据的对应数值解‘F’ 是包括函数文件名字的字符串或函数句柄。函数F(t,y) 必须返回列向量Tspan = [t0,tN]是常微分方程求解区域;或具体节点. 例:linspace(a,b,step)y0是表示初始条件例1:function t原创 2020-08-20 09:08:34 · 11915 阅读 · 1 评论 -
matlab快捷注释按键
Ctrl+R 注释掉这一行Ctrl+T 撤销注释此行原创 2020-08-20 09:08:23 · 865 阅读 · 0 评论 -
matlab多项式拟合求解方法polyfit和polyval
1.多项式拟合函数:p=polyfit(x,y,n)输入:x,y—数据点,n—多项式阶数输出:p 为幂次从高到低的多项式系数向量p2.多项式求值函数:y=polyval(p,x)其中, y为返回对应自变量x在给定系数p的多项式的值。...原创 2020-08-19 12:09:15 · 1445 阅读 · 0 评论 -
matlab获取矩阵的特征值特征向量及其他矩阵变换
1.矩阵A的对角阵diag(A)2.获取上三角阵triu(A)3.获取下三角阵tril(A)4.解线性方程组Ax=bx=A\b或者x=inv(A)*b5.计算A的特征值lambda=eig(A)其中,lambda是A的全部特征值构成的列向量6.计算出A的全部特征值和对应的特征向量[P, D]=eig(A)其中,D是对角矩阵,保存A的全部特征值P是满阵,P的列向量构成对应于D的特征向量组。...原创 2020-08-19 12:06:23 · 824 阅读 · 0 评论 -
matlab符号函数求解方程组
1.求解二元一次方程组syms x y;s=solve(a*x+b*y==10,a*x-b*y==20,x,y);sol_x = s.x;sol_y = s.y;其中s为结构体2.求解微分方程组y=dsolve('Dy=(10-0.02*t)*t','y(0)=4','t');其中“Dy”表示对y的1阶导数,“D2y”表示对y的2阶导数,其他各阶导数类似...原创 2020-08-19 12:00:24 · 3980 阅读 · 0 评论 -
matlab符号函数求极限,求导,求积分和求泰勒展开式Taylor方法
1.求极限limit(f,x,a)计算f(x)当x趋向于a的极限limit(f,x,a,'right’)计算右极限limit(f,x,a,'left’)计算左极限2.求导数diff(s,‘v’)求s对自变量v的1阶导数diff(s,‘v’,n)求s对自变量v的n阶导数3.求积分s=int(expr,var)以expr表达式中的变量var为积分变量计算不定积分s=int(expr,var,a,b)以expr表达式中的变量var为积分变量计算定积分,积分上下限分别为b和a。4.原创 2020-08-19 11:53:03 · 3735 阅读 · 0 评论 -
matlab内置函数compose使用方法
1.compose(f, g)返回复合函数f(g(y))2.compose(f, g, z)返回复合函数f(g(z))3.compose(f, g, x, y, z)返回复合函数f(g(z)),其中有f(x)和g(y)f g x y z均为符号函数和符号变量原创 2020-08-19 11:43:41 · 4340 阅读 · 0 评论 -
matlab符号数据类型转化
1.digits(n):设置vpa计算结果的有效数字的位数2.vpa(s):计算符号表达式s的数值结果,结果还是sym型vpa(s,n):采用n位有效数字计算精度求s的数值结果3.double(s):将符号表达式s转化为双精度数值4.char(s):将符号表达式s转化为字符串举例:t=sqrt(sym(pi));a=vpa(t);b=double(t);结果:t = pi^(1/2)a =1.7724538509055160272981674833411b =1.7725 .原创 2020-08-19 11:40:48 · 4180 阅读 · 0 评论 -
matlab内置函数simplify使用方法
simplify(s)对表达式进行化简syms x y z f=cos(x)^2-sin(x)^2s1 = simplify(f) s1 = cos(2*x)原创 2020-08-19 11:35:35 · 26065 阅读 · 0 评论 -
matlab内置函数subs使用方法
subs(s, old, new)将s表达式中old变量替换为newsyms x y z f=x^2+y^2+z^2 fval=subs(f,[x,y],[1,2]) fval = z^2 + 5原创 2020-08-19 11:33:20 · 2735 阅读 · 0 评论 -
matlab定义符号变量syms与sym使用方法
syms命令定义符号变量,可以一次定义多个变量syms x;syms x y;syms x y real;其中real实,unreal非实,positive 正sym一次处理一个变量或表达式,也可将字符或数字转换为符号类型sym(A);sym(A,‘real’);sym(‘x1’);sym(‘sqrt(200)’);sym(’[100 200]’);...原创 2020-08-19 10:31:11 · 13839 阅读 · 2 评论 -
matlab内置函数reshape的用法
reshape(A,[2,3])将 A 重构为一个 2×3 矩阵矩阵A必须有6个元素原创 2020-08-19 10:24:31 · 437 阅读 · 0 评论 -
matlab作图方法plot
1.plot(x,y,’–r’)其中y=f(x)2.plot(x, y, x, z, ‘LineWidth’, 1.5)3.ezplot(‘exp(-0.5*x)sin(5x)’,[0,10,-1,1])4.fplot(‘exp(-0.5*x)sin(5x)’,[0,10,-1,1])5.plot3(sin(t),cos(t),t)空间曲线绘图6.polar(theta,rho,‘r’);theta=0:pi/20:4pi; rho= 1 + theta*2; 极坐标绘图7.bar(x,原创 2020-08-17 07:49:55 · 497 阅读 · 0 评论 -
matlab对文件的打开fopen和读写操作fprintf
1.fopen打开文件fid = fopen(‘myout.txt’,‘wt’)其中fid用于储存文件句柄值‘r’:只读方式打开文件(默认方式),该文件必须已存在。‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在 则创建。‘a’:在打开的文件末端添加数据。文件不存在则创建。‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。‘t’,如‘rt’或原创 2020-08-17 07:49:43 · 3773 阅读 · 0 评论 -
matlab取余和取商方法
取余:1.mod(a,b)符号与b相同2.rem(a,b)符号与a相同取商:1.floor(a/b)向下取整2.fix(a/b)向零取整原创 2020-08-17 07:49:34 · 11475 阅读 · 0 评论 -
matlab数据类型的转换方法
1.char(S1,S2,…)利用给定的字符串或单元数组创建字符数组2.double(S)将字符串转化成ASCII码形式3.cellstr(S)利用给定的字符串数组创建字符串单元数组4.blanks(n)生成一个由n个空格组成的字符串deblank(S)删除尾部的空格5.eval(S)使用MATLAB解释器求字符串表达式的值6.num2str(k)将数字转换成字符串7.int2str(k)将整数型转换成字符串8.mat2str(k)将矩阵转换为字符串,可以供eval使用9原创 2020-08-17 07:48:37 · 5224 阅读 · 0 评论 -
matlab对字符串的操作方法总结
1.strcat(S1,S2,…)将多个字符串水平拼接2.strvcat(S1,S2,…)将多个字符串竖直拼接3.strcmp(S1,S2)判断字符串是否相等4.strncmp(S1,S2,n)判断前n个字符串是否相等5.strcmpi(S1,S2)判断字符串是否相等(忽略大小写)6.strncmpi(S1,S2,n)判断前n个字符串是否相等(忽略大小写)7.strtrim(S1)删除结尾的空格8.findstr(S1,S2)找到S1和S2两者中较短那个字符串在较长 字符串中的原创 2020-08-16 11:06:32 · 2156 阅读 · 0 评论 -
matlab判断是不是某种类型的方法
1.isempty(S)判断是不是空数组,若是返回12.ischar(S)判断是不是字符串数组3.iscellstr(S)判断是不是字符串单元数组4.isletter(S)判断是不是字母5.isspace(S)判断是不是空格原创 2020-08-16 10:59:19 · 1340 阅读 · 0 评论 -
matlab自定义函数编写方法
function [r1, r2, r3]=funname(a1, a2, a3, a4)4个输入参数,3个输出参数nargin,nargout 分别表示函数调用时的输入参数个数,输出参数个数return返回调用函数pause暂停运行,按任意键执行pause(0.5) 暂停0.5秒f=inline(expr, arg1, arg2, ...)匿名函数inline,expr是字符串类型的方程式,args是自变量f=@(x)(x.^2) f=@(x,y)(x.^2+y.^原创 2020-08-16 10:26:05 · 1746 阅读 · 0 评论 -
matlab中switch语句的使用方法
switch name(1) % 根据name第1个字符串进行不同处理 case {'a','b','c','d','e','f','g','h'}, disp(['Hello, ', name]) otherwise, disp(['Welcome, ', name])end原创 2020-08-16 10:17:27 · 7058 阅读 · 0 评论 -
matlab排序函数sort的使用方法
1.[B, I]=sort(V)B是排序后的结果,I是排序后每个元素在原矩阵V中的下标2.B=sort(V, ‘descend’)B为V的降序排列默认为‘ascend‘升序排列原创 2020-08-16 10:06:38 · 1476 阅读 · 0 评论 -
matlab内置函数max和min使用方法
x=[5 1 4 7 3][v1,I1]=max(x)[v2,I2]=min(x)结果:x = 5 1 4 7 3v1 = 7 I1 = 4v2 = 1 I2 = 2原创 2020-08-16 10:02:46 · 608 阅读 · 0 评论 -
matlab内置函数sum的使用方法
1.s=sum(v) 求向量v中元素的和2.s=sum(A,1) 或s=sum(A) 求矩阵A中每列的和,返回成1个行向量3.s=sum(A,2) 求矩阵A中每行的和,返回成1个列向量mean的使用方法与之类似原创 2020-08-16 10:00:52 · 1239 阅读 · 0 评论 -
matlab常用输入输出方法
输入:1.name=input('输入您的姓名: ', ‘s’)输出:1.disp(变量名)2.s2= sprintf(’%10.6f’, a)将a化为10个字符长, 含6个小数位的字符串3.s3=sprintf(’%8s%3d%3d%3d’,name,grade)grade表示一个三维向量原创 2020-08-16 09:57:48 · 2649 阅读 · 0 评论 -
matlab查看数据类型whos和class
运行:whos a b运行输出:Name Size Bytes Classa 1x2 16 doubleb 1x3 6 char运行:class(a)运行结果:ans = double原创 2020-08-16 09:53:39 · 992 阅读 · 0 评论 -
matlab数据类型
matlab常见数据类型汇总1.doublea=rand(3)2.charb=‘Li San’3.symsyms x,y4.structF.name=‘li San’, F.birth=19995.cella=cell(m,n)调取数据a{i,j}原创 2020-08-16 09:51:21 · 121 阅读 · 0 评论 -
matlab矩阵生成与编辑方法
matlab矩阵生成方法:1.A=[1 2 3; 4 5 6; 7 8 9];2.x=1:2:9表示x=[1 3 5 7 9]3.x=linspace(-2, 2, 5)表示x=[-2 -1 0 1 2]4.a = zeros(m, n)产生一个m行、n列的零矩阵;多用于变量的初始化5.a = ones(m, n)产生一个m行、n列的元素全为1的矩阵6.a = eye(m, n)产生一个m行、n列的单位矩阵matlab矩阵操作方法:1.原创 2020-08-15 21:57:17 · 2116 阅读 · 0 评论 -
matlab音频文件处理基础
最近在做音频处理,基于matlab软件,查的资料大多是用wavread这个函数读入音频,但是这个函数在2018版本已经停用了,需要导入音频要用函数audioread。[Data,fs]= audioread('D:\project\work.wav');audioread不但可以读取WAV格式的音频,还兼容,并返回样本数据 Data 以及该数据的采样率 fs。info = audioinfo('D:\project\work.wav');audioinfo可以读取音频的各种属性,返回一个结构体,原创 2020-05-18 07:59:34 · 1829 阅读 · 0 评论 -
借助matlab实现基于密度峰值的样本聚类方法
对于样本的聚类,K均值聚类是最基础,也是最常用的的几个方法之一,但是K均值聚类有很多问题,比如说不能普适于非球形分布问题、不能确定类的数量的问题等等,本文介绍的基于密度峰值的聚类方法就可以非常方便的解决这些问题。基于密度峰值的聚类方法最早发布于2014年的science期刊,这种方法有两个前提假设(1)样本中心的密度比他周围点的密度要大。(2)样本中心之间的距离要大。这种方法一共有四个步骤...原创 2020-03-19 10:08:08 · 1894 阅读 · 1 评论