Matlab快速学习手册.docx

上传人:b****4 文档编号:3850282 上传时间:2023-05-06 格式:DOCX 页数:46 大小:33.91KB
下载 相关 举报
Matlab快速学习手册.docx_第1页
第1页 / 共46页
Matlab快速学习手册.docx_第2页
第2页 / 共46页
Matlab快速学习手册.docx_第3页
第3页 / 共46页
Matlab快速学习手册.docx_第4页
第4页 / 共46页
Matlab快速学习手册.docx_第5页
第5页 / 共46页
Matlab快速学习手册.docx_第6页
第6页 / 共46页
Matlab快速学习手册.docx_第7页
第7页 / 共46页
Matlab快速学习手册.docx_第8页
第8页 / 共46页
Matlab快速学习手册.docx_第9页
第9页 / 共46页
Matlab快速学习手册.docx_第10页
第10页 / 共46页
Matlab快速学习手册.docx_第11页
第11页 / 共46页
Matlab快速学习手册.docx_第12页
第12页 / 共46页
Matlab快速学习手册.docx_第13页
第13页 / 共46页
Matlab快速学习手册.docx_第14页
第14页 / 共46页
Matlab快速学习手册.docx_第15页
第15页 / 共46页
Matlab快速学习手册.docx_第16页
第16页 / 共46页
Matlab快速学习手册.docx_第17页
第17页 / 共46页
Matlab快速学习手册.docx_第18页
第18页 / 共46页
Matlab快速学习手册.docx_第19页
第19页 / 共46页
Matlab快速学习手册.docx_第20页
第20页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab快速学习手册.docx

《Matlab快速学习手册.docx》由会员分享,可在线阅读,更多相关《Matlab快速学习手册.docx(46页珍藏版)》请在冰点文库上搜索。

Matlab快速学习手册.docx

Matlab快速学习手册

Matlab快速学习手册

一、矩阵

1矩阵表示

由m行n列构成的数组称为(m×n)阶矩阵。

用"[]"方括号定义矩阵;其中方括号内","逗号或""空格号分隔矩阵列数值;";"分号或"Enter"回车键分隔矩阵行数值。

例:

a=[a11a12a13;a21a22a23]或a=[a11,a12,a13;a21,a22,a23]定义了一个2*3阶矩阵a。

aij可以为数值、变量、表达式或字符串,如为数值与变量得先赋值,表达式和变量可以以任何组合形式出现,字符串须每一行中的字母个数相等,调用时缺省状态按行顺序取字母,如a

(1)为第一行第一个字母。

2运算方法:

A+B,A-B,8A,A的平方,A*B,矩阵A的逆.

A+B:

矩阵相加>>A=ones(3);B=magic(3);C=A+B

A-B:

矩阵相减>>%同上C=A-B

8A:

数与矩阵相乘>>8*A

A的平方,>>A.^2;

A*B矩阵相乘:

A*B矩阵相乘A.*B对应元素相乘

矩阵A的逆.inv(A);

注意:

像带点"."时对应元素相乘((如A.*B)),不带时矩阵相乘(如A*B).

3常用函数如下:

函数命令说明

size(a)

[d1,d2,d3,..]=size(a)求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为

列数n;

对多维矩阵,第N个为矩阵第N维的长度。

cat(k,a,b)矩阵合并,运行a=magic(3)

b=pascal(3)

c=cat(4,a,b)

改4为3或2或1,自己体会合并后的效果。

k=1,合并后形如[a;b],行添加矩阵(要求a,b的列数相等才能合并);

k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并),以此类推,n维的矩阵合并,要求n-1维维数相等才可以)。

fliplr(a)矩阵左右翻转

flipud(a)矩阵上下翻转

rot90(a)

rot90(a,k)矩阵逆时针旋转90度(把你的头顺时针旋转90看原数就可以知道结果了)

k参数定义为逆时针旋转90*k度。

