
S1: Matlab
涛歌依旧
毕业后就职于华为和腾讯
展开
-
一个小程序入门matlab
clearclctotal = 0;for i = 1 : 2 : 99 total = total + i;endtotal %输出totalsum = sum(1 : 2 : 99)结果为:total = 2500sum = 2500原创 2012-10-22 09:23:08 · 10960 阅读 · 3 评论 -
matlab中的矩阵是行优先还是列优先?
最近用matlab, 发现matlab偏爱列,查了一下资料,发现matlab和Fortran一样,都是列优先的. 与之相反的是C++, 是行优先的. 下面写个小程序来看看matlab是如何偏爱列的:clearclca = ones(3, 5)sum(a) % 每一列的元素相加 结果为:a = 1 1 1 1 1原创 2013-01-07 21:54:00 · 22771 阅读 · 2 评论 -
用matlab时就用matlab思维(在某些领域,C在matlab面前不要装逼)
在数据计算和数据分析领域,matlab的强大功能是C无法比拟的,请不要装逼地说C有多厉害,多强大. 尤其涉及到矩阵和向量时,就更是matlab的主场. C请暂时靠边站. 在写matlab程序时候,不要用C思维, 下面先写个C程序,然后写个对应的matlab程序,就明白了. C程序:#include int main(){ int a[3][原创 2013-01-08 10:03:36 · 8575 阅读 · 1 评论 -
cif420格式的yuv视频帧间差异性
先给出qcif情况下的matlab代码:原创 2013-01-07 16:22:39 · 8087 阅读 · 1 评论 -
qcif420格式的yuv视频帧间差异性
matlab代码为:原创 2013-01-07 16:23:26 · 8215 阅读 · 1 评论 -
如果大致估计matlab程序的运行时间?
一直没空写, sorry.原创 2013-01-07 21:55:42 · 9687 阅读 · 8 评论 -
一个非常简单的类JPEG编解码仿真
clearclcRGB = imread('C:\Documents and Settings\Administrator\桌面\zoo.jpg'); % 读入原始图像I = rgb2gray(RGB); % 将彩色图像转化为灰度图像,以便进行DCT变换。J = dct2(I); % DCT变换% 下面这个操作类似于一个J原创 2012-11-07 15:21:00 · 8551 阅读 · 1 评论 -
用matlab实现一个简单的离群点挖掘(与时序无关)
有时候,在视频特征分析中,要用到离群点挖掘,现给出一个简单的离群点挖掘的例子. 设向量为x = [1 1.1 1.2 1.3 1.4 2 0.2 1.2 1.3 1.4 0.9 1.1 1.2 10]; 那么,如何能挖掘出其中的离群点呢?详见如下matlab代码:clearclck1 = 1;k2 = 1;inlier = [];outli原创 2012-11-08 18:52:20 · 17392 阅读 · 6 评论 -
用matlab实现一个简单的离群点挖掘(与时序有关)
在视频分析中,需要用到离群点挖掘,下面给出一个简单的离群点挖掘, matlab代码如下:clearclcorgX = [1 1 0 3 4 5 2 70 100 100 100 6 60 3 2 2 1 1 0]k = 3;th = 1;outlier = [];x = newArray(orgX, k)len = length(x);avera原创 2012-11-13 12:08:54 · 11673 阅读 · 1 评论 -
qcif420格式YUV视频的删帧函数
matlab代码为:% qcif yuv420视频删帧, x是文件名,t1是起始帧,t2是终止帧(删除[t1, t2])% 假定x中的帧数小不超过2400帧function qcif_delete_frames(x, t1, t2)width = 176;height = 144;n = width * height;m = n * 3 / 2; % yuv420fi原创 2012-12-31 13:02:13 · 8237 阅读 · 0 评论 -
cif420格式YUV视频的删帧函数
先给出qcif yuv420删帧的matlab代码:% qcif yuv420视频删帧, x是文件名,t1是起始帧,t2是终止帧(删除[t1, t2])% 假定x中的帧数小不超过2400帧function qcif_delete_frames(x, t1, t2)width = 176;height = 144;n = width * height;m = n * 3 /原创 2012-12-31 13:02:53 · 7966 阅读 · 0 评论 -
也谈matlab中读取视频的一个重要函数mmreader
在matlab中输入help mmreader来查阅一下该函数,有如下信息:MMREADER Create a multimedia reader object. OBJ = MMREADER(FILENAME) constructs a multimedia reader object, OBJ, that can read in video data from原创 2012-12-31 22:28:23 · 29921 阅读 · 18 评论 -
如何把无损压缩的.avi转化成RGB进而转化为YUV420?(cif和qcif都可以)
有一种.avi视频是无损压缩的,实际上是对原始视频的一个封装而已,现把无损压缩的.avi转化成RGB进而转化为YUV. 关于矩阵问题,matlab显然要比C方便太多, 现给出matlab代码:clearclccd('C:\Documents and Settings\Administrator\桌面\matlab');fileName = 'ntia_wfall-qcif_origin原创 2013-01-04 09:57:44 · 10702 阅读 · 0 评论 -
如何用matlab索引文件夹中的所有.txt文件?
对文件夹中的所有某些形式的文件进行批量索引很重要, 经常遇到. 现在test文件夹中有1.txt, 2.txt, 3.txt,..., 100.txt, 那么如果对这些文件进行批量的索引呢?matlab代码如下:clearclccd('C:\Documents and Settings\Administrator\桌面\matlab\test'); % 设置当前目录myFile =原创 2012-11-27 15:41:10 · 10938 阅读 · 1 评论 -
matlab是大小写敏感的语言吗?
clearclci = 3j = I + 4 程序有误,可见:matlab是大小写敏感的语言. 应改正为:clearclci = 3j = i + 4原创 2013-01-05 11:00:16 · 13832 阅读 · 2 评论 -
在利用matlab处理图像时务必慎用abs函数
先看下面程序:clearclccd('C:\Documents and Settings\Administrator\桌面');I = imread('pig.jpg');B = I(:, :, 3);a = 200b = 220c = B(100, 100)d1 = abs(a - c)d2 = abs(c - b) 结果原创 2012-12-26 15:37:36 · 16880 阅读 · 3 评论 -
如何用matlab批量新建和删除文件夹?
有时,需要批量地新建多个文件夹,现用matlab来实现: clearclccd('C:\Documents and Settings\Administrator\桌面\matlab\test'); % 设置当前目录:current directory for i = 1 : 100 folderName{i} = ['movie', num2str(i)];原创 2012-11-27 14:24:34 · 29238 阅读 · 5 评论 -
matlab中movefile和copyfile的重要用途
clearclccd('C:\Documents and Settings\Administrator\桌面\matlab\test'); % 设置当前目录% 此时test文件夹中有:文件夹1, 文件夹2, 文件1.txt, 文件2.txtmovefile('1.txt', '11.txt'); % 把1.txt剪切成11.txt(1.txt不存在了),实际上相当于改名原创 2012-11-27 15:55:13 · 61880 阅读 · 4 评论 -
matlab中fprintf, fscanf, fwrite, fread函数的用法
clearclccd('C:\Documents and Settings\Administrator\桌面\matlab\test');a = 1 : 10;fid = fopen('myData.txt', 'w');fprintf(fid, '%d ', a);fclose(fid); 上述程序生成了myData.txt文件,其中的内容为:1原创 2012-11-27 20:44:03 · 71462 阅读 · 5 评论 -
利用matlab实现图的绘制、保存、关闭
clearclccd('C:\Documents and Settings\Administrator\桌面\matlab\test');vector = ones(1, 100);stem(vector);title('myFigure'); % 图名称hgsave('myFigure.fig'); % 图保存时的名称close all; % 关闭图窗口原创 2012-11-27 21:25:43 · 22060 阅读 · 0 评论 -
matlab中如何实现对不同类型对象(类型也可相同)的索引?(很重要的用法)
在matlab中,现在有若干个对象,这些对象可能是一个整数,可能是一个字符串,可能是一个向量,甚至可能是一个矩阵,那么,如何对这些不同类型对象(类型也可相同)进行统一的索引呢?matlab代码如下:clearclca{1} = 1;a{2} = '12';a{3} = ones(1, 3);a{4} = ones(1, 4);a{5} = magic(3);原创 2012-11-27 22:12:38 · 10644 阅读 · 0 评论 -
matlab中如何删除向量和矩阵中的元素?
碰到一个问题,要删除文件中的某些数据,于是想到用matlab来实现,matlab中删除向量和矩阵中的元素的代码如下:clearclcfor i = 1 : 10 a(i) = i;endaa(1 : 5) = [];ab= magic(5)b(:, 1 : 2) = [];b 结果为:a = 1原创 2012-11-27 23:11:43 · 62636 阅读 · 3 评论 -
matlab中inline的用法
在matlab中,可以用inline把串转成函数,代码如下:clearclcf = inline('a * x * x + b * x + c', 'a', 'b','c', 'x')f(1, 2, 3, 1) 结果为:f = Inline function: f(a,b,c,x) = a * x * x + b * x + c原创 2012-11-15 14:42:10 · 54146 阅读 · 2 评论 -
如何用matlab启动.exe文件?
有时候,用matlab做实验的时,在matlab执行的过程中,要启动.exe程序,当然肯定不能指望用手动方式来启动,那么matlab是如何做到的呢? 设C++程序为:#includeusing namespace std;int main(){ int a = 1; int b = 2; int c = a + b; cout << c <<原创 2012-11-02 19:04:38 · 22960 阅读 · 2 评论 -
利用matlab把向量b插入到a中
自定义函数,函数为:function vectorA = insertBIntoA(vectorA, location, vectorB)% 把向量vectorB插入到向量vectorA中,插入位置为location之后lenA = length(vectorA);lenB = length(vectorB);vectorA(location + lenB + 1 :原创 2012-12-04 16:41:43 · 9915 阅读 · 0 评论 -
如何用matlab求函数的最值?
用matlab求函数最值的方法有很多,下面给出一个非常直观的求最值的方法:(不要求函数处处可导)clearclct= -100:0.001:100;syms x;y = x/(x * x + 1);f = inline(y);max = max(f(t))min = min(f(t)) 结果为:max = 0.50原创 2012-11-15 20:37:47 · 54480 阅读 · 3 评论 -
matlab多项式拟合
clearclct = 1 : 16;y = [1 4 9 16 25 36 49 64 81 100 121 144 169 800 900 1000];plot(t, y, '*') p = polyfit(t, y, 10); % p是拟合的多项式系数向量t1 = 1 : 0.1 : 16;y1 = polyval(p, t1);figure原创 2012-12-04 20:42:49 · 8194 阅读 · 1 评论 -
matlab中变量名与函数名相同时程序有危险
下面程序有误:clearclcmax = max(3, 5);max = max(1, 2); 应改为:clearclcmax1 = max(3, 5);max2 = max(1, 2);原创 2012-12-23 13:48:12 · 11153 阅读 · 0 评论 -
如何把未压缩的.avi文件批量地转为.yuv文件(yuv420)?
clearclccd('F:\qcifAvi');myFile = dir('*.avi'); % 无损压缩的.avi文件集合for i = 1 : length(myFile) % qcifAvi目录下.avi文件的个数为: length(myFile) name{i} = myFile(i).name(1:length(myFile(i).name)); % .avi文原创 2013-01-06 14:24:55 · 9156 阅读 · 0 评论