Matlab程序设计基础.docx

上传人:b****6 文档编号:5364128 上传时间:2022-12-15 格式:DOCX 页数:25 大小:39.55KB
下载 相关 举报
Matlab程序设计基础.docx_第1页
第1页 / 共25页
Matlab程序设计基础.docx_第2页
第2页 / 共25页
Matlab程序设计基础.docx_第3页
第3页 / 共25页
Matlab程序设计基础.docx_第4页
第4页 / 共25页
Matlab程序设计基础.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Matlab程序设计基础.docx

《Matlab程序设计基础.docx》由会员分享,可在线阅读,更多相关《Matlab程序设计基础.docx(25页珍藏版)》请在冰豆网上搜索。

Matlab程序设计基础.docx

Matlab程序设计基础

数据类型

取值范围

转换函数

Signed8-bitinteger

-27to27-1

int8

Signed16-bitinteger

-215to215-1

int16

Signed32-bitinteger

-231to231-1

int32

Signed64-bitinteger

-263to263-1

int64

Unsigned8-bitinteger

0to28-1

uint8

Unsigned16-bitinteger

0to216-1

uint16

Unsigned32-bitinteger

0to232-1

uint32

Unsigned64-bitinteger

0to264-1

uint64

表1.整型数据取值范围

Matlab默认变量

常量名

常量值

i,j

虚数单位,定义为

pi

圆周率

eps

浮点运算的相对精度

realmin

最小的浮点数

realmax

最大的浮点数

Inf

无穷大

NaN

Not-a-Number,表示不确定值

2.2.2

1,设定字符串

用‘’

表2字符串常用函数及其功能表

函数

功能

函数

功能

size

查看字符数组的维数

abs

查找一个字符的ASSII码

char

把数字按照ASCII码转化为字符串

strcat

字符串连接strcat(水平连接)strvcat(垂直连接)

strcmp

比较字符串

strrep

替换字符串

strcmpi

忽略大小写比较字符串

upper

转换为大写

strncmp

比较字符串的前n个字符

lower

转换为小写

findstr

在一个字符串中查找另一个字符串

strtok

返回字符串中第一个分隔符(空格,回车和Tab键)前的部分

strjust

对齐字符数组,包括左对齐,右对齐和居中

blanks

产生空字符串

stematch

查找匹配的字符串

deblank

删除字符串的空格

MATLAB程序基本语句

程序分支控制语言

1.if/else语句

if语句的语法形式如下所示:

ifexpression

statements1

elseexpression

statements2

end

当expression的结果为真时,执行statement1中的语句,否则执行statement2中的语句。

当有多个选择时,可以使用if/elseif语句。

if/elseif语句的语法如下所示:

ifexpression

statements1;

elseifexpression

statements2;

elseexpression

statements3;

end

例如:

functionmath(x)

ifx<0

y=x^3

else

y=3*x^2

end

2.switch/case

switch/case语句的语法形式如下所示:

switchswitch-expression

casecase-expression1,

statements1;

casecase-expression2,

statements2;

casecase-expression3,

statements3;

………

otherwise

statements;

end

例如:

%文件名为cj.m

functionresult=cj(x)

%将成绩除以10后取整

n=fix(x/10);

switchn

case{8,9,10}

disp('优秀')

case7

disp('良好')

case6

disp('及格')

otherwise

disp('不及格')

end

程序循环控制语句

使用循环控制语句,可以重复执行代码块。

用for语句执行指定次数;while语句适合于循环一直执行,直到满足条件为止;continue和break语句对退出循环给予更多的控制。

1.for循环

for循环允许一组命令以固定的和预定的次数重复执行,for循环的一般形式如下:

forindex=expression(循环变量=初值:

步长:

终值)

statements;

end

例如:

使用for循环计算1+2+3+……+100的值。

程序如下:

sum=0;

fori=1:

1:

100

sum=sum+i;

end

sum

2.while循环

while循环以不定的次数来求一组命令值。

while循环的一般形式如下:

whileexpression

statements;

end

例如:

1.输入项数n,求自然数的前n项和;

n=input('n=')

sum=0;k=1;

whilek<=n

sum=sum+k;

k=k+1;

end

sum

2.求不超过1000的偶数之和与奇数之和。

oushuhe=0;

jishuhe=0;

i=1;

whilei<1000

ifmod(i,2)==0

oushuhe=oushuhe+i;

else

jishuhe=jishuhe+i;

end

i=i+1;

end

oushuhe

jishuhe

循环嵌套或多重循环

例如:

对任意10个数进行从大到小的排列。

程序如下:

a=input('a=');

fori=1:

9

forj=j+1:

10

ifa(i)>a(j)

a(i)=a(i)+a(j);

a(j)=a(i)-a(j);

a(i)=a(i)-a(j);

end

end

end

disp(a);

3.continue语句

continue命令经常与for或while语句一起使用,作用是结束本次循环,即跳过循环体中尚未执行的语句,接着下一次是否执行循环的判断。

4.break语句

break命令经常与for或while语句一起使用,作用是终止本次循环,跳出内层循环。