flipdim(a,k)矩阵对应维数数值翻转,如k=1时,行(上下)翻转,k=2时,列(左右)翻转。

tril(a)

tril(a,k)矩阵的下三角部分(包括对角线元素),对应k=0时的取值数。

k参数设置为正负数值对应对角线向上或向下移动k行划分下三角元素。

triu(a)

tril(a,k)矩阵的上三角部分(包括对角线元素),对应k=0时的取值数。

k参数设置为正负数值对应对角线向上或向下移动k行划分上三角元素。

diag(a)

diag(a,k)生成对角矩阵或取出对角元素,对应k=0时的取值数。

k参数设置为正负数值对应对角线向上或向下移动k行取对角元素或生成对角矩阵。

repmat(a,m,n)矩阵复制,把矩阵a作为一个单位计算,复制成m*n的矩阵,其每

一元素都含一个矩阵a,实际结果为一个size(a,1)*m行,size(a,2)*n列的矩阵。

w=meshgrid(s,t)

[u,v]=meshgrid(s,t)生成行m=size(t,1)*size(t,2),列n=size(s,1)*size(s,2))

阶的两个矩阵。

其中u为按行顺序取s的n个矩阵元数,按列排列重复m行,v为按列顺序取t的m个矩阵元数,按行排列重复n列。

只生成一个矩阵时,w=u。

eye(a)

eye(a,k)生成a阶单位方阵

k参数设置为生成a×k阶单位矩阵,即生成a阶单位方阵后,取前k列,不足补0。

ones(a)

ones(a,k)生成a阶全1方阵

k参数设置生成a×k阶全1矩阵。

zeros(a)

zeros(a,k)生成a阶全0方阵

k参数设置生成a×k阶全0矩阵。

inv(a)生成a的逆矩阵

%l求矩阵的长度的函数

a=[10,2,12;34,2,4;98,34,6];

size(a)

%

%ans=

%

%33

%

length(a)

%

%ans=

%

%3

%1.通过在矩阵变量后加’的方法来表示转置运算

a=[10,2,12;34,2,4;98,34,6];

a'

%

%ans=

%

%103498

%

%2234

%

%1246

%2.矩阵求逆

inv(a)

%ans=

%

%-0.01160.0372-0.0015

%

%0.0176-0.10470.0345

%

%0.0901-0.0135-0.0045

%3.矩阵求伪逆

pinv(a)

%

%ans=

%

%-0.01160.0372-0.0015

%

%0.0176-0.10470.0345

%

%0.0901-0.0135-0.0045

%

%4.左右反转

fliplr(a)

%

%ans=

%

%12210

%

%4234

%

%63498

%

%5.矩阵的特征值

[u,v]=eig(a)

%u=

%

%-0.29600.3635-0.3600

%

%-0.2925-0.41280.7886

%

%-0.9093-0.83520.4985

%

%v=

%

%48.839500

%

%0-19.84510

%

%00-10.9943

%6.上下反转

flipud(a)

%ans=

%

%98346

%

%3424

%

%10212

%

%7.旋转90度

rot90(a)

%

%ans=

%

%1246

%

%2234

%

%103498

%

%8.取出上三角和下三角

triu(a)

%

%ans=

%

%10212

%

%024

%

%006

tril(a)

%

%ans=

%

%1000

%

%3420

%

%98346

[l,u]=lu(a)

%

%l=

%

%0.10200.15001.0000

%

%0.34691.00000

%

%1.000000

%

%u=

%

%98.000034.00006.0000

%

%0-9.79591.9184

%

%0011.1000

%

%9.正交分解

[q,r]=qr(a)

%

%q=

%

%-0.0960-0.1232-0.9877

%

%-0.3263-0.93360.1482

%

%-0.94040.33650.0494

%

%r=

%

%-104.2113-32.8179-8.0989

%

%09.3265-3.1941

%

%00-10.9638

%

%10.奇异值分解

[u,s,v]=svd(a)

