matlab数学实验--第一章

一、数据和变量:

省略号(三个英文句点):表示换行

历史指令调用:用方向键上下

数据显示格式:

format short

format long

format rational

复数: I,j

realmin:最小正实数

realmax:最大正实数

Inf:无穷大 eg:2/0

NaN:不定值 eg:0/0

二、数组的输入与分析:

中括号[]表示矩阵,同行元素用逗号或空格分隔;不同用分号或回车分隔。

函数linspace(x1,x2,n)生成x1与x2间的n维等距行向量

编址:不能为0,按列编址;

冒号运算: eg;生成1到10,公差为2的等差数组:a=[1:2:10]

Length:计算向量的尺寸

Size计算矩阵的尺寸

查看矩阵的某个元素:eg:A(2,3)表示2行3列的元素

矩阵元素的抽取:eg:A=[1 2 3; 4 5 6];

A(2,:)表示抽取矩阵第二行的元素

A(:,3)表示抽取矩阵第三列的元素

子矩阵的抽取:A([1,2],[2,3])表示抽取第一行下标为1,2的元素2,3和第二行下标为2,3的元素5,6

A(:)把矩阵A变成向量形式

更改向量的元素:eg: a(2)=6把向量的第二元素改成6

同理,改变矩阵的元素也一样,A(2,3)=7二行三列的元素改为7

拼接:eg: [A,B]把A矩阵和B矩阵按行方式进行拼接,如果逗号改为分号就是按列进行拼接

sum:矩阵:列相加;向量:全部相加

prod(乘积):如果自变量是向量,求所有向量的乘积;如果自变量是矩阵,求每一列的乘积;

min,max:如果自变量是向量,求所有向量的最小最大值;如果自变量是矩阵,求每一列的最小最大值;

特殊矩阵

Zeros(m,n):零矩阵 ; ones(m,n):一矩阵 ; eye(m,n):单位矩阵

导入外部excel数据文件:

剪切板 + Array Editor

菜单import data

数组乘方:A.^K; K.^A:表示矩阵中的每一个元素以K为底,对应元素的次方形成的新矩阵

数组运算:A.*B,A./B; A-3(每个元素-3)

数学函数:

矩阵的数字函数是按元素运算

fix:向0取整

ceil :向正无穷取整

rem:除法余数

real:复数实部

angle:复数幅角

log:自然对数 (ln)

floor:向负无穷取整

mod:模除求余

abs:绝对值

image:复数虚部

conj:复数共轭

log10:以10为底对数

eg:以2为底4的对数为2 ---log2(4)

逻辑运算:

any:至少有一个满足条件 all:必须全部满足条件

find:找到满足条件元素的下标

测试题:

a表示每一列的最小值

b表示每列最小值所在的行号

分号的作用:

不让表达式结果显示出来

两个语句分隔符

矩阵换行

三、字符串、元胞和结构

数据类型:

数值(Double):

逻辑(Logical):

字符(Char): a = \'清心明目\',b=a([4:-1:1])结果为:目明清心

字符串的拼接:t=’好’, c=[a,t]结果为清心明目好

元胞(Cell):

结构(Structure):

字符串转化 num2str,str2num

第一章作业题

执行下列指令,观察运算结果,理解其意义

(1)[a,b]=min([10 20;30 4])

a的值是矩阵每一列的最小值,即10 4

b的值是矩阵最小值所在的行号

(2)[10 20;30 40]>=[40 30;20 10]

返回对应元素比较结果的值0,1

(3)find([10 20;30 40]>=[40 30;20 10])

返回的结果是将矩阵先转化为列向量再比较得到的位置

题中的矩阵变换为列向量为(10 30 20 40T ,(40 20 30 10)T;

对应元素进行比较,结果为

(4)[x,y]= find([10 20;30 40]>=[40 30;20 10])

x是返回满足条件的元素所在行

y是返回满足条件的元素所在列

结果是

(5)linspace(3,4,5)

以3开始,以4结尾,分成5

(6)fun=\'abs(x)\',x=-2,eval(fun),double(fun)

结果为:

eval函数将括号内的字符串视为语句并运行

double函数将字符串中每个字符的ASCII码返回

(7)本金k以每年n次,每次p%的增值率增加,当增加到rk时所花费的时间为

T=lnr/nln(1+0.01p),用MATLAB表达式写出该公式并用下列数据计算:r=2,p=0.5,n=12.

(8)已知函数f(x)=x4 -2x在(-2,2)内有两个根。取步长h=0.05,通过计算函数值求得函数的最小值点和两个根的近似解。(求近似根等价于求函数绝对值的最小值点)

第一种解法:

最小值:

x=-2:0.05:2;

f=x.^4-2.^x;

[fmin,min_index]=min(f) %fmin:最小值;min_index最小值点编址

x(min_index) %最小值点

近似解:

[f1,x1_index]=min(abs(f)) %求近似根

x(x1_index)

x(x1_index)=[]; f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点

[f2,x2_index]=min(abs(f)) %求另一近似根

x(x2_index)

第二种解法:

clear all;

fun=inline(‘x.^4-2.^x’,’x’);

[x,f]=fminbnd(fun,-2,2); %求最小值

%求零点

fzero(fun,[-2,0]);

fzero(fun,[0,2]);

PS:

iline函数用于定义函数

变量名=inline(‘matlab有效表达式’,’变量1’,’变量2’……)