数学建模软件-实验教程_第1页
数学建模软件-实验教程_第2页
数学建模软件-实验教程_第3页
数学建模软件-实验教程_第4页
数学建模软件-实验教程_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编程入门编程简介作为一种广泛应用于科学计算的工具 ,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和C、FORTRAN等高级语言一样进行程序设计。利用

的程序控制功能,可以将有关命令编成程序在一个文件中(M

文件),然后在命令窗口中运行该文件,就会自动依次执行文件中的命令,直到全部命令执行完毕。在程序设计中,要充分利用数据结构的特点,提高编程效率。用

语言编写的程序称为

M

文件。M

文件以.m

为扩展名。M文件是由若干 命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。事实上,

提供的 函数以及各种工具箱,都是利用 语言开发的M

文件。用户也可以结合自己的工作需要,开发自己的程序或工具箱。M

文件根据调用方式的不同可以分为两类:Script: 文件/命令文件Function:函数文件M

文件M

文件的建立与打开M文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用

自带的

M

文件编辑器。新建一个M

文件菜单操作(File

New

M-File

)命令操作(edit

M文件名)命令按钮(快捷键)打开已有的M

文件菜单操作

(

File

Open

)命令操作(edit

M文件名)命令按钮

(

快捷键

)双击M

文件c

5

(

f

32)9新建一个M

文件f2cs.m,内容如下:例:编写一个 文件将华氏温度转化为摄氏温度文件举例clear;