%

%u=

%

%0.1003-0.88570.4532

%

%0.3031-0.4066-0.8618

%

%0.94770.22390.2277

%

%s=

%

%109.589500

%

%012.03730

%

%008.0778

%

%v=

%

%0.9506-0.0619-0.3041

%

%0.30140.41760.8572

%

%0.0739-0.90650.4156

%

%11.求矩阵的范数

norm(a)

%

%ans=

%

%109.5895

norm(a,1)

%

%ans=

%

%142

norm(a,inf)

%

%ans=

%

%138

二、GUI控件的属性

ToggleButton的value属性的意义和应用一般来说GUI中的value属性值是表征该控件当前所处的状态,我们可以通过get获取其属性从而了解控件当前状态,另外通过set设置属性达到控制控件状态的目的,在通常情况下,value属性的取值又与控件min和max属性有关的,默认情况下max=1,min=0,value=0,而value==max时一般表示被选中或者处于按下状态,value==min时一般表示未选中或者弹起状态,但是max和min的值我们可以根据需要重新人工设置,不一定要1和0,但是一般不建议改动,除非万不得已,比如text控件,为了输入多行文字,必须将max设置为大于1的整数才可以。

GUI中提供了两个【确定】控件,这就是PushButton和ToggleButton,这两个没有本质的区别,只是PushButton是一个单击触发按钮完成以后恢复原始状态,,而ToggleButton会有两种状态,按下和弹起,我们可以根据需要设置两种状态分别对应不同的结果,但是我们如何知道当前状态到底是【按下】还是【弹起】状态呢?

这就需要我们用到ToggleButton的value属性了,当处于【按下】时,value==max,而【弹起】时,value==min。

比如在ToggleButton_tag_creatfcn()中输

set(hObject,'max',100,'min',10);

set(hObject,'value',10);

在ToggleButton_tag_callback()中输入

value=get(hObject,'value');

max=get(hObject,'max');

min=get(hObject,'min');

ifvalue==max

set(hObject,'string',['value='num2str(value)',max='num2str(max)',sothestateisdown']);

else

set(hObject,'string',['value='num2str(value)',min='num2str(min)',sothestateisup']);

end

效果

RadioButton、CheckBox的value属性的应用其实RadioButton、CheckBox的value的效果意义都和ToggleButton一样.

当某个RadioButton、CheckBox被选中时,该控件的value==max,否则value==min,另外我们知道RadioButton(单选框)具有排它性,也就是说每次只能选中一个,而CheckBox(复选框)可以多选,为了保证RadioButton具有排他性,我们可将所有的RadioButton添加到一个ButtonGroup中EditText的Max和Mini的意义和应用EditText的value属性没有什么实际意义,基本用不上.

但是max和min却有较大意义,当max-min>1时可以输入多行文本,否则只能输入单行文本(注意此时不一定需要满足max>min),由于min默认是0,为了输入多行文本,我们习惯的都是通过在EditText_tag_creatfcn()中设置max=2

set(hObject,'max',2)

set(hObject,'string',{'Thisisthemultiplelinesdemo','—matlabfan'});%从这里可以看出,多行文本是通过cell数据实现的

当然我在GUI_filename_creatfcn()或者直接在属性面板修改也是可以的

另外我们在EditText上读取或者设置的string时,必须是字符串,但是有时我们需要处理的是数据,此时我们就需要使用str2num或者num2str进行数据转换

还有一点需要注意,EditText的callback执行的条件是:

1.EditText中的文本必须发生改变

2.确定操作

(1)鼠标:

在当前GUI窗口的EditText控件之外的任意位置单击

(2)键盘:

对于单行,直接按Enter;对于多行,按Ctr+Enter

在上面的两个条件同时满足的条件下才会激发EditText的callback

在编辑文本框中还支持如下快捷键

Ctrl+X—Cut

Ctrl+C—Copy

Ctrl+V—Paste

