matlab复习.docx

上传人:b****5 文档编号:8386875 上传时间:2023-01-31 格式:DOCX 页数:11 大小:67.98KB
下载 相关 举报
matlab复习.docx_第1页
第1页 / 共11页
matlab复习.docx_第2页
第2页 / 共11页
matlab复习.docx_第3页
第3页 / 共11页
matlab复习.docx_第4页
第4页 / 共11页
matlab复习.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

matlab复习.docx

《matlab复习.docx》由会员分享,可在线阅读,更多相关《matlab复习.docx(11页珍藏版)》请在冰豆网上搜索。

matlab复习.docx

matlab复习

p44表2-1p46表2-2p53表2-7p77表3-5p47表2-3p126表4-4

●MATLAB系统的启动

与一般的Windows程序一样,启动MATLAB系统有3种常见方法:

(1)使用Windows“开始”菜单。

(2)运行MATLAB系统启动程序matlab.exe。

(3)利用快捷方式

●MATLAB系统的退出

要退出MATLAB系统,也有3种常见方法:

(1)在MATLAB主窗口File菜单中选择ExitMATLAB命令。

(2)在MATLAB命令窗口输入Exit或Quit命令。

(3)单击MATLAB主窗口的“关闭”按钮。

●在MATLAB系统中使用帮助方式有三:

(1)是利用help指令,如果你已知要找的题材(topic)为何的话,直接键入help

所以即使身旁没有使用手册,也可以使用help指令查询不熟悉的指令或是题材之用法,例如helpsqrt

(2)是利用lookfor指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB的指令)列出所有相关的题材,例如lookforcosine,lookforsine。

(3)是利用指令视窗的功能选单中的Help,从中选取TableofContents(目录)或是Index(索引)。

●常用的产生通用特殊矩阵的函数有:

zeros:

产生全0矩阵(零矩阵)。

ones:

产生全1矩阵。

eye:

产生单位矩阵。

rand:

产生0~1间均匀分布的随机矩阵。

randn:

产生均值为0,方差为1的标准正态分布随机矩阵。

如果需要产生均匀随机数不是介于[0,1]区间,可以采用以下步骤将数值从[0,1]区间转换到其它区间。

假设要得到一组数值是介于[2,4]区间,我们先产生一组数介于[0,1]区间,再将其值乘以2,因为2等于区间上下限的差值(4-2)。

接著再加上下限值

(2),即可得到乱数值是介于[2,4]区间。

例如区间为[a,b],a为下限值,b为上限值。

则算式如下

x=(b-a)*r+a,

如果需要产生正态随机数值的平均值和方差并非0和1,可以采用以下步骤将平均值和变异数做转换。

假设要得到一组数值的平均值为b和方差为a,我们先产生一组数r,再将其值乘以方差a。

接著再加平均值b。

算式如下

x=a*r+b

●变量命名规则:

(注意函数名的命名规则)

1.        变量名的大小写是敏感。

2.        变量的第一个字符必须为英文字母。

3.        变量名可以包含下连字符、数字,但不能为空格符、标点。

●创建向量的方法

1、直接输入法

2、利用冒号运算创建向量

3、使用函数linspace和logspace

(利用帮助理解logsapce函数的规则)

●linspace(a,b,n)的冒号表达式的等价形式:

a:

(b-a)/(n-1):

b等价

●A(:

j)表示取A矩阵的第j列全部元素;

●A(i,:

)表示A矩阵第i行的全部元素;

●A(i,j)表示取A矩阵第i行、第j列的元素。

●A(i:

i+m,:

)表示取A矩阵第i~i+m行的全部元素;

●A(:

k:

k+m)表示取A矩阵第k~k+m列的全部元素,