%清除当前工作空间中的变量f=input('Please

input

Fahrenheit

temperature:');c=5*(f-32)/9;fprintf('The

centigrade

temperature

is

%g\n',c);在命令窗口中输入f2cs,即可执行该M文件。文件运行后,文件中所产生的所有变量都驻留在当前工作空间,可以用whos

查看。关系运算<小于<=小于等于>大于>=大于等于==等于~=不等于比较大小,如果结论是真则返回1

,否则返回0注意==与=的区别关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。关系运算符关系运算举例例:>>2+2==4>>

2>3>>

A=[135;206];>>

B=[3>>

A>=B10;246];>>

x=[5

0;

4

2];>>

x<4&与(Elementwise

AND)|或(Elementwise

OR)~非xor(x,y)异或逻辑运算逻辑运算符&&与(Short-circuit

AND)||或(Short-circuit

OR)A

&

B

等价于and(A,B)A

|

B

等价于or(A,B)~

A

等价于not(A)运算对象与或非异或ABA&BA|B~AXor(A,B)000010010111100101111100逻辑运算表all(x)如果向量X

中所有元素都非零,则返回1,否则返回0若x

为矩阵,则any

和all

按列运算,返回一个0-1

向量逻辑运算相关函数any(x)如果向量X

中存在非零元素,则返回1,否则返回0isfinite元素为有限值,返回真值1isinf元素为无穷大,返回真值1isnan元素为不定值,返回真值1isreal参量无虚部,返回真值1isstr参量为一个字符串,返回真值1isempty参量为空,返回真值1一些测试函数括号高低幂,点幂正号,负号,逻辑非乘,除,点乘,点除加,减冒号运算关系运算&|&&||运算优先级程序控制结构有三种:顺序结构、选择结构和循环结构。任何复杂的程序都由这三种基本结构组成。顺序结构按排列顺序依次执行各条语句,直到程序的最后。这是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等。M文件控制流数据的输入:inputA=input(提示信息)其中提示信息为字符串,该命令要求用户输入A

的值(可以是数或字符串)例:A=input('Please

input

A:')如果是输入字符串,也可以使用下面的方法数据输入inputA=input(提示信息,'s')注:此时输入的字符串不要加单引号!例:name=input('What''s

your

name?','s')disp(X)输出变量X

的值,可以是数值矩阵或字符串>>

B=[1

2

3;

4

5

6;

7

8

9];>>

disp(B)数据输出disp数据的输出:disp>>

A=' o,Tom

!';>>

disp(A)例:数据输出fprintffprintf(fid,format,variables)数据的输出:fprintf按指定的格式将变量的值输出到指定的文件fid

为文件句柄,若缺省,则将变量的值输出到屏幕上format

用来指定数据输出时采用的格式,常见的有%e

(采用科学计算形式)%f

(采用浮点数形式)%g

(由系统自动选取上述两种格式之一)%s

(输出字符串)format

中还可以使用一些特殊格式,如:\n

(

换行

)

\t

(

制表符

)

\b

(

退格

)

\\

(

反斜杆

)

%%

(

百分号

)数据输出fprintf>>

a=' o';

b=2.4;

c=100*pi;>>

fprintf('a=%s,b=%f,c=%e\n',a,b,c)例:format

中的输出格式要与输出变量一一对应可以没有输出变量>>

fprintf('

Today

is

Monday\n')例:pause程序的暂停:pausepause

或pause(n)若想强行终止程序的运行,可以使用Ctrl+c其中n

是延迟时间,以秒为单位;若缺省,则将暂停程序,直到用户按任意键后继续pause

off

程序中所有pause

的作用pause

on

打开pause

的作用选择结构是根据给定的条件成立或不成立,分别执行不同的语句。

用于实现选择结构的语句有

if

语句和switch

语句。选择结构单分支结构if

expression

(条件)statements

(语句组)end双分支结构if

条件语句if

expression

(条件)statements1(语句组1)elsestatements2(语句组2)end多分支结构if

expression1

(条件1)statements1(语句组1)

elseif

expression2

(条件2)statements2(语句组2)...

...elseif

expressionm

(条件m)statementsm(语句组m)elsestatements(语句组)endif

条件语句if

语句举例数论中的一个有趣问题:任取一个正整数,如果是偶数,用2除,如果是奇数,用

3乘再加1,反复这个过程,直到所得到的数为1。问:是否存在使该过程永不中止的整数?(exp01.m)while

1n=input('Please

enter

n(nonpositive

quit):');m=n;if

n<=0,

break;

endwhile

n>1if

rem(n,2)==0n=n/2;elsen=3*n+1;endfprintf('\n

n=%d',n);endfprintf('\n

%d

is

not

we

need!

continue

...

\n‘,m);endif

语句举例根据表达式的不同取值,分别执行不同的语句。switch

expression

(表达式)case

value1

(表达式1)statement1(语句组1)case

value2

(表达式2)statement2(语句组2)...

...case

valuem

(表达式m)statementm(语句组m)otherwisestatement

(语句组)endswitch

语句首先计算expression

的值,然后将它依次与各个case

指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出switch

结构。如果所有的比较结果都为假,则执行otherwise

后面的语句组,然后跳出switch

结构。otherwise

指令可以不出现。switch

后面的表达式expression

的值可以是一个标量或字符串。switch

语句循环结构是按照给定的条件,重复执行指定的语句。用于实现循环结构的语句有for

语句和while语句循环结构for

variable=expressionstatement(循环体)end循环变量表达式expression

可以是行向量,也可以是矩阵例:

已知

y

1

1

1

1

,当

n=100时,求

y的值3

5 2n

1for

循环clear;

y=0;

n=100;for

k=1:ny=y+1/(2*k-1);end循环语句可以嵌套使用不能在for

循环体内改变循环变量的值为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免for

循环的使用如果预先就知道循环的次数,则可以采用for

循环;否则,如果预先无法确定循环的次数,则可以使用

while

循环。while

循环while

expression

(条件)statement(循环体)end计算中eps

值(exp02.m)while

循环举例num=0;

EPS=1;while

(1+EPS)>1EPS=EPS/2;num=num+1;end这个例子给出了计算

eps

的 法。这里 用大写

EPS,因此系统中

eps

的值不会被覆盖。当

EPS=eps

时,条件仍成立;而当

EPS=eps/2

时,条件为假,退出循环,所以最后应有

EPS=eps/2。num

用来记录循环次数。break

和continuebreak

语句用于终止循环的执行,即跳出最内层循环continue

语句用于结束本次循环,进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论