Ctrl+H—Deletelastcharacter

Ctrl+A—Selectall

ListBox和PopUpMenu的value和string属性当在列表框中选中某个条目的时候,value自动赋值为该条目的序号,注意第k个条目的序号是k,而string是一个cell型的字符串,其中保存了列表框中的所有条目.

注意对于Listbox,它的max和min没有什么意义,对其它属性不构成影响

比如:

在ListBox_tag_creatfcn()中输入,为列表框添加如下几个条目

set(hObject,'string',{'西工大','西交大','北大','清华'});%从这里看出每个string必须是cell型数据,其中每一个对应一个条目

在ListBox_tag_callback()中输入,可以查看到底是选中了第几个条目,它的内容是什么

string=get(hObject,'string');

num=get(hObject,'vlue')

item=string{num}

Listbox的callback触发的条件是,满足下面任意一条

1.鼠标点单击释放时(双击当两次单击处理)

2.键盘↑和↓操作

3.鼠标选中但未释放,此时使用空格或者回车键触发回调,释放鼠标时再次回调

Pop-UpMenu下拉菜单的用法和列表框的用法一样,这里不再累赘了

Slider的value和min、max属性Slider滑块控件,一般常用作进度条或者选择数据范围max对应于滑块的最大值,min是最小值,value是当前值,其中sliderstep=[x,y]表示点击滑块的前进后退箭头value每次改变x*(max-min),直接在滑块上点击每次改变y*(max-min),一般而言x

三、对话框设计

在图形用户界面程序设计中,对话框是重要的信息显示和获取输入数据的用户界面对象。

1、公共对话框:

公共对话框是利用windows资源的对话框,包括文件打开、文件保存、颜色设置、字体设置、打印设置等。

1)文件打开对话框:

用于打开文件

uigetfile

uigetfile(‘FilterSpec’)

uigetfile(‘FilterSpec’,’DialogTitle’)

uigetfile(‘FilterSpec’,’DialogTitle’,x,y)

[fname,pname]=uigetfile(…)

2)文件保存对话框:

用于保存文件

uiputfile

uiputfile(‘InitFile’)

uiputfile(‘InitFile’,’DialogTitle’)

uiputfile(‘InitFile’,’DialogTitle’,x,y)

[fname,pname]=uiputfile(…)

3)颜色设置对话框:

用于图形对象颜色的交互设置

c=uisetcolor(‘h_or_c,’DialogTitle’)

4)字体设置对话框:

用于字体属性的交互式设置

uisetfont

uisetfont(h)

uisetfont(S)

uisetfont(h,’DialogTitle’)

uisetfont(S,’DialogTitle’)

S=uisetfont(…)

5)打印设置对话框:

用于打印页面的交互式设置

dlg=pagesetupdlg(fig)

pagedlg

pagedlg(fig)

6)打印预览对话框:

用于对打印页面进行预览

printpreview

printpreview(f)

7)打印对话框:

printdlg

printdlg(fig)

printdlg(‘-crossplatform’,fig)

printdlg(-‘setup’,fig)

2、MATLAB专用对话框

1)错误信息对话框:

用于提示错误信息

errordlg打开默认的错误信息对话框

errordlg(‘errorstring’)打开显示’errorstring’信息的错误信息对话框

errordlg(‘errorstring’,’dlgname’)打开显示’errorstring’信息的错误信息对话框,对话框的标题由‘dlgname’指定

erordlg(‘errorstring’,’dlgname’,’on’)打开显示’errorstring’信息的错误信息对话框,对话框的标题由‘dlgname’指定.如果对话框已存在,’on’参数将对话框显示在最前端。

h=errodlg(…)返回对话框句柄

例:

errordlg('输入错误,请重新输入','错误信息')

2)帮助对话框:

用于帮助提示信息

helpdlg打开默认的帮助对话框

helpdlg(‘helpstring’)打开显示’errorstring’信息的帮助对话框,