●A(i:

i+m,k:

k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。

●矩阵元素的访问

x=[12345678;

4567891011];%二维2x8矩阵

»x(3)%x的第三个元素

ans=

2

»x([125])%x的第一、二、五个元素

ans=

143

>>x(2,3)%x的第二行第三列的元素

ans=

6

x(1:

5)%x的第前五个元素

ans=

14253

»x(10:

end)%x的第十个元素后的元素

ans=

869710811

»x(10:

-1:

2)%x的第十个元素和第二个元素的倒排

ans=

857463524

»x(find(x>5))%x中大于5的元素

ans=

67869710811

»x(4)=100%给x的第四个元素重新给值

x=

12345678

410067891011

»x(3)=[]%删除第三个元素(不是二维数组)

x=

Columns1through12

14100364758697

Columns13through15

10811

»x(16)=1%加入第十六个元素

x=

Columns1through12

14100364758697

Columns13through16

108111

●矩阵元素全下标和单下标的的转换关系:

的矩阵为例,该矩阵的第

行第

列的元素全下标表示为单下标

●对复数举证,矩阵转置和数组转置的区别

●逻辑运算和关系运算

利用逻辑运算和关系运算在数组中找到某些符合条件的元素。

●一些基本函数

round(x)将x值进位至最接近的整数

fix(x)将x值进位至最接近0的整数

floor(x)将x值进位至最接近-∞的整数

ceil(x)将x值进位至最接近∞的整数

sign(x)如果x<0传回值为-1,如果x=0传回值为0,如果x>0传回值为

rem(x,y)传回x/y的余数,例如rem(25,4)的值为1

exp(x)指数函数

log(x)以e 2.718282为底的对数函数,及自然对数

log10(x)为10底的对数函数

●简单的编程

1、编程创建一个5×5的方阵,要求所有的对角线上的元素值为3,对角线右上角的所有元素值为2,对角线左小方的所有元素值为1

2、编写程序求[100,200]之间第一个能被21整除的整数。

3、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。

输出全部水仙花数。

例如:

4、利用for循环求1!

+2!

+3!

+4!

+5!

的值

5、计算分段函数的值。

6、写出下列程序的执行结果。

s=0;

a=[12,13,14;15,16,17;18,19,20;21,22,23];

fork=a

s=s+k;

end

disp(s');

7、Fibonacci数组的元素满足Fibonacci规则:

,(

);且

现要求该数组中第一个大于10000的元素。

8、for循环指令来寻求Fibonacc数组中第一个大于10000的元素。

9、矩阵

矩阵

;分别求出矩阵

中对应元素之间的乘积.

10、利用

公式求

的近似值,直到最后一项小于

●脚本文件:

(1)它只是一串按用户意图排列而成(包括控制流指令在内的)MATLAB指令集合。

(2)脚本文件运行后,所产生的所有变量都驻留在MATLAB基本工作区间。

只用用户不使用clear指令加以清除,且MATLAB指令窗不关闭,这些变量就能将一直保存在基本工作区间中。

基本工作区间岁MATLAB的启动而产生,只用关闭MATLAB时,该基本空间才被删除。

函数文件:

(1)从形式上看,与脚本文件不同,函数文件的第一行总是以“function”引导的“函数申明行”,该行列出函数与外部联系的全部输入输出变量。

(2)从运行上看,与脚本文件不同,每当函数文件运行,MATLAB就会专门为它开辟一个临时的工作区间,所有中间变量都存放在这个临时函数工作区间。

当执行完文件最后一条指令或遇到ruturn时,就结束该函数文件的运行,同时该临时函数空间及其所用的中间变量就立即被清除。

(3)函数空间随具体M函数文件的被调用而产生,随调用结束而删除,函数空间是相对基本空间独立、临时的。

在MATLAB整个运行期间,可以产生任意多个临时函数空间。

(4)MATLAB允许使用比函数定义中较少的输入输出变量,实现对函数的调用(5)假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所以变量都存放于该函数空间中,而不是存放在基本空间。

●全局变量及局部变量的区别:

局部变量是存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。

通过global指令,MATLAB允许几个不同的函数空间及基本工作空间共享一个变量,这种背共享的变量称为全局变量,每个希望共享全局变量的函数或MATLAB基本工作空间,必须逐个用global对具体变量加以专门定义。

没采用global定义的函数或基本工作空间经无权享用全局变量。

●子函数与私有函数的区别:

p136

●数据图形的可视化

命令

含义

plot

建立向量或矩阵各队队向量的图形

loglog

x、y轴都取对数标度建立图形

semilogx

x轴用于对数标度,y轴线性标度绘制图形

semilogy

y轴用于对数标度,x轴线性标度绘制图形

title

给图形加标题

xlabel

给x轴加标记

ylabel

给y轴加标记

text

在图形指定的位置上加文本字符串

gtext

在鼠标的位置上加文本字符串

grid

打开网格线

plot(x,y,’s’)字符串s设定曲线颜色和绘图方式

subplot(m,n,p)——按从左至右,从上至下排列

bar––––绘制直方图

stem––––绘制火柴杆图

polar––––绘制极坐标图

pie––––饼图

plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵

mesh函数

surf函数

xlabel('x轴');%x轴注解

ylabel('y轴');%y轴注解

title('余弦函数');%图形标题

legend('y=cos(x)');%图形注解

gtext('y=cos(x)');%图形注解,用鼠标定位注解位置

gridon;%显示格线

Axis’([xminxmaxyminymax]’)

以xminxmax设定横轴的下限及上限,以yminymax设定纵轴的下限及上限

Axis(’auto’)

横轴及纵轴依照数据大小的上下限来订定,横轴及纵轴比例是4:

3

axis(’square’)

横轴及纵轴比例是1:

1,将当前图形设置为正方形图形

axis(’equal’)

将横轴纵轴的尺度比例设成相同值

axis(’norma’)l

关闭axisequal和axissquare命令的作用

axis(’off’)

将纵轴及横轴取消

axis(’on’)

恢复纵轴及横轴

1、在[0,4pi]范围内画sin(x),cos(x)(在同一个图象中);其中cos(x)图象用红色小圆圈画.并在函数图上标注“y=sin(x)”,“y=cos(x)”,x轴,y轴,标题为“正弦余弦函数图象”

2、画椭圆

3、用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

4、采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

5、在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),标记两曲线交叉点。

6、在同一坐标中,可以绘制3个同心圆,并加坐标控制。

7、画出

所表示的三维曲面。

的取值范围是

简单题型:

1、写出计算Sin(30o)的程序语句.(填写程序语句)

sin(pi*30/180)或sin(pi/6)

●若用户想计算

的值,那末用户应依次键入以下字符

y1=2*sin(0.3*pi)/(1+sqrt(5))

2,建立起始值=3,增量值=5.5,终止值=44的一维数组x(填写程序语句)

x=(3:

5.5:

44)

3,建立等差一维数组x:

首项为0,末项为

项数为15(填写程序语句)

x=linspace(0,pi,15)

4、A=Logspace(1,3,3)A=[101001000]

5、A=1:

9B=(A>3)&(A<7)=[000111000]

6、设A为2×3矩阵,建立与矩阵A同样大小的零矩阵。

解:

A=[123;456];%产生一个2×3阶矩阵A

zeros(size(A))%产生一个与矩阵A同样大小的零矩阵

7、求一元二次方程ax2+bx+c=0的根。

程序如下:

a=input('a=?

');

b=input('b=?

');

c=input('c=?

');

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x

(1)),',x2=',num2str(x

(2))]);

8、建立随机矩阵:

(1)在区间[20,50]内均匀分布的5阶随机矩阵。

(2)均值为0.6、方差为0.1的5阶正态分布随机矩阵。

解:

x=20+(50-20)*rand(5)

y=0.6+sqrt(0.1)*randn(5)

9、产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。

(1)生成5阶随机方阵A。

A=fix((90-10+1)*rand(5)+10)

(2)判断A的元素是否可以被3整除。

P=rem(A,3)==0

其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。

此时,0被扩展为与A同维数的零矩阵,P是进行等于(==)比较的结果矩阵。

10、建立一个字符串向量,然后对该向量做如下处理:

(1)取第1~5个字符组成的子字符串。

(2)将字符串倒过来重新排列。

(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。

(4)统计字符串中小写字母的个数。

(abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。

相反,char函数可以把ASCII码矩阵转换为字符串矩阵。

解:

ch=‘ABc123d4e56Fg9’;

subch=ch(1:

5)%取子字符串

revch=ch(end:

-1:

1)%将字符串倒排

k=find(ch>=‘a’&ch<=‘z’);%找小写字母的位置

ch(k)=ch(k)-(‘a’-‘A’);%将小写字母变成相应的大写字母

char(ch)

length(k)%统计小写字母的个数

11、输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。

(abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。

c=input('请输入一个字符','s');

ifc>='A'&c<='Z'

disp(char(abs(c)+abs('a')-abs('A')));

elseifc>='a'&c<='z'

disp(char(abs(c)-abs('a')+abs('A')));

elseifc>='0'&c<='9'

disp(abs(c)-abs('0'));

else

disp(c);

end

12、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。

求[1,500]之间的全部完数。

form=1:

500

s=0;

fork=1:

m/2

ifrem(m,k)==0

s=s+k;

end

end

ifm==s

disp(m);

end

end

13、例8编写函数文件求半径为r的圆的面积和周长。

函数文件如下:

function[s,p]=fcircle(r)

%CIRCLEcalculatetheareaandperimeterofacircleofradiir

%r圆半径

%s圆面积

%p圆周长

s=pi*r*r;

p=2*pi*r;

14、利用函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换。

函数文件tran.m:

function[rho,theta]=tran(x,y)

rho=sqrt(x*x+y*y);

theta=atan(y/x);

调用tran.m的命令文件main1.m:

x=input('Pleaseinputx=:

');

y=input('Pleaseinputy=:

');

[rho,the]=tran(x,y);

rho

the

15、画出由函数

形成的立体网状图:

x=linspace(-2,2,25);%在x轴上取25点

y=linspace(-2,2,25);%在y轴上取25点

[xx,yy]=meshgrid(x,y);%xx和yy都是21x21的矩阵

zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是21x21的矩阵

mesh(xx,yy,zz);%画出立体网状图

16、

a=1:

2:

11;b=2:

1:

7;

a-(b>4)的结果:

1356810

(a<2)|(b>6)的结果:

100001

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

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1