数学建模编程-重要知识点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.建立符号变量和符号常量

MATLAB 提供了两个建立符号对象的函数:sym 和syms ,两个函数的用法不同。 (1) sym 函数

sym 函数用来建立单个符号量,一般调用格式为: 符号量名=sym('符号字符串')

该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。

应用sym 函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。 (2) syms 函数

函数sym 一次只能定义一个符号变量,使用不方便。MATLAB 提供了另一个函数syms ,一次可以定义多个符号变量。syms 函数的一般调用格式为: syms 符号变量名1 符号变量名2 … 符号变量名n

用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。

矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=187624323A ,矩阵⎥⎥

⎥⎦

⎢⎢⎢⎣⎡=333222111B ;分别求出A x B 及A 与B 中对应元素之间的乘积的程序语句。

答案:A=[3 2 3;4 2 6;7 8 1];B=[1 1 1;2 2 2;3 3 3];

>> A*B,A.*B

ans =

16 16 16 26 26 26 26 26 26

ans =

3 2 3 8

4 12

21 24 3

方阵的行列式:det (A ) 方阵的逆:inv (A )

方阵的特征值与特征向量:[V ,D]=eig[A]

例 绘制y=x3的函数图、对数坐标图、半对数坐标图

x=[1:1:100];

subplot(2,3,1);

plot(x,x.^3);

grid on;

title 'plot-y=x^3';

subplot(2,3,2);

loglog(x,x.^3);

grid on;

title 'loglog-logy=3logx';

subplot(2,3,3);

plotyy(x,x.^3,x,x);

grid on;

title 'plotyy-y=x^3,logy=3logx';

subplot(2,3,4);

semilogx(x,x.^3);

grid on;

title 'semilogx-y=3logx';

subplot(2,3,5);

semilogy(x,x.^3);

grid on;

title 'semilogy-logy=x^3';

在数据处理和分析应用的其他函数

下面是矩阵操作的一些例子:

>>a=[1,4,6,8,10] %一维矩阵>>a(3) % a的第三个元素

ans =

6

»x =[1 2 3 4 5 6 7 8

4 5 6 7 8 9 10 11]; %二维2x8 矩阵» x(3) % x的第三个元素

ans =

2

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

ans =

1 4 3

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

ans =

6

x(1:5) % x的第前五个元素

ans =

1 4

2 5 3

» x(10:end) % x的第十个元素后的元素

ans =

8 6 9 7 10 8 11

» x(10:-1:2) % x的第十个元素和第二个元素的倒排

ans =

8 5 7 4 6 3 5 2 4

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

ans =

6 7 8 6 9 7 10 8 11 » x(4)=100 %给x的第四个元素重新给值

x =

1 2 3 4 5 6 7 8

4 100 6 7 8 9 10 11

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

x =

Columns 1 through 12

1 4 100 3 6 4 7 5 8 6 9 7

Columns 13 through 15

10 8 11

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

x =

Columns 1 through 12

1 4 100 3 6 4 7 5 8 6 9 7

Columns 13 through 16

10 8 11 1

当元素很多的时候,则须采用以下的方式:

» x=(1:2.5:120); % 以:起始值=1,增量值=2,终止值=120的矩阵

例建立矩阵A,然后找出大于4的元素的位置。

(1) 建立矩阵A。

A=[4,-65,-54,0,6;56,0,67,-45,0]

(2) 找出大于4的元素的位置。

find(A>4)

例3-1 分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。

程序1:

首先建立命令文件并以文件名f2c.m存盘。

clear; %清除工作空间中的变量

f=input('Input Fahrenheit temperature:');

c=5*(f-32)/9

然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为:Input Fahrenheit temperature:73

c =

22.7778

例3-2 输入x,y的值,并将它们的值互换后输出。

程序如下:

x=input('Input x please.');

y=input('Input y please.');

z=x;

x=y;

y=z;

disp(x);

disp(y);

例3-3 求一元二次方程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))]);

例3-4 计算分段函数的值。

程序如下:

x=input('请输入x的值:');

if x<=0

y= (x+sqrt(pi))/exp(2);

else

y=log(x+sqrt(1+x*x))/2;

end

y

相关文档
最新文档