❶ 如何向MATLAB中添加新工具箱
今天费了好大的劲终于将SVM_SteveGunn添加至我的matlab工具箱内,并且已能成功运行,现在把在添加以及运行中出现的各种问题罗列如下,并一一解决:
1、将下载的svm工具箱添加至matlab安装目录下
1、单独下载的工具箱
2、把新的工具箱拷贝到某个目录(我的是D:softmatlab2011b oolbox)。
注意:你要是添加的很多个m文件,那就把这些m文件直接拷到再下一层你想要的工具箱的文件夹里
例如,我要添加的是支持向量机工具箱,在刚才的文件夹下我已经有svm(支持向量机工具箱)文件夹了,但有的m文件还没有,我就把新的m文件统统拷到D:softmatlab2011b oolbox svm目录下了。如果你连某工具箱(你打算添加的)的文件夹都没有,那就把文件夹和文件一起拷到D:softmatlab2011b oolbox 下。
先把工具箱保存到MATLAB安装目录的根目录下面,然后运行matlab---->file---->set path---->add folder 然后把你的工具箱文件夹添加进去就可以了
3、在matlab的菜单file下面的set path把它( D:softmatlab2011b oolbox svm )加上。
4、 把路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。
记得一定要更新!我就是没更新,所以添加了路径,一运行还是不行。后来更新了才行。
2、在对svm工具箱进行使用时,发现了'qp.dll 不是有效的 Win32 应用程序 '
问题描述:
mex在不同windows OS下编译的结果,所以我们需要重新编译一下qp.dll
解决方案:
steve gunn 的包下面有一个optimiser 文件夹,把current Diretory目录改为optimiser目录,例如E:matlabProgramSVM_SteveGunnOptimiser,然后运行命令
>> mex -v qp.c pr_loqo.c
命令运行完毕后,你会发现原先的qp.dll变为qp.dll.old,还出现了qp.mexw32,我们把该文件改为qp.dll 复制到工具箱文件夹下。原先的工具箱文件qp.dll可以先改一下名字...
3、我在运行第二步时发现了‘D:SOFTMATLAB~3BINMEX.PL: Error: Compile of 'qp.c' failed. Error using mex (line 206)
Unable to complete successfully.
这个是因为编译器设置的问题,这里需要重新选择设置编译器,设置编译器的方法:
mex -setup(mex和-setup之间要有空格),然后我选择的VS2010,然后再继续运行步骤2就成功了。
❷ 怎么往matlab中添加工具箱
下载一个工具箱,添加到matlab中,直接运用:
在matlab的file下面的set path把它加上,把路径加进去后在
file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下,就OK了
1.1 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可;
1.2 如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录。
2 在matlab的file下面的set path把它加上。
3 把路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。
4 用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。
或者将工具箱复制到toolbox目录然后在set path里面添加这个目录就可以用了。
在matlab的file下面的set path把它加上,把路径加进去后在
file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下,就OK了
以下是我在别的地方看到的,转过来你参考一下吧。
首先说说添加到matlab搜索路径好处:1
对
n——你只需要存储一个副本,就可以在其他地方使用。具体来说,假设你在数据盘D上新建了两个目录abc和def,这两个工程(每个目录下的所有程序相应地称为一个工程)都需要调用同一个(些)函数(简称工具箱),这时候,如果你没有把该工具箱添加到matlab的搜索路径下,则需要分别把工具箱中所有用到的文件都复制到目录abc和def下才能正确运行。这显然浪费空间,所以,matlab提供了一个搜索路径(默认在matlab安装目录下的toolbox中),只要把工具箱对应的整个文件夹复制到搜索路径对应的目录下,并且通知matlab一声(把该路径正确添加到搜索路径中),就可以在abc和def中使用这个工具箱了(即无论你的工程文件在哪个目录(有效的目录)下都可以访问这个工具箱中的函数)。下面就以matlab安装目录下的toolbox目录作为默认的添加路径进行详细说明。
1. 如何添加工具箱看
以下是添加工具箱的方法:(论坛很多人转载过,这里就不作区分了,下面的举例也一样)
如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,则需要把新的工具箱(以下假设工具箱名字为svm)解压到toolbox目录下,然后用addpath或者pathtool把该工具箱的路径添加到matlab的搜索路径中,最后用which
newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己代的README文件。
1.1 举例:
要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:\MATLAB6p5,将svm目录拷贝至D:\MATLAB6p5\toolbox,然后运行matlab,在命令窗口输入addpath
D:\MATLAB6p5\toolbox\svm回车,来添加路径。然后在svm目录下,任意找一个m文件,以svcinfo.m为例,在命令窗口中输入which
svcinfo.m。如果显示出该文件路径,如
D:\MATLAB6p5\toolbox\svm\svcinfo.m,则安装成功,当然也可以在命令窗口输入path来查看。
上面的说明和例子基本上介绍了在matlab中如何添加工具箱,下面是其他补充:
1.2 添加方式总结:
事实上,有两种添加工具箱到matlab搜索路径的方法:其一是用代码,其二是用界面。其实无论用哪种方法,都是修改pathdef.m这个文件,阁下如果是高手,可以直接打开该文件修改,呵呵,对此这里不作讨论。
1.2.1 代码方式:
1.2.1.1 适用于添加下载的工具箱(别人的):
在命令窗口输入addpath D:\MATLAB6p5\toolbox\svm 或者addpath(‘D:\MATLAB6p5\toolbox\svm’);
但是这种方法只能添加svm目录,如果该目录下有其他子文件夹,并且运行时候逗隐式地调用到这些子文件夹(例如假设svm目录下存在子文件夹matdata,该子文件夹下有logo.mat这个文件,且在m文件代码中使用了诸如
load logo
这样的句子,即没有显式给出logo.mat的具体路径,则称为逗隐式地),则不能正确访问。因此,有必要在添加时使用以下语句把svm目录下所有文件夹都添加到搜索路径中:
500){this.resized=true;this.style.width=500;}"> 程序代码
addpath(genpath(D:\MATLAB6p5\toolbox\svm));
另外,如果只使用以上代码,则退出matlab后,新添加的路径不会被保存下来,下次重新启动matlab后又需要重新添加。可以用savepath来解决这个问题,即在命令窗口中使用
savepath 便可。不过保存路径操作只对matlab
2006a、2006b有效(应该对版本7.0以上的都有效,因没有测试,所以不敢肯定),对6.5版本的matlab无效(该版本没有savepath这个命令)。
1.2.1.2 适用于添加自己的工具箱(即工具箱自己编写,然后希望别人下载后当运行主文件时自动把路径添加到matlab搜索路径中):
在主文件中加入如下代码;
500){this.resized=true;this.style.width=500;}"> 程序代码
sCurrPath = fileparts(mfilename('fullpath'));
addpath(genpath(sCurrPath)); %如果该工具箱没有其他子目录,则可以不需要用genpath
savepath; %这句可根据各人需要自行选择,相信上一节的解释已经很清楚
1.2.2 界面方式:
首先把主界面调出来,有两种方式,一种是在命令窗口输入pathtool,另一种是在matlab菜单调用(File
-> Set Path…)。打开主界面后,相信不用太多解释了。Add Folder… 或者 Add with subfolders…
就可以了,添加完毕后,如果需要保存该路径,则在close前save一下就可以了。
这种方式的好处是如果路径有问题,matlab会马上报错,告诉用户添加失败。
2 工具箱添加失败:
2.1 work目录和toolbox目录问题:
你当然可以单独把一个或多个文件(不含文件夹)放在work目录下来实现逗1对n地,因为work目录是其中一个matlab默认的搜索路径,但显然不能包含文件夹,如果包含文件夹,则同样需要把该文件夹添加到搜索路径中。相反,你不能单独把一个或多个文件(不含文件夹)放在toolbox目录下来实现逗1对n地,因为toolbox这个目录并非matlab的一个默认搜索路径,除非你把toolbox文件夹添加到搜索路径中。
2.2 由于路径名称而导致添加失败的总结:
2.2.1 路径存在空格:
错误:addpath C:\Program Files\MATLAB\R2006b\toolbox\finity
正确:addpath(‘C:\Program Files\MATLAB\R2006b\toolbox\finity’) 或者使用界面方式添加
说明:在6.5版本的matlab不推荐使用带空格的路径,因为matlab6.5的安装路径是不允许有空格的,因此不晓得带空格的工具箱路径会出现什么问题。7.0以上应该没有问题。
界面方式则估计没有问题,有问题matlab会自动报错的。
2.2.2 路径存在中文:
用addpath和界面方式均可以成功添加,但不推荐,最好使用英文路径。
2.2.3 路径存在逗@地字符:
均不成功,不要使用逗@地字符
小结:出现其他与添加相关的错误时,用标准的路径和文件名试试吧。
3 正确添加了工具箱,但运行调用时出错:
3.1 版本问题:
对于工具箱检测到matlab版本不兼容的问题,先引用一下happy教授的回复:
=====================happy================================
这个是有用的,估计是作者考虑到随着matlab的升级会出现不兼容的问题,因此加了类似的设置error('unsupported
matlab version. please send an
email.');以提示大家。从这一设置上看4.x和5.x版本的是完全没有问题的,之后的版本可能会出现问题,是否真的会出现需要进行测试
=========================================================
我也遇到过这类问题(如3.3节提到的spm5,下载得到的文件如果遇到2006版本的matlab则无法成功运行),但不是matlab的直接回复说逗版本不支持地,而是普通的语法出错。我的经验是根据错误提示调试一下,看看问题出在哪里,然后再对程序作相应修改。例如在我的问题中,由于不支持最新的版本,所以2006a和2006b版本分别用下面的语句进行检查:strcmp(version('-release'),'2006a')
和 strcmp(version('-release'),'2006b')。
3.2 程序中其他语法错误:
估计部分语法不兼容,例如7.0版本以上的matlab可以使用&&、||、@(x)等等之类的符号,但是在6.5版本下无效,这种错误也需要自己手动修改一下代码。
3.3 工具箱中的函数重名问题:
Happy教授也提到过,除了改名,没有太好的办法。但是如果改的地方不止一个,例如遇到该文件进行了多次的自我调用(一个典型例子是以switch
和case语句进行区分不同的操作),或者其他文件存在对该文件的调用时,这是个很头痛的事情。根据我的经验,也没有找到太好的解决办法。以我所用的两个工具箱为例,它们的文件夹名字不同(一个是spm2,一个是spm5),但是里面的主m文件名字都一样,为spm.m,如果两个工具箱同处于matlab的搜索路径中,会导致其中一个工具箱失效,更别说两者之间通过切换来进行调用了。我一般的解决方法是安装两个matlab,例如一个是6.5版,一个是2006版,把两个工具箱分别添加到不同的matlab中,这样就可以启动不同版本的matlab使用不同版本的工具箱了,呵呵,算是一个补救的方法吧。
3.4 找不到m文件的问题:
如果你已经把工具箱正确添加到搜索路径下,这种情况一般不会发生。也就是说,通过逗文件夹
-> 运行matlab
->添加路径地步骤后,该文件夹下所有文件应该都可以访问到。但是,当你对该文件夹下的m文件更新(包括修改和新增)了以后,此时如果你不重启matlab,则可能会出现找不到m文件的问题(特别是该工具箱中的文件没有依赖关系,它们只是被放在一起方便调用,当你新增一个m文件到该文件夹下而不重启matlab的时候,会造成这一新增m文件访问失败)。解决这个问题的方法之一显然是重启matlab,如果你不想重启,也可用第二个方法:在命令窗口输入:
rehash toolbox ,逗强制地matlab刷新toolbox目录下的所有文件,这样就可以正确访问了。
❸ 如何向MATLAB中添加新工具箱
Matlab大部分函数都放在了toolbox这个文件夹下面。可以试着把需要的函数和工具箱放进去看看能不能用。象matlab升级以后功能会更强大,包含的工具箱也越多,所占用的硬盘空间也变得很大。建议你安装的时候选择自定义安装,只装自己需要的几个工具箱,看你需要是用在什么专业,它里面有很多比如财务工具箱,航空工具箱,生物技术工具箱对与我专业就没有用,就可以不安装。这样就省了空间了。 总结一下matlab添加工具箱的方法:第一种:如果是安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录,然后用pathtool添加工具箱的路径。在命令窗口中敲入pathtool,会出现一个setpath的窗口,点add folder或者add with subfolders按钮,选中你的工具箱。保存既可。任选工具箱中的一个命令,然后help一下看看是否好使。字数限制。举例:我下载了支持向量基工具箱,解压后,里边有一个目录svm 我的matlab安装在D:MATLAB6p5 将svm目录拷贝至D:MATLAB6p5toolbox 然后运行matlab,在命令窗口输入addpath D:MATLAB6p5toolboxsvm回车,来添加路径。 然后在svm目录下,任意找一个m文件,以svcinfo.m为例 在命令窗口中输入which svcinfo.m 如果显示出该文件路径,如 D:MATLAB6p5toolboxsvmsvcinfo.m 则安装成功
❹ matlab里有什么工具箱,可以用FFT(快速傅立叶变换)做频谱分析
1、采样数据导入Matlab 。
采样数据的导入至少有三种方法。
第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。
第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。
第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load等,如采样数据保存在txt文件中,则推荐使用 textread命令。如[a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。
2、对采样数据进行频谱分析 。
频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100;
t=[0:1/fs:100];
N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N
p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t);
%上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析
figure(1) plot(t,p); grid on
title('信号 p(t)'); xlabel('t') ylabel('p') Y=fft(p);
magY=abs(Y(1:1:N/2))*2/N; f=(0:N/2-1)'*fs/N; figure(2)
%plot(f,magY);
h=stem(f,magY,'fill','--');
set(h,'MarkerEdgeColor','red','Marker','*') grid on
title('频谱图 (理想值:[0.48Hz,1.3]、[0.52Hz,2.1]、[0.53Hz,1.1]、[1.8Hz,0.5]、[2.2Hz,0.9]) '); xlabel('f (Hz)') ylabel('幅值')
对于现实中的情况,采样频率fs一般都是由采样仪器决定的,即fs为一个给定的常数;另一方面,为了获得一定精度的频谱,对频率分辨率F有一个人为的规定,一般要求F<0.01,即采样时间ts>100秒;由采样时间ts和采样频率fs即可决定采样数据量,即采样总点数N=fs*ts。这就从理论上对采样时间ts和采样总点数N提出了要求,以保证频谱分析的精准度。
❺ matlab 解答
Matlab常用工具箱MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系统工具箱
Communication Toolbox——通讯工具箱
Financial Toolbox——财政金融工具箱
System Identification Toolbox——系统辨识工具箱
Fuzzy Logic Toolbox——模糊逻辑工具箱
Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱
Image Processing Toolbox——图象处理工具箱
LMI Control Toolbox——线性矩阵不等式工具箱
Model predictive Control Toolbox——模型预测控制工具箱
μ-Analysis and Synthesis Toolbox——μ分析工具箱
Neural Network Toolbox——神经网络工具箱
Optimization Toolbox——优化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——鲁棒控制工具箱
Signal Processing Toolbox——信号处理工具箱
Spline Toolbox——样条工具箱
Statistics Toolbox——统计工具箱
Symbolic Math Toolbox——符号数学工具箱
Simulink Toolbox——动态仿真工具箱
Wavele Toolbox——小波工具箱 [编辑本段]常用函数Matlab内部常数[3]
eps:浮点相对精度
exp:自然对数的底数e
i 或 j:基本虚数单位
inf 或 Inf:无限大, 例如1/0
nan或NaN:非数值(Not a number),例如0/0
pi:圆周率 p(= 3.1415926...)
realmax:系统所能表示的最大数值
realmin:系统所能表示的最小数值
nargin: 函数的输入引数个数
nargout: 函数的输出引数个数
lasterr:存放最新的错误信息
lastwarn:存放最新的警告信息
MATLAB常用基本数学函数
abs(x):纯量的绝对值或向量的长度
angle(z):复数z的相角(Phase angle)
sqrt(x):开平方
real(z):复数z的实部
imag(z):复数z的虚部
conj(z):复数z的共轭复数
round(x):四舍五入至最近整数
fix(x):无论正负,舍去小数至最近整数
floor(x):地板函数,即舍去正小数至最近整数
ceil(x):天花板函数,即加入正小数至最近整数
rat(x):将实数x化为分数表示
rats(x):将实数x化为多项分数展开
sign(x):符号函数 (Signum function)。
当x<0时,sign(x)=-1;
当x=0时,sign(x)=0;
当x>0时,sign(x)=1。
rem(x,y):求x除以y的馀数
gcd(x,y):整数x和y的最大公因数
lcm(x,y):整数x和y的最小公倍数
exp(x) :自然指数
pow2(x):2的指数
log(x):以e为底的对数,即自然对数或
log2(x):以2为底的对数
log10(x):以10为底的对数
MATLAB常用三角函数
sin(x):正弦函数
cos(x):余弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反余弦函数
atan(x):反正切函数
atan2(x,y):四象限的反正切函数
sinh(x):双曲正弦函数
cosh(x):双曲余弦函数
tanh(x):双曲正切函数
asinh(x):反双曲正弦函数
acosh(x):反双曲余弦函数
atanh(x):反双曲正切函数
适用于向量的常用函数有
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内积
cross(x, y): 向量x和y的外积
MATLAB基本绘图函数
plot: x轴和y轴均为线性刻度(Linear scale)
loglog: x轴和y轴均为对数刻度(Logarithmic scale)
semilogx: x轴为对数刻度,y轴为线性刻度
semilogy: x轴为线性刻度,y轴为对数刻度
matlab插值和样条plot绘图函数的参数
字元 颜色 字元 图线型态
y 黄色 . 点
k 黑色 o 圆
w 白色 x x
b 蓝色 + +
g 绿色 * *
r 红色 - 实线
c 亮青色 : 点线
m 锰紫色 -. 点虚线
-- 虚线
注解
xlabel('Input Value'); % x轴注解
ylabel('Function Value'); % y轴注解
title('Two Trigonometric Functions'); % 图形标题
legend('y = sin(x)','y = cos(x)'); % 图形注解
grid on; % 显示格线
二维绘图函数
bar 长条图
errorbar 图形加上误差范围
fplot 较精确的函数图形
polar 极座标图
hist 累计图
rose 极座标累计图
stairs 阶梯图
stem 针状图
fill 实心图
feather 羽毛图
compass 罗盘图
quiver 向量场图[4]
❻ matlab2014工具箱在哪
这样的:一、 单一变量的曲线逼近
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线
性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。
假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行输入数据:
》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447
296.204 311.5475]
》y=[5 10 15 20 25 30 35 40 45 50]
2、启动曲线拟合工具箱
》cftool
3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然
后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数
据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单
选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类
型有:
Custom Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-
preserving
Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th
degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改
待估计参数的上下限等参数;
——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear
Equations线性等式”和“General Equations构造等式”两种标签。
在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函
数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。
(5)类型设置完成后,点击“Apply”按钮,就可以在Results框中得到拟合结果,如下例:
general model:
f(x) = a*x*x+b*x
Coefficients (with 95% confidence bounds):
a = 0.009194 (0.009019, 0.00937)
b = 1.78e-011 (fixed at bound)
Goodness of fit:
SSE: 6.146
R-square: 0.997
Adjusted R-square: 0.997
RMSE: 0.8263
同时,也会在工具箱窗口中显示拟合曲线。
这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在“
Fitting”窗口点击“New fit”按钮,按照步骤(4)~(5)进行一次新的拟合。
不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变
量只能有一个。对于混合型的曲线,例如 y = a*x + b/x ,工具箱的拟合效果并不好。下一
篇文章我介绍帮同学做的一个非线性函数的曲线拟合。
❼ 如何使用matlab中的工具箱
1
MATLAB自带工具箱
查看方式:
我们首先详细介绍一下MATLAB自带工具箱的使用。
在我们不熟悉一些调用工具箱的命令的时候,我们可以按照如下图所示:
在MATLAB主窗口中,点击左下角start--toolboxes,就会罗列出你的MATLAB已经安装的所有工具箱,可以根据你的需要选择你将要使用的工具箱。我们可以看到有拟合工具箱、金融工具箱、最优化工具箱等等。
2
调用(打开)方式:
下面我们介绍一下如何打开一个工具箱。
我们以调用拟合工具箱为例,进行详细的示例。
调用方式一:
按照如下图所示的步骤:
点击主窗口左下角start--toolboxes--curve fitting--curve fitting tool 单击,就可以打开拟合工具箱.
3
调用方式二:
在上一步中,我们在start--toolboxes--curve fitting--curve fitting tool ,到这里的时候,会看到在其后面有一个简写 cftool 如下图,这就是我们的拟合工具箱调用命令函数。在MATLAB主窗口中输入cftool ,回车,同样可以打开拟合工具箱。
4
工具箱的使用:
拟合工具箱打开之后,如下,我们就可以进行多种曲线拟合了。
关于MATLAB拟合工具箱等,一些工具箱的详细用法,由于篇幅的有限,在我的其他经验中都会陆续给出,有兴趣的可以查看。
5
非自带工具箱
非自带工具箱,需另外下载,然后按照一定的步骤导入,导入后一般不能像上面工具箱一样,通过界面操作,一般都通过函数使用。由于工具箱的导入有几个小的细节需要注意,所以在我的其他经验中,关于如何导入工具箱,我也进行了详细的介绍。
❽ MATLAB里的Toolboxes怎么使用急求高手指点!!!
MATLAB工具箱介绍
有三十多个工具箱大致可分为两类:功能型工具箱和领域型工具箱。
功能型工具箱主要用来扩充MATLAB的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能用于多种学科。
领域型工具箱是专业性很强的。如图像处理工具箱(Image Processing Toolbox)、控制工具箱(Control Toolbox)、信号处理工具箱(Signal Processing Toolbox)等。下面,将MATLAB工具箱内所包含的主要内容做简要介绍:
1) 图像处理工具箱(Image Processing Toolbox)。
* 二维滤波器设计和滤波
* 图像恢复增强
* 色彩、集合及形态操作
* 二维变换
* 图像分析和统计
可由结构图直接生成可应用的C语言源代码。
2)控制系统工具箱(Control System Toolbox)。
鲁连续系统设计和离散系统设计
* 状态空间和传递函数
* 模型转换
* 频域响应:Bode图、Nyquist图、Nichols图
* 时域响应:冲击响应、阶跃响应、斜波响应等
* 根轨迹、极点配置、LQG
3)财政金融工具箱(FinancialTooLbox)。
* 成本、利润分析,市场灵敏度分析
* 业务量分析及优化
* 偏差分析
* 资金流量估算
* 财务报表
4)频率域系统辨识工具箱(Frequency Domain System ldentification Toolbox
* 辨识具有未知延迟的连续和离散系统
* 计算幅值/相位、零点/极点的置信区间
* 设计周期激励信号、最小峰值、最优能量诺等
5)模糊逻辑工具箱(Fuzzy Logic Toolbox)。
* 友好的交互设计界面
* 自适应神经—模糊学习、聚类以及Sugeno推理
* 支持SIMULINK动态仿真
* 可生成C语言源代码用于实时应用
(6)高阶谱分析工具箱(Higher—Order SpectralAnalysis Toolbox
* 高阶谱估计
* 信号中非线性特征的检测和刻画
* 延时估计
* 幅值和相位重构
* 阵列信号处理
* 谐波重构
(7) 通讯工具箱(Communication Toolbox)。
令提供100多个函数和150多个SIMULINK模块用于通讯系统的仿真和分析
——信号编码
——调制解调
——滤波器和均衡器设计
——通道模型
——同步
(8)线性矩阵不等式控制工具箱(LMI Control Toolbox)。
* LMI的基本用途
* 基于GUI的LMI编辑器
* LMI问题的有效解法
* LMI问题解决方案
(9)模型预测控制工具箱(ModelPredictive Control Toolbox
* 建模、辨识及验证
* 支持MISO模型和MIMO模型
* 阶跃响应和状态空间模型
(10)u分析与综合工具箱(u-Analysis and Synthesis Toolbox)
* u分析与综合
* H2和H无穷大最优综合
* 模型降阶
* 连续和离散系统
* u分析与综合理论
(11)神经网络工具箱(Neursl Network Toolbox)。
* BP,Hopfield,Kohonen、自组织、径向基函数等网络
* 竞争、线性、Sigmoidal等传递函数
* 前馈、递归等网络结构
* 性能分析及应用
(12)优化工具箱(Optimization Toolbox)。
* 线性规划和二次规划
* 求函数的最大值和最小位
* 多目标优化
* 约束条件下的优化
* 非线性方程求解
(13)偏微分方程工具箱(Partial DifferentialEquation Toolbox)。
* 二维偏微分方程的图形处理
* 几何表示
* 自适应曲面绘制,
* 有限元方法
(14)鲁棒控制工具箱(Robust Control Toolbox)。
* LQG/LTR最优综合
* H2和H无穷大最优综合
* 奇异值模型降阶
* 谱分解和建模
(15)信号处理工具箱(signal Processing Toolbox)
* 数字和模拟滤波器设计、应用及仿真
* 谱分析和估计
* FFT,DCT等变换
* 参数化模型
(16)样条工具箱(SPline Toolbox)。
* 分段多项式和B样条
* 样条的构造
* 曲线拟合及平滑
* 函数微分、积分
(17)统计工具箱(Statistics Toolbox)。
* 概率分布和随机数生成
* 多变量分析
* 回归分析
* 主元分析
* 假设检验
(18)符号数学工具箱(Symbolic Math Toolbox)。
* 符号表达式和符号矩阵的创建
* 符号微积分、线性代数、方程求解
* 因式分解、展开和简化
* 符号函数的二维图形
* 图形化函数计算器
(19)系统辨识工具箱(SystEm Identification Toolbox)
* 状态空间和传递函数模型
* 模型验证
* MA,AR,ARMA等
* 基于模型的信号处理
* 谱分析
(20)小波工具箱(Wavelet Toolbox)。
* 基于小波的分析和综合
* 图形界面和命令行接口
* 连续和离散小波变换及小波包
* 一维、二维小波
* 自适应去噪和压缩