helpdlg(‘helpstring’,’dlgname’)打开显示’errorstring’信息的帮助对话框,对话框的标题由‘dlgname’指定

h=helpdlg(…)返回对话框句柄

例:

helpdlg('矩阵尺寸必须相等','在线帮助')

3)输入对话框:

用于输入信息

answer=inputdlg(prompt)打开输入对话框,prompt为单元数组,用于定义输入数据窗口的个数和显示提示信息,answer为用于存储输入数据的单元数组。

answer=inputdlg(prompt,title)与上者相同,title确定对话框的标题。

answer=inputdlg(prompt,title,lineNo)参数lineNo可以是标量、列矢量或m×2阶矩阵,若为标量,表示每个输入窗口的行数均为lineNo;若为列矢量,则每个输入窗口的行数由列矢量lineNo的每个元素确定;若为矩阵,每个元素对应一个输入窗口,每行的第一列为输入窗口的行数,第二列为输入窗口的宽度。

answer=inputdlg(prompt,title,lineNo,defAns)参数defans为一个单元数组,存储每个输入数据的默认值,元素个数必须与prompt所定义的输入窗口数相同,所有元素必须是字符串。

answer=inputdlg(prompt,title,lineNo,defAns,Sesize)参数resize决定输入对话框的大小能否被调整,可选值为on或off.

例:

prompt={'InputName','InputAge'};

title='InputNameandAge';

lines=[21]';

def={'JohnSmith','35'};

answer=inputdlg(prompt,title,lines,def);

4)列表选择对话框:

用于在多个选项中选择需要的值

[selection,ok]=listdlg(‘Liststring’,S,…)输出参数selection为一个矢量,存储所选择的列表项的索引号,

输入参数为可选项’Liststring’(单元数组),’SelectionMode’(’single’或’multiple’,’ListSize’([wight,height]),’Name’(对话框标题)等

5)信息提示对话框:

用于显示提示信息

msgbox(message)打开信息提示对话框,显示message信息。

msgbox(message,title)title确定对话框标题。

msgbox(message,title,’icon’)icon用于显示图标,可选图标包括:

none(无图标)/error/help/warn/custom(用户定义)

msgbox(message,title,’custom’,icondata,iconcmap)当使用用户定义图标时,icondata为定义图标的图像数据,iconcmap为图像的色彩图。

msgbox(…,’creatmode’)选择模式creatmode,选项为:

modal,non_modal,和replace。

h=msgbox(…)返回对话框句柄

6)问题提示对话框:

用于回答问题的多种选择

button=questdlg(‘qstring’)打开问题提示对话框,有三个按钮,分别为:

yes,no和cancel,’questdlg’确定提示信息。

button=questdlg(‘qstring’,’title’)title确定对话框标题。

button=questdlg(‘qstring’’title’,’default’)当按回车键时,返回default值default必须是yes,no或cancel之一。

button=questdlg(‘qstring’,’title’,’str1’,’str2’,’default’)打开问题提示对话框,有两个按钮,分别由str1和str2确定,’qstdlg’确定提示信息,default必须是str1或str2之一。

button=questdlg(‘qstring’,’title’,’str1’,’str2’,’str3’,’default’)打开问题提示对话框,有三个按钮,分别由str1,str2和str3确定,’qstdlg’确定提示信息,default必须是str1,str2或str3之一。

7)进程条:

以图形方式显示运算或处理的进程

h=waitbar(x,’title’)显示以title为标题的进程条,x为进程条的比例长度,其值必须在0到1之间,h为返回的进程条对象的句柄。

waitbar(x,’title’,’creatcancelbtn’,’button_callback’)在进程条上使用creatcancelbtn参数创建一个撤销按钮,在进程中按下撤销按钮将调用button_callback函数。

waitbar(…,property_name,property_value,…)选择其它由prompt_name定义的参数,参数值由prompt_value指定。

例:

h=waitbar(0,'plea

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2