matlab 复习题

列出内存中的变量目录:whos

对函数功能和用法不熟悉:help

显示变量,阵列,文本:disp

清楚工作空间中的变量:clear

Grid on:窗体的轴显示坐标网格线

统计B矩阵中,大于A的元素个数:sum(sum(B>A)

第一章:

Matlab:Matrix Laboratory

matlab基本功能:数值计算,符号计算,绘图,编程,GUI开发

Matlab特点:脚本式解释语言,平台无关性,语法规则简单,提供了大量的计算函数

clc:清除指令窗口的显示内容

clear:清除matlab工作空间中保存的变量

clf:清除matlab图形窗口中的显示内容

who或whos:显示Matlab工作空间中的变量信息

Help :知道具体指令但是不知道怎么使用

Lookfor :想解决某个问题,但是不知道MATLAB有哪些指令可用

分号:不显示结果指令的结尾;数组行分隔

冒号:生成一维数组;作下标表示该维全部

黑点:在数组运算中的作用

逗号:函数输入量分隔;数组元素分隔

pi:圆周率 Inf:无限大 NaN:非数

程序文件:即M文件,其扩展名为.m,包括主程序和函数文件,M文件通过M文件编辑/调试器生成。Matlab的各工具箱中的函数大部分是M文件。

数据文件:即MAT文件,其扩展名为.mat,用来保存工作空间中的数据变量。数据文件可以通过在命令行窗口中输入“save”命令生成。

可执行文件:即MEX文件,其文件的扩展名为.mex,由Matlab的编译器对M文件进行编译后产生,其运行速度比直接执行M文件快得多。

第二章:

一维数组的创建

逐个元素输入法 a=[1, 2, 3]

冒号生成法 a=1:1:3

定数线性采样法 linspace(1,3,3)

二维数组的创建

逐个元素输入法(;和,)

   a2=[1 2 3;4 5 6;7 8 9]

MATLAB函数法 

zeros(m,n):产生m×n全0数组

ones(m,n): 产生m×n全1数组

eye(m):      产生m×m单位数组

rand(m,n):产生0~1间均匀分布的随机m×n矩阵。

拼接方式:

a=[1, 2, 3;4,5,6]

b=[7,8,9;10,11,12]

横向拼接:[a,b]  123789

纵向拼接: [a;b] 123/n456/n789/n

编址:全下标和单下标

数组A=[ 1   2   3   4   5

  6   7   8   9   10

11 12 13 14  15 ]

则 A(2,3)= 8 ,A(2)=6

使用函数进行转换单双下标

sub2ind([3,5],2,3)  

% 3×5数组中,第2 行第3列元素的单下标

    [a,b]=ind2sub([3,5],8) 

% 3×5数组中,第8个元素的全下标

数组元素寻访:

>>A=[1:3:16;2:3:17;3:3:18]

>>A1=A(:,2:3)     

A1    =

4     7

      5     8

      6     9

>>r=[2,3], c=[1,5];        

A2=A(r,c) %寻访A的第2、3行和1、5列交叉的元素组成的子数组

A2   =

2    14

3    15

>>ind=[1,3,18],    %生成数组ind,作为寻访A的单序号

A2=A(ind), %寻访A的第1、3和18号元素并组成子数组

A3=A(ind’)

A2=

     1     3    18

A3 =

        1

        3

        18

>>A4=A(1:3)%寻访前3个元素组成的子数组

 A4 =1 2 3

>>A5=A(3:-1:1)%由前3个元素倒序构成的子数组

A5=3 2 1

A6=A(15:end)%第15个及其后所有元素构成的子数组

函数end作为参数使用,返回最后一个元素的下标

      A6 = 15 16 17 18

数组操作指令:

[a,b]=size(A) 测量数组A的大小,a为行数和b列数

c=length(A)  测量数组A的长度(一维数组的元素个数)

c=find(A)      找出数组A中非0元素的位置,输出单序号

[a,b]=find(A)  输出非0元素的全下标

reshape函数:总元素数不变的前提下,改变各维的大小

Am=magic(3) %生成3*3的数组

Aa=reshape(1:12,3,4) %生成3*4的数组

B=2*ones(3,4) %生成3*4的全2数组

删除数组的某列和行

A=reshape(-4:5,2,5)  

A =

    -4    -2     0     2     4

    -3    -1     1     3     5  

A(:,[2,4])=[]

A =

    -4     0     4

    -3     1     5  

使用“单序号”可以删除单个元素

>>A(2:4)=[]

第三章:数值计算

例6 求a(x)=x2+2x+3; b(x)=4x2+5x+6两个多项式的积

          c = (x2+2x+3)(4x2+5x+6)

>> a=[1 2 3];b=[4 5 6];

>> c=conv(a,b)

      c = 4   13   28    27   18

>> p=poly2str(c,'x')

      p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18

例7:a(x)=x2+2x+3; b(x)=4x2+5x+6两个多项式的商

>> a=[1 2 3];b=[4 5 6];

>> [div,rest]= deconv(a,b)

div = 

         0.25 

rest = 

         0   0.75   1.5 

【例】建立多项式  f(x)=4x3-3x2+2x-5,并求出f(x)=0时的根及x=3、x=3.6的值

>> P=[4,-3,2,-5];

>> x=roots(P)

x =

1.2007          

  -0.2253 + 0.9951i

  -0.2253 - 0.9951i

>> x=[3,3.6];

>> f=polyval(P,x)

f =

   82.0000  149.9440

第四章:

符号矩阵的创建:

方法一:A=sym(‘[a,b;c,d]’) 

A=

      [ a, b]

      [ c, d]

方法二:

syms a b c d

B=[a,b;c,d]

 

B =

      [ a, b]

      [ c, d]

求A矩阵的特征值

>>syms a11 a12 a21 a22

>>A=[a11,a12;a21,a22];

>>det(A)        %计算行列式值

>>A’              %计算共轭转置

>>eig(A)        %计算特征值

极限:

  

>> syms t k

>>ss=sin(k*t)/(k*t)

>> lt=limit(ss,t,0)

lt =1

>> syms k x

>>ss= (1-1/x)^(k*x)

>> lx=limit(ss,x,inf)

 lx =1/exp(-k)

求导:

 

>> syms x t

>> f=[t^3-exp(x),t/x;t*cos(x),log(x)]

>> dfx=diff(f,x,1)

>> dft2=diff(f,t,2)

>> dtx=diff(diff(f,t),x)

求和:

 

>> syms x

>> ss=int(x*log(x),x,1,10)

级数

 

>>syms n

>>f=1/(2*n-1)

>>r=symsum(f,n,1,100)

>>double(r) 

第五章:图形

二维:

x=0:pi/100:2*pi;

y1=2*exp(-0.5*x);

y2=cos(4*pi*x);

plot(x,y1,x,y2)

title('x from 0 to 2{\pi}');      %加图形标题

xlabel('Variable X');                 %加X轴说明

ylabel('Variable Y');                  %加Y轴说明

legend('y1', 'y2')                      %加图例

三维:

x=[0:0.15:2*pi];

y=[0:0.15:2*pi];

[X,Y]=meshgrid(x,y)

Z=sin(Y)*cos(X); 

surf(X,Y,Z);  % mesh(X,Y,Z);

colormap(hot)

xlabel('x-axis') ;

ylabel('y-axis') ;

zlabel('z-label');

title('3-D surf');

第六章:

M文件的两种形式(区别)

脚本文件(Script File):通常用于执行一系列简单的 MATLAB 命令,运行时只需输入文件名字,MATLAB 就会自动按顺序执行文件中的命令;

函数文件(Function File)。可以接受参数,也可以返回参数,在一般情况下,用户不能靠单独输入其文件名来运行函数文件,而必须由其他语句来调用,MATLAB的大多数应用程序都以函数文件的形式给出。

全局变量使用示例:

  1. 先建立函数文件wadd.m,该函数将输入的参数加权相加。 

    function f=wadd(x,y)

    global a b

    f=a*x+b*y;

 

    2. 在脚本文件:

    global a b

    a=1;

    b=2;

    s=wadd(1,2)

 计算级数:S=1+2+22+23+···+263=

s=0;

for i=0:63

    s=s+2^i;

    i=i+1;

End

disp(s);

 

 

 

 

 

 

 

 

               

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值