matlab笔记
qq_2773878606
学生
展开
-
Prod 函数
Prod 函数Product of array elements矩阵元素乘积Syntax语法B = prod(A)B = prod(A,dim)Description描述B = prod(A) returns the products along different dimensions of an array.B=p原创 2015-07-26 14:59:06 · 1799 阅读 · 0 评论 -
mse函数(均方误差函数)
mse(a) ----------------------------函数等价于sum(a.^2)/lenght(a);MSE和RMSE都是网络的性能函数。MSE是(神经)网络的均方误差,叫"Mean Square Error"。比如有n对输入输出数据,每对为[Pi,Ti],i=1,2,...,n.网络通过训练后有网络输出,记为Yi。那MSE=(求和(Ti-Yi)^2(i=1原创 2015-07-26 21:21:37 · 52028 阅读 · 1 评论 -
Matlab稀疏矩阵
SPARSE函数 S = sparse(A) -----> 把全矩阵转换为稀疏矩阵 S = sparse(i,j,s,m,n,nzmax) -----> 标准形式 S = sparse(i,j,s,m,n), nzmax=length(s) S = sparse(i,j,s), m = max(i), n = max(原创 2015-07-25 19:10:15 · 1487 阅读 · 0 评论 -
crossvalind函数 (交叉验证函数)
crossvalind是cross-valindation的缩写,意即交叉检验。 常用的形式有: ①Indices =crossvalind('Kfold', N, K) ②[Train, Test] = crossvalind('HoldOut',N, P) ③[Train, Test] = crossvalind('LeaveMOut',N, M) ④[Train, Tes原创 2015-07-26 21:13:12 · 14909 阅读 · 1 评论 -
协方差和协方差矩阵
协方差的定义 对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定则X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4转载 2015-07-27 22:40:44 · 474 阅读 · 0 评论 -
循环中矩阵数的添加
第一种添加方式:a=[];for i=1:ma[i]=rand;end第二种添加方式:或者for i=1:ma=[a rand];end原创 2015-07-27 11:33:11 · 666 阅读 · 0 评论 -
一二三维矩阵的拼接问题
矩阵数据的连接:主要分为三类:(1)以为矩阵的连接可以直接写假设 :a=[m n ]; 就把 m n 这两个一维的向量连接起来合成一个向量;a=[m,n]a = 1 2 3 4;二维矩阵的 连接: m=[1 2 ;3 4];n=[5 6;7 8];>> a=[m;n]a = 1原创 2015-07-15 10:01:02 · 8943 阅读 · 0 评论 -
matlab中reshape和repmat函数的用法
reshape把指定的矩阵改变形状,但是元素个数不变,例如,行向量:a = [1 2 3 4 5 6]执行下面语句把它变成3行2列:b = reshape(a,3,2)执行结果:b =1 42 53 6reshape 函数再用运用时,必须保证矩阵元素的个数是相同的,假设矩阵A是4*4矩阵,reshape 成的新矩阵的M*N,M*N转载 2015-07-15 10:11:20 · 6842 阅读 · 0 评论 -
matlab中矩阵的各种分解
矩阵分解.1 Cholesky分解函数 chol格式 R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。[R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。2 LU分解矩阵的三角分解又称LU转载 2015-07-15 10:13:49 · 6682 阅读 · 0 评论 -
MATLAB中nargin 的用法
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为1,如果两个变量都没有输入,则默认两者均为1。function y=test1(a,b)if nargin==0 a=1;b=1;elseif nargin=转载 2015-07-15 10:16:30 · 2167 阅读 · 0 评论 -
matlab 寻找二进制图像边缘
I = imread('rice.png');%读入图像BW = im2bw(I, graythresh(I));%转换成2进制图像[B,L] = bwboundaries(BW,'noholes');%寻找边缘,不包括孔imshow(label2rgb(L, @jet, [.5 .5 .5]))%显示图像,用不同的彩色描述不同 的边界hold onfor k = 1:leng转载 2015-07-15 10:24:32 · 1440 阅读 · 0 评论 -
用界面读取图片并且保存图片的方法
uiputfile函数可以读取建立界面读取各种类型的文件,下面是读取图片的例子:读取图片得到图片的存储地址:[filename, pathname]=... uiputfile({'*.jpg';'*.bmp';'*.gif'},'choose image pathway'); %界面的名称为choose image pathway,读取文件的类型*.jpg';'转载 2015-07-15 10:35:43 · 599 阅读 · 0 评论 -
图像的灰度化以及二值图函数
灰度化函数主要用rgb2gray()函数,,二值化函数主要是im2bw(I,alpha)函数:、程序如下:I=imread('C:/lena.jpg');% I=rgb2gray(I); %彩色变灰度图% figure;% imshow(I);I=im2bw(I,0.5); %二值化处理,o.5是界限,大于0.5的像素设置为1,小于0.5的像素设置为0原创 2015-07-15 10:43:39 · 1231 阅读 · 0 评论 -
添加当前文件夹及其子文件夹到以及别而的文件夹到当前路径
addpath(genpath(pwd)),代表当MATLAB搜素时,搜索范围包含当前文件夹中的子文件夹addpath -Add folders to search pathAlternativesAs an alternative to the addpath function, use the Set Path dialog box.Syntax转载 2015-07-15 10:48:02 · 839 阅读 · 0 评论 -
图像的模糊化(像素偏移)
clear all;close all;clc;img=imread('lena.jpg');[h w]=size(img);imgn=img;n=4;for i=1:h for j=1:w offsetx=n*rand()-n/2; offsety=n*rand()-n/2; x=floor(i+offsetx);原创 2015-07-28 22:15:25 · 2792 阅读 · 1 评论 -
自动调节图像的对比度 和改变图像的大小
imadjust函数用于调整图片的对比度,将图片中一定范围内的像素,进行拉伸,或者增强或者减小对比度Inew = imadjust(I, stretchlim(I), []);% stretchlim表示需要拉伸的范围[0.2 0.8] 后面跟的是拉伸后的范围可以写[0.4 0.6]等等imshow(I), figure, imshow(Inew)imresiz转载 2015-07-15 11:04:15 · 608 阅读 · 0 评论 -
matlab uicontrol中popupmenu(弹出式菜单)用法,用于显示不同的函数
h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例36');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onjb=uicontrol(gcf,'style','popupmenu',... 'string',... 'sin(转载 2015-07-15 11:11:17 · 8399 阅读 · 1 评论 -
MATLAB中常用的产生随机数的几种函数
1、rand函数rand函数用于产生在区间 [0, 1] 的均匀随机数,它是平均分布在 [0,1]之间。一个称为seed的值则是用来控制产生随机数的次数。均匀随机数函数的语法为rand(n),rand(m,n),其结果分别产生一矩阵含n×n个随机数和一矩阵含m×n的随机数。 rand(4)ans = 0.8147 0.6324 0.9575 0.9572原创 2015-07-15 17:17:08 · 1701 阅读 · 0 评论 -
plot函数
plot为高级绘图函数,实际调用的实地基函数line。 line函数在后面章节会详细介绍。1. plot(Y)若Y为向量,产生向量Y对应于其索引值的曲线;若Y为矩阵,生成矩阵的每列对应于行数的曲线集合;若Y为负数,等价于plot(real(Y),imag(Y))。>> a = [1 2;3 4];>>plot(a)2. p转载 2015-07-15 10:55:34 · 1014 阅读 · 0 评论 -
图像不断的腐蚀
clear all;close all;clc;img=imread('5.jpg');[m n]=size(img);m=double(m);n=double(n);Min=double(min(img(:))); %不断腐蚀的结果是像素全为最小值%Max=double(max(img(:))); %不断膨胀的结果是像素全为最大值w = strel('square转载 2015-07-28 22:08:47 · 469 阅读 · 0 评论 -
使用匿名函数和内嵌函数处理多变量传递问题
问题:有一个多变量函数f(abcx),现需要分别在a=a0b=b0c=c0和a=a1b=b1c=c1的条件下对f(abcx)进行某一操作。此类问题常在数值积分时出现。解决方案:1. 使用全局变量可在主调函数和被调函数中分别将a,b,c声明为全局变量(global a b c),这时f通过全局变量传递abc, 定义时可以只有一个参数x。2. 使用anonymous f转载 2015-07-15 10:58:29 · 462 阅读 · 0 评论 -
递归函数的理解 (三种类型)
函数的递归调用递归问题是一个说简单也简单,说难也有点难理解的问题.我想非常有必要对其做一个总结.首先理解一下递归的定义,递归就是直接或间接的调用自身.而至于什么时候要用到递归,递归和非递归又有那些区别?又是一个不太容易掌握的问题,更难的是对于递归调用的理解.下面我们就从程序+图形的角度对递归做一个全面的阐述.我们从常见到的递归问题开始:1 阶层函数#include iostre转载 2015-07-15 11:15:55 · 3514 阅读 · 0 评论 -
matlb中如何设置坐标轴的参数以及进行绘图的如何进行注释
设置坐标轴主要使用axis函数进行操作:axis([xmin xmax ymin ymax]); 表示设置坐标轴的x轴和y轴的范围;axis auto;主要是指根据值的范围自动的设置当前坐标值的范围;axis manual;表示保持当前的坐标轴的范围不变,除非手动的修改;axis tight;表示 设置当前坐标轴的x轴和y轴的范围为数值的范围;axis on原创 2015-07-15 21:02:18 · 1141 阅读 · 0 评论 -
matlab中句柄图性对像的设置
1、获取图形对象的属性列表或者属性列表的值调用格式:get(h,'propernamr');可以的得到图形对象h指定的属性值;2、设置对象属性值set(h,'propername','propervalue');h为设置的对象,例如图形窗口对象,propername 表示在图像窗口的一个属性,propervalue表示设置的值;例如:figure(1);set([0原创 2015-07-15 21:36:16 · 1470 阅读 · 0 评论 -
打开和保存文件的对话框
1、文件打开对话框:[filename ,pathname]=uigetfile()函数:用法:[filename ,pathname]=uigetfile(filterspec,'dialogtitle','defaultname','MultiSelect','on')解释:pathname表示所读取的文件在那个文件夹的名字,filename表示所读取文件的原创 2015-07-16 10:40:53 · 586 阅读 · 0 评论 -
MATLAB中各种对话框的设置
1、dialog 对话框创建一个对话框:h=dialog(‘propername','propervalue');创建一个带确定按钮的对话框:代码:h=dialog('Name','关于....','Position',[200 200 200 70]); %建立一个对话框uicontrol('Style','text','Units','pixels','Positi原创 2015-07-16 19:34:16 · 21935 阅读 · 2 评论 -
uicontrol图形对象用户界面的用法
uicontrol 创建用户界面控件对象。在窗体上创建各种组建(比如、按钮、静态文本框、弹出式菜单等)。语法:handle = uicontrol('PropertyName',PropertyValue,...)handle = uicontrol(parent,'PropertyName',PropertyValue,...)handle原创 2015-07-16 14:47:17 · 731 阅读 · 0 评论 -
MATLAB中sort函数对矩阵数进行排序
(1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序.eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3](2)B=sort(A,dim),对数组按指定方向进行升序排序,dim =1,表示对每一列进行排序,,dim=2表示对每一行进行排转载 2015-07-20 16:28:45 · 21553 阅读 · 0 评论 -
Matlab 图像处理 形态学 腐蚀 膨胀 开闭运算 连通分量
%% 第9章 形态学处理%% imdilate膨胀clcclearA1=imread('.\images\dipum_images_ch09\Fig0906(a)(broken-text).tif');info=imfinfo('.\images\dipum_images_ch09\Fig0906(a)(broken-text).tif')B=[0 1 0 1 1 1转载 2015-07-20 15:40:18 · 8177 阅读 · 0 评论 -
MATLAB 图像的傅里叶变换
clc;clear all;close all;img=imread('C:/lena.jpg');f=fft2(img); %对图像进行傅里叶变换f=fftshift(f); %将频谱中心移到中心r=real(f);i=imag(f);fudu=log(abs(f)); %图像得幅度xiangwei=log(原创 2015-08-01 16:32:51 · 3684 阅读 · 0 评论 -
Matlab中varargin函数
写了一个函数:function test(varargin) 那么在这个函数里,varargin就是一个cell数组,它包含了用户输入的参数。下面是一个例子:function test(varargin)disp(['nargin is ' num2str(nargin)]);for v=1:numel(varargin) disp(['vararg原创 2015-08-01 14:55:11 · 6213 阅读 · 0 评论 -
MATLAB 基本数据类型和调用方式
MATLAB的数据类型 MATLAB的数据类型主要包括数字、字符串、矩阵(数组)、单元型数据及结构型数据。能自动根据所赋予的值或对变量所进行的操作来确定变量的类型 .2.1.1变量与常量1.变量的命名规则:① 变量名区分大小写;② 变量名长度不超过31位,第31个字符之后的字符将被忽略;③ 变量名以字母开头,变量名中可包含字母、数字、下划线,但不能使用标点。2.常转载 2015-08-01 21:19:07 · 2477 阅读 · 0 评论 -
用图像的块的极大值对图像进行处理
clc;clear all;close all;img=imread('C:/lena.jpg');[m n]=size(img);I=zeros(m,n);for i=2:m-1 for j=2:n-1% sum=0;% for k=-1:1% for p=-1 :1% sum=s原创 2015-08-01 16:42:05 · 524 阅读 · 0 评论 -
MATLAB 求图像的极大值极小值,平均值
I=imread('c:/lena.jpg');imshow(I);[m n]=size(I);min=256;max=0;avg=0;for i=1:m for j=1:n if I(i,j)<min min=I(i,j); end if I(i,j)>max max=I(i,j原创 2015-08-01 16:26:41 · 8471 阅读 · 0 评论 -
Adaboost 算法的原理与推导
1 Adaboost的原理1.1 Adaboost是什么 AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预转载 2015-07-22 16:35:28 · 729 阅读 · 0 评论 -
支持向量机的理解
前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的时候还是显得不够。得益于同学白石的数学证明,我还是想尝试写一下,希望本文在兼顾通俗易懂的基础上,真真正正能足以成为一转载 2015-07-22 16:32:34 · 6953 阅读 · 2 评论 -
三角形的内接圆
clc;clear all;close all;p=rand(3,2);v12=(p(2,:)-p(1,:))/norm(p(2,:)-p(1,:));v13=(p(3,:)-p(1,:))/norm(p(3,:)-p(1,:));v21=(p(1,:)-p(2,:))/norm(p(2,:)-p(1,:));v23=(p(3,:)-p(2,:))/norm(p(2,:)-p(3,:原创 2015-08-04 19:51:06 · 638 阅读 · 0 评论 -
详解协方差与协方差矩阵
协方差的定义 对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定则X表示x轴可能出现的数,Y表示y轴可能出现的。转载 2015-09-02 15:39:32 · 489 阅读 · 0 评论 -
matlab读取/播放视频的函数(2)
1、用matlab读取avi 视频(只能读一定压缩各式的avi 电影,这是因为avi视频文件的编码有很多,而matlab只支持部分编码格式。可见http://blog.csdn.net/IdoIwill/article/details/2125838) aviinfo('d:\abc.avi'); %显示存在d 盘文件abc.avi 的信息,在matlab2010 版本中原创 2015-09-04 22:28:51 · 2862 阅读 · 0 评论 -
MATLAB-fminsearch函数的使用
MATLAB-fminsearch函数的使用 fminsearch函数用来求解多维无约束的线性优化问题 用derivative-free的方法找到多变量无约束函数的最小值 语法 x = fminsearch(fun,x0) x = fminsearch(fun,x0,options) [x,fval原创 2015-09-04 22:59:15 · 11359 阅读 · 2 评论