程序终止控制语句

一般程序代码都是按照执行完后正常退出的,但是,当遇到某些特殊情况,需要程序立即退出时,可以使用return语句提前终止程序运行。

Return语句常用在MATLAB函数式M文件中。

例如:

return语句使用实例。

n=-2;

%n小于0时退出程序

ifn<0

disp('negtivenumber!

')

return;

end

disp('codonnumber')

程序异常处理语句

MATLAB中提供了一种可以进行错误处理的try…catch语句,其语法格式如下:

try

表达式1,表达式2,..,表达式n

catch

表达式1,表达式2,..,表达式n

end

当try与catch之间的所有表达式在执行时没有错误发生时,则不执行catch与end之间的语句;反之则执行。

也可以用lasterr检查最后发生的错误信息。

A=[123;456]

B=[47;86]

try

A',A+A,A+B,A*B

catch

disp('thereiserror')

end

disp('lasterr')

MATLAB函数

helpelfun

Elementarymathfunctions.(小学数学函数)

Trigonometric.(三角)

sin-正弦

sind-正弦值参数以度为单位

sinh-双曲正弦值

asin-反正弦.

asind-正弦反以度为单位的结果

asinh-反双曲正弦值

cos-余弦

cosd-余弦值的参数以度为单位

cosh-双曲余弦值

acos-反余弦值.

acosd-余弦反以度为单位的结果

acosh-双曲余弦值

tan-正切.

tand-参数以度为单位.

tanh-双曲正切值.

atan-反切线

atand-切线反以度为单位的结果

atan2-四象限反正切值

atanh--反双曲正切值.

sec-正割

secd-正割的参数以度为单位

sech-双曲正割.

asec-反正割。

asecd-结果以度为单位的反割技术。

asech-反双曲正割。

csc-余割。

cscd-余割的参数以度为单位。

csch-双曲余割

acsc-反余割。

acscd-反余割以度为单位的结果

acsch-反双曲余割。

cot-余切。

cotd-余切的参数以度为单位。

coth-双曲线余切.

acot-反余切。

acotd-反余切以度为单位的结果

acoth-反双曲余切。

hypot-平方和的平方根。

Exponential.(指数)

exp-指数.

expm1-准确计算exp(x)-1

log-自然对数.

log1p-准确计算log(1+x).

log10-对数共同(基地10)

log2-基2对数和解剖浮点数.

pow2-基地2力量和标度浮动小数点数字.

realpow-电源上复杂的结果,将错误。

reallog-真正的numbero自然对数.

realsqrt-大于或等于零的平方根.

sqrt-平方根.

nthroot-实数的真正的n次根.

nextpow2-其次更大的功率的2。

Complex.(复杂)

abs-绝对值.

angle-相角.

complex-修建从真正和虚构部分的复杂数据。

conj-共轭复数。

imag-复杂的假想部分.

real-复杂的实质部分。

unwrap-解开相角.

isreal-真正的数组,则为true。

cplxpair-对数字为共轭复数对进行排序。

Roundingandremainder.(舍入,其余部分。

fix-圆向零。

floor-圆往减去无限。

ceil-轮对正无穷大。

round-舍入为最接近的整数。

mod-模量(分立后的签名其余部分)。

rem-分立后的其余部分。

sign-符号取值函数

helpspecfun

Specializedmathfunctions.(专门的数学函数。

Specializedmathfunctions.

airy-Airyfunctions.

besselj-Besselfunctionofthefirstkind.

bessely-Besselfunctionofthesecondkind.

besselh-Besselfunctionsofthethirdkind(Hankelfunction).

besseli-ModifiedBesselfunctionofthefirstkind.

besselk-ModifiedBesselfunctionofthesecondkind.

beta-Betafunction.

betainc-Incompletebetafunction.

betaln-Logarithmofbetafunction.

ellipj-Jacobiellipticfunctions.

ellipke-Completeellipticintegral.

erf-Errorfunction.

erfc-Complementaryerrorfunction.

erfcx-Scaledcomplementaryerrorfunction.

erfinv-Inverseerrorfunction.

expint-Exponentialintegralfunction.

gamma-Gammafunction.

gammainc-Incompletegammafunction.

gammaln-Logarithmofgammafunction.

psi-Psi(polygamma)function.

legendre-AssociatedLegendrefunction.

cross-Vectorcrossproduct.

dot-Vectordotproduct.

Numbertheoreticfunctions.(数字理论作用。

factor-Primefactors.

isprime-Trueforprimenumbers.

primes-Generatelistofprimenumbers.

gcd-Greatestcommondivisor.

lcm-Leastcommonmultiple.

rat-Rationalapproximation.

rats-Rationaloutput.

perms-Allpossiblepermutations.

nchoosek-AllcombinationsofNelementstakenKatatime.

factorial-Factorialfunction.

Coordinatetransforms.(坐标转换。

cart2sph-TransformCartesiantosphericalcoordinates.

cart2pol-TransformCartesiantopolarcoordinates.

pol2cart-TransformpolartoCartesiancoordinates.

sph2cart-TransformsphericaltoCartesiancoordinates.

hsv2rgb-Converthue-saturation-valuecolorstored-green-blue.

rgb2hsv-Convertred-green-bluecolorstohue-saturation-value.

helpelmat

Elementarymatricesandmatrixmanipulation.(初等矩阵和矩阵操作。

Elementarymatrices.(初等矩阵。

zeros-Zerosarray.

ones-Onesarray.

eye-Identitymatrix.

repmat-Replicateandtilearray.

linspace-Linearlyspacedvector.

logspace-Logarithmicallyspacedvector.

freqspace-Frequencyspacingforfrequencyresponse.

meshgrid-XandYarraysfor3-Dplots.

accumarray-Constructanarraywithaccumulation.

:

-Regularlyspacedvectorandindexintomatrix.

Basicarrayinformation.(基本阵列信息。

size-Sizeofarray.

length-Lengthofvector.

ndims-Numberofdimensions.

numel-Numberofelements.

disp-Displaymatrixortext.

isempty-Trueforemptyarray.

isequal-Trueifarraysarenumericallyequal.

isequalwithequalnans-Trueifarraysarenumericallyequal.

Matrixmanipulation.(矩阵操作。

cat-Concatenatearrays.

reshape-Reshapearray.

diag-Diagonalmatricesanddiagonalsofmatrix.

blkdiag-Blockdiagonalconcatenation.

tril-Extractlowertriangularpart.

triu-Extractuppertriangularpart.

fliplr-Flipmatrixinleft/rightdirection.

flipud-Flipmatrixinup/downdirection.

flipdim-Flipmatrixalongspecifieddimension.

rot90-Rotatematrix90degrees.

:

-Regularlyspacedvectorandindexintomatrix.

find-Findindicesofnonzeroelements.

end-Lastindex.

sub2ind-Linearindexfrommultiplesubscripts.

ind2sub-Multiplesubscriptsfromlinearindex.

bsxfun-Binarysingletonexpansionfunction.

Multi-dimensionalarrayfunctions.(多维数组的函数。

ndgrid-GeneratearraysforN-Dfunctionsandinterpolation.

permute-Permutearraydimensions.

ipermute-Inversepermutearraydimensions.

shiftdim-Shiftdimensions.

circshift-Shiftarraycircularly.

squeeze-Removesingletondimensions.

Arrayutilityfunctions.(数组实用程序函数。

isscalar-Trueforscalar.

isvector-Trueforvector.

Specialvariablesandconstants.(特殊变量和常数。

ans-Mostrecentanswer.

eps-Floatingpointrelativeaccuracy.

realmax-Largestpositivefloatingpointnumber.

realmin-Smallestpositivefloatingpointnumber.

pi-3.1415926535897....

i-Imaginaryunit.

inf-Infinity.

nan-Not-a-Number.

isnan-TrueforNot-a-Number.

isinf-Trueforinfiniteelements.

isfinite-Trueforfiniteelements.

j-Imaginaryunit.

why-Succinctanswer.

Specializedmatrices.(专门的矩阵。

compan-Companionmatrix.

gallery-Highamtestmatrices.

hadamard-Hadamardmatrix.

hankel-Hankelmatrix.

hilb-Hilbertmatrix.

invhilb-InverseHilbertmatrix.

magic-Magicsquare.

pascal-Pascalmatrix.

rosser-Classicsymmetriceigenvaluetestproblem.

toeplitz-Toeplitzmatrix.

vander-Vandermondematrix.

wilkinson-Wilkinson'seigenvaluetestmatrix.

子函数例如:

子函数的函数实例:

function[avg,med]=calculate(u);

%主函数newstats调用两个子函数求输入矢量的平均值和中值dui

%获得参数长度

n=length(u);

%调用子函数average

avg=average(u,n);

%调用子函数median

med=median(u,n)

%定义函数average,计算平均值

functiona=average(v,n);

a=sum(v)/n;

%定义函数median,计算中值

functionm=median(v,n);

%对矢量进行排序sort(x):

对向量x的元素进行排序(sorting)rem相除后求余

w=sort(v);

ifrem(n,2)==1

m=w((n+1)/2);

else

m=(w(n/2)+w(n/2+1))/2;

end

嵌套函数

在一个函数内部,可以定义一个或多个函数,这种定义在其他函数内部的函数被称为嵌套函数。

嵌套可以多层发生,即一个函数内部可以嵌套多个函数,在嵌套函数内部又可以再嵌套其它函数。

嵌套函数的语法形式如下:

functiona=A(m1,m2)

………

functionb=B(m3)

………

end

end

基本绘图方法

二维图形函数与调用方法

1.常用绘图函数

函数

功能

plot

绘制二维图形,x轴与y轴为线性坐标

semilogx

绘制二维图形,x轴为对数坐标,y轴为线性坐标

smilogy

绘制二维图形,y轴为对数坐标,x轴为线性坐标

loglog

绘制二维图形,x轴,y轴均为对数坐标

plotyy

绘制二维图形,在图形的左右各有一个y轴

polar

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

当前位置:首页 > 高等教育 > 其它

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

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