matlab GUI界面实现单选按钮(radiobutton)

matlab GUI界面中的radiobutton按钮不提供互斥功能,要通过程序实现。

假设有3个radiobutton,分别为radiobutton1、radiobutton2、radiobutton3。

radiobutton1的回调函数:

function radiobutton1_Callback(hObject, eventdata, handles)

set(handles.radiobutton1,’value’,1);

set(handles.radiobutton2,’value’,0);

set(handles.radiobutton3,’value’,0); 继续阅读

Matlab中计算程序运行时间的方法

(其一)

MATLAB实际单位时间计时函数的具体应用,在编写程序时,经常需要获知代码的执行实际时间,这就需要在程序中用到计时函数,matlab中提供了以下三种方法:

1.cputime(单位不明)

返回matlab启动以来的CPU时间,可以在程序执行钱保存当时的CPU时间,然后在程序执行结束后用cputime减去运行前保存的数值,就可以获取程序的实际运行时间

>>t0=cputime;pause(3);TimeCost=cputime-t0

2.tic/toc(单位s)

tic用在程序的开始,作用是启动一个计时器,然后在程序尾部放一个toc,表示终止计时器,并返回tic启动以来的总时s间

3.etime(单位s)

etime(t1,t2)用来计算两个日期向量t1和t2之间的时间差,结合前面讲到的clock函数也可以用来确定程序代码的运行时间

>>t0=clock;pause(3);TimeCost=etime(clock,t0) 继续阅读

Matlab 2012a 安装后问题解决方式

1、安装过 Matlab 2007 之后,卸载重装 Matlab2012a,安装完毕后没有开始菜单选项与桌面启动项?

解决方法: 在Matlab2012a安装目录下,需找 matlab_root\R2012a\bin\win32\MATLAB(.EXE) ,发送快捷方式可方便打开 Matlab2102a

如:Matlab 安装在 E:\Program Files\MATLAB

则 打开”E:\Program Files\MATLAB\R2012a\bin\win32\MATLAB(.EXE)”

【附百度知道回答,本人认为这个最好】“因为你在安装的过程中,有一个选择需要的安装选项,将matlab快捷方式添加到“桌面”或者“开始”菜单中的“程序”文件夹,你没有勾选,就导致这样的结果了,我也是这样,重装一次就好了,点“覆盖”,然后记得勾选任一项就OK了,希望对你有帮助。”

若打开 bin 文件下的 Matlab ,则每次启动时都会有黑框出现; 继续阅读

MATLAB元胞数组

元胞数组: 

元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞(cell)。和一般的数值矩阵一样,元胞数组的内存空间也是动态分配的。

(1)元胞数组的创建

>> a={‘matlab’,20;ones(2,3),1:10}

a =

‘matlab’ [ 20]

[2×3 double] [1×10 double]

>> b=[{‘matlab’},{20};{ones(2,3)},{1:10}] 继续阅读

Matlab数据类型及转换

Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。

       1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127;

       2、浮点:(single;double)

浮点数:REALMAX(‘double’)和REALMAX(‘single’)分别返回双精度浮点和单精度浮点的最大值,REALMIN(‘double’)和REALMIN (‘single’)分别返回双精度浮点和单精度浮点的最小值。

3、逻辑:(logical)

Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于0.5的元素设定为0:

      A = rand(5);

      A(A>0.5)=0; 继续阅读

MATLAB程序的优化

第一、matlab能不用循环尽量不用循环

% % Nannan wang says that in matlab, cycling(循环) is time-consuming.

% % 能不用循环就不用循环

% % The easiest example to illustrate this idea

已知两个矩阵A,B,求所有元素对应相乘之和

思路一:用两重循环实现

思路二:点乘后的矩阵用C表示,sum(C(:)),思路二更好,没用循环

第二、预先分配存储空间

tic;

a=zeros(1000,10000);

for i=1:1000

a(i,:)=randperm(10000);

end

toc;

20130111在我的笔记本测试,需要时间1.115140 seconds;如果将a=zeros(1000,10000)注释,在我的笔记本测试,需要时间19.308252 seconds

from: http://www.cppblog.com/guijie/archive/2012/09/21/191520.html