当前位置:文档之家› W02 MATLAB程序设计语言与初等数学运算1_2014

W02 MATLAB程序设计语言与初等数学运算1_2014

第1章

上章小结

数值计算的误差不可避免

MATLAB 的历史与特点

浮点数与浮点运算

算法

误差

掌握化工专业需要数值计算技能

误差的基本概念数据对误差的影响

机器只能表示有限个非连续实数

算法设计的原则

数值计算即利用计算机进

行科学计算

窗口通用命令

命令命令说明命令命令说明

cd显示或改变工作目录dir显示目录文件type显示文件内容clear清除内存变量clf清除图形窗口pack收集内存碎片,扩大内

存空间clc清除命令窗口内容echo命令窗口信息显示开关hold图形保持开关disp显示变量或文字内容path显示搜索目录save保存内存变量到指定文

load加载指定文件变量diary日志文件命令quit退出MATLAB!调用DOS命令

——0.4 MATLAB简介

第0章绪论

窗口通用命令-clear

clear函数

?clear清空当前变量空间。

?clear name从变量空间中清除name指定的变量

或函数。

>> clear a 运行后在变量空间窗口中可以看到a变量已经被清除

——0.4 MATLAB简介

第0章绪论

窗口通用命令-clc

clc函数

?clear清除命令窗口的显示内容。

>> clc 命令运行后,所有显示内容消失,但变量空间中的变量仍然存在。

——0.4 MATLAB简介

第0章绪论

MATLAB的帮助系统

?MATLAB的重要特色之一是软件的帮助系统是相当完善的,它是应用者最重要的参考资料;

?获得MATLAB的帮助可以通过以下方法:–在菜单栏点击Help或按F1功能键

–利用窗口命令如help,doc等

?Help命令是获得MATLAB软件帮助最重要的命令。

——0.5 MATLAB帮助系统

第0章绪论

第0章绪论Help 命令的使用方法

——0.5 MATLAB 帮助系统

help

显示MATLAB 所有主题的目录。help +主题名称显示MATLAB 自身的库函数。help+函数名显示函数的具体使用方法,doc+函数名

显示更详细的函数使用方法,算法以及应用示例等

第1章MATLAB程序设计语言与初等数学运算?变量

?数据类型

?MATLAB基本数学运算

?数据输入与输出

第1章

第1章变量

?变量是MATLAB 程序的基本组成;

?MATLAB 变量不需要预先声明,也不需要指定变量类型

?变量在使用时必须首先赋值

——1.1 变量

数据输入

运算

数据输出

变量

变量

MATLAB 程序的组成

第1章

变量的使用

为避免变量的误用,在新程序运行前采用clear 命令清除!>> xy=1 定义变量xy ,并给其赋值为1,此在变量空间中,xy 变量可见

在命令窗口输入:>> whos

Name Size Bytes Class xy 1x1 8 double array

在命令窗口输入:>> clear >> xy

??? Undefined function or

variable 'xy'.

在命令窗口输入:

变量的命名方式

–变量名由字母、数字和下划线组成;

–变量名中的英文字母大小写是有区别的;

–变量名只有前63位为MATLAB所认可,其余

将被忽略

–变量名应不和MATLAB关键字相同

–为了提高程序的可读性,变量名应尽可能有

意义

——1.1 变量

第1章

第1章>> a=101325;>> b=0.01;>> c=0.1;>> d=8.314;

>> f=a*b/(c*d);

变量的作用

使用变量使程序更加易懂

变量名具有较明显的意义,程序的可读性大大增加

>> P=101325;>> V=0.01;>> n=0.1;>> R=8.314;

>> T=P*V/(n*R);

——1.1 变量

MATLAB系统的特殊变量和常数

特殊变量意义

ans如果未定义变量名,用于计算结果存储的默认

变量名

pi圆周率π(= 3.1415926...)inf或Inf无穷大∞值

eps浮点运算的相对精度

NaN或nan非数

i或j虚数单位

——1.1 变量

第1章

MATLAB数据类型

?变量赋值的数据类型(变量可以赋值的种类)

–数值(标量,向量,数组)

–字符串

–单元数组(cell array)

–结构体(structure)

–函数句柄

——1.2 数据类型

第1章

第1章数值型数据-数字

以下表达方式均合法:

复数

3+3i 6-8j 5j 6+3*i

345 -99 0.01 .01 1.3e-3 4.5e3 61.2E5

标量

——1.2 数据类型

数值型数据-向量

1) 直接输入向量

格式上要求向量元素需要用“[]”括起来

元素之间可以用空格、逗号或分号分隔

空格和逗号分隔生成行向量,用分号生成列向量。

在命令窗口输入:

>> a=[1 8 9]定义变量a,这是一个行向量,

含有三个元素

>> b=[1; 8; 9]定义变量b,这是一个列向量,

含有三个元素

——1.2 数据类型

第1章

数值型数据-向量

2) 利用冒号生成向量

9冒号表达式的基本形式为:x=x0:step:xn;

当xn-x0为step的整数倍时,xn才为最后一个

元素的值。

9若step=1,则此项输入可以忽略。

在命令窗口输入:

>> a=1:2:7a=1,3,5,7

>> b=1:3:12b=1 4 7 10

——1.2 数据类型

第1章

第1章数值型数据-向量

3) linspace 函数

可以使用linspace 函数生成线性等分向量

y =linspace(x1,x2)生成(1*100)维行向量,y(1)=x1,y(100)=x2

y =linspace(x1,x2,n)生成(1*n )维行向量,y(1)=x1,y(n)=x2。

>> a=linspace(1,5,3)a=1,3,5

在命令窗口输入:>> b=linspace(1,5,4)b=1.00 2.33 3.67 5.00——1.2 数据类型

>> c=linspace(1,1,5)

c=1 1 1 1 1

数值型数据-向量

4) logspace函数

logspace用于生成对数等分向量,格式如下:

y=logspace(x1,x2)生成(1*50)维行向量,

y(1)=10^x1,y(n)=10^x2

y=logspace(x1,x2,n)生成(1*n)维对数等分向量,

y(1)=10^x1,y(n)=10^x2在命令窗口输入:

>> a=logspace(0 2 4)

a=1.0000 4.6416 21.5443 100.0000

——1.2 数据类型

第1章

数值型数据-矩阵

从键盘上直接输入矩阵的最方便、最常用和最好的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点。

1.输入矩阵时要以“[ ]”为其标识,即矩阵的元素应在“[ ]”

内部,此时MATLAB才将其识别为矩阵。

2.矩阵的同行元素之间可由空格或“,”分隔,行与行之间

要用“;”或回车符分隔。

3.矩阵大小可不预先定义。

4.矩阵元素可为运算表达式。

5.无任何元素的空矩阵亦合法。

——1.2 数据类型

第1章

第1章数值型数据-矩阵

>> X = [2.32 3.43;4.37 5.98]

生成了一个名为X 的变量,它是一个2行2列的矩阵在命令窗口输入:

>> Y= [3*5,2,3;

2+i 0.3 4]

生成变量Y ,它是一个2行3列的矩阵 2.43 3.434.37 5.98??????

15232i 0.34??

??+??

——1.2 数据类型

?X(1)、X(3)分别表示矩阵的第1个和第3个元素

?X(1,1)表示矩阵的第1行第1列的元素

科学计算与MATLAB语言考试答案

1 单选(2分) 利用MATLAB求解科学计算问题的优势是()。 得分/总分 ? A. 算法最优 ? B. 不需要编写程序 ? C. 程序执行效率高 ? D. 编程效率高 正确答案:D你没选择任何选项 2 单选(2分) 在MATLAB命令行窗口输入命令时,可使用续行符,其写法是()。 得分/总分 ? A. 省略号(…) ? B. 分号(;) ? C. 三个小数点(…) ? D. 百分号(%) 正确答案:C你没选择任何选项 3

下列语句执行后,D的值为()。 1.A=[1:3;4:6]; 2.D=sub2ind(size(A),[1,1],[2,3]) 得分/总分 ? A. 3 6 ? B. 2 5 ? C. 3 5 ? D. 4 5 正确答案:C你没选择任何选项 4 单选(2分) ceil(-2.1)+floor(-2.1)+fix(-2.1)的结果为()。 得分/总分 ? A. -7 ? B. -6 ? C. -5 ? D. -9 正确答案:A你没选择任何选项 5

下列语句执行后,x的值是()。 1.log=1:5; 2.x=log(1) 得分/总分 ? A. ? B. 1 ? C. 数学常数e ? D. 报错 正确答案:B你没选择任何选项 6 单选(2分) 下列语句执行后,c的值是()。 1.ch=['abcdef';'123456']; 2.c=char(ch(2,4)-1) 得分/总分 ? A. '4' ? B. 4 ? C. '3' ? D. 3

7 单选(2分) 产生和A同样大小的全0矩阵的函数是()。 得分/总分 ? A. zero(size(A)) ? B. zeros(size(A)) ? C. size(zero(A)) ? D. size(zeros(A)) 正确答案:B你没选择任何选项 8 单选(2分) 语句x=speye(5)==eye(5)执行后,则下列说法中正确的是()。 得分/总分 ? A. x是5阶全1矩阵,且采用稀疏存储方式 ? B. x是5阶全1矩阵,且采用完全存储方式 ? C. x是5阶单位矩阵,且采用稀疏存储方式 ? D. x是5阶单位矩阵,且采用完全存储方式

MATLAB 语言程序设计基础(2)

%第六章微分方程问题的解法 % 微分方程的解析解方法 % 常微分方程问题的数值解法 % 微分方程问题算法概述 % 四阶定步长Runge-Kutta算法及MATLAB 实现 % 一阶微分方程组的数值解 % 微分方程转换 % 特殊微分方程的数值解 % 边值问题的计算机求解 % 偏微分方程的解 % 6.1 微分方程的解析解方法 % y=dsolve(f1, f2, …, fm ,'x') % syms t; u=exp(-5*t)*cos(2*t+1)+5; % uu=5*diff(u,t,2)+4*diff(u,t)+2*u % syms t y; % y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y='... % '87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'],'y(0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0') % [x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)',... % 'Dy=4*x+3*y+4*exp(-t)') % syms t x; % x=dsolve('Dx=x*(1-x^2)+1') % Warning: Explicit solution could not be found; implicit solution returned. % > In D:\MATLAB6p5\toolbox\symbolic\dsolve.m at line 292 % x = % t-Int(1/(a-a^3+1),a=``..x)+C1=0 % 故只有部分非线性微分方程有解析解。 % 6.2 微分方程问题的数值解法 % 6.2.1 微方程问题算法概述 %Euler算法% %function [outx,outy]=MyEuler(fun,x0,xt,y0,PointNum) % fun 表示f(x,y); x0,xt:自变量的初值和终值; % y0:函数在x0处的值,其可以为向量形式; % PointNum表示自变量在[x0,xt]上取的点数 % if nargin<5 |PointNum<=0 %PointNum 默认值为100 % PointNum=100; % end % if nargin<4 % y0默认值为0

MATLAB精通科学计算_偏微分方程求解

一、Maple V 系统 Maple V是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。Maple V的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。 Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。 二、MATLAB 系统 MATLAB原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispac k软件包的接口程序,采用C语言编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于W indows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。 MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。 MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的E ditor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。 三、MathCAD 系统 MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1. 0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Map le强大的符号计算能力,使得它发生了一个质的飞跃。 MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0 Profe ssional(专业版)运行在Win9X/NT下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。 MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Wor d、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。 四、Mathematica 系统 Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符

汇编语言程序设计

汇编语言基础《汇编语言程序设计》第01章在线测试 A B C D 、微机中每个存储单元具有一个地址,其中存放一个____量。 A B C D 、设段地址为5788H,该字节的物理地址_____。 A B C D 、汇编语言源程序中,每个语句由项组成,不影响语句功能的是_____。 A B C D 、下列标号不合法的是_____。 A B C D

B、生成的代码序列短小 C、运行速度快 D、编程容易 E、便于移植 2、8086段寄存器有_______。 A、IP B、DS C、CS D、ES E、SS 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件 B、可执行文件 C、列表文件 D、调试文件 E、库文件 4、汇编语言中,______可以作为有效的名字,如标号、变量名等。 A、0fffh B、var00 C、loop1 D、test E、add 5、汇编语言中,程序员不能将______作为用户标识符。 A、DS

正确错误、有效地址是指存储器操作数的物理地址。 正确错误、采用汇编语言书写的一个源程序文件,需要使用汇编程序,例如MASM 正确错误 按逻辑段组织程序,需要执行的指令应该在代码段中。 正确错误、使用简化段定义源程序格式,必须具有语句,且位于所有简化段定义语句之前。 正确错误 《汇编语言程序设计》第02章在线测试 A B C D

2、伪指令DW定义的是______量的变量。 A、字节 B、字 C、双字 D、4字 3、将变量var定义如下,“var db 26h, 4ah”,欲以字属性存取该变量值,应采用______var。 A、offset B、byte ptr C、word ptr D、seg 4、语句“xyz db ˊABˊ, ˊCDˊ, ˊEˊ,ˊFˊ”汇编后占用的存储空间是______个字节。 A、4 B、5 C、6 D、8 5、在伪指令语句“number dw 1234h”中的number 项称为______。 A、标号 B、操作符 C、名字 D、操作数 第二题、多项选择题(每题2分,5道题共10分) 1、如下________寻址方式的操作数来自主存储器。 A、立即数寻址 B、寄存器寻址 C、直接寻址 D、寄存器相对寻址 E、寄存器间接寻址 2、“mov [bx+10h],al”指令的两个操作数采用的寻址方式有_______。 A、寄存器间接 B、寄存器 C、寄存器相对 D、基址变址 E、立即数

Matlab语言程序设计

MATLAB 语言程序设计 1、应用题(20 分) 某工厂生产A和B两种产品,它们需要经过三种设备的加工,工时如表1所列。设备一、二、三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4000元/吨和3000元/吨,问每天应安排产品A、B各多少吨,才能使工厂获利最大? 表 1 生产产品工时表 产品设备一设备二设备三 A/(小时/吨) 3 3 4 B/(小时/吨) 4 3 2 设备每天最多可工作时数/小时12 10 8 请写出具体解决方案,并编写该解决方案的具体MATLAB程序代码。 假设每天应安排生产产品A和B分别为和吨,依题意可建数学模型如下: max z=4000x 1+ 3000x2 3x1+ 4x2≤12 3x1+ 3x2≤10 4x1+ 2x2≤8 x1≥0, x2≥0 首先将目标函数转换为标准形式:min z=-4000-3000 M文件如下: f = [-4000;-3000]; A = [3 4;3 3;4 2]; b = [12;10;8]; lb = zeros(2,1); [x,fval] = linprog(f,A,b,[],[],lb) 结果如下图1所示: 图1

2、结合MATLAB 图像的读写知识,请你写出具体MATLAB 图像读写方法,结合实例,给出图像读写步骤。(20分) 读写方法: imfinfo(FileNAme) %从FileNAme中获取或显示图像文件的特征数据 [X,cmap]=imread(FileNAme) %读取变址图像的数据矩阵与伴随色图,并分别送给X 和cmap X=imread(FileNAme) %从FileNAme中读取强度图像或真彩图像的数据矩阵并送给X imwrite(X,cmap,FileName,Parameter,Value) %将变址图像写入文件 imwrite(X ,FileName,Parameter,Value)%将强度图像或真彩图像写入文件 [例2-1] M文件如下: I=imread('m2.png'); imwrite(I,'m2.tif'); [X,cmap]=imread('m2.tif'); image(X); colormap(cmap); axis image off; 结果如下图2所示: 图2 3、结合课本第四章所提供的18种绘图方法,请实现其中8种绘图,提供程序代码及所绘制的图形。(30分)

科学计算与MATLAB语言(第四课)

第四讲绘图功能

作为一个功能强大的工具软件,Matlab 具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

4.1 二维图形 一、plot函数 函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例1】在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y)

一、plot函数 【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

一、plot函数 (一)线型与颜色 格式:plot(x,y1,’cs’,...) 其中c表示颜色,s表示线型。 【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

一、plot函数 (二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本');

中南大学材料学院科学计算与MATLAB考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

《Matlab与科学计算》作业 2010010099

《Matlab与科学计算》作业 第一章MATLAB环境 1、MATLAB通用操作界面窗口包括哪些?命令窗口、历史命令窗口、当前目录窗口、工作空间窗口各有哪些功能? 答:MATLAB通用操作界面窗口包括:命令窗口、历史命令窗口、当前目录浏览器窗口、工作空间窗口、变量编辑器窗口、M文件编辑/调试器窗口、程序性能剖析窗口、MATLAB帮助。 命令窗口是MATLAB命令操作的最主要窗口,可以把命令窗口当做高级的“草稿纸”。在命令窗口中可以输入各种MATLAB的命令、函数和表达式,并显示除图形外的所有运算结果。 历史命令窗口用来记录并显示已经运行过的命令、函数和表达式,并允许用户对它们进行选择、复制和重运行,用户可以方便地输入和修改命令,选择多行命令以产生M文件。 当前目录窗口用来设置当前目录,可以随时显示当前目录下的M、MKL等文件的信息,扬文件类型、文件名、最后个修改时间和文件的说明信息等,并可以复制、编辑和运行M文件及装载MAT数据文件。 工作空间窗口用来显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。 2、熟悉课本中表格1.4、1.5、1.6、1.7、1.8的内容。 3、如何生成数据文件?如何把数据文件中的相关内容输入到工作空间中,用实例进行操作。 生成数据文件:

把数据文件中的相关内容输入到工作空间中: 结果: 4、在工作空间中可以通过哪些命令管理变量,写出每种语法的具体操作过程。答:(1)把工作空间中的数据存放到MAT数据文件。 语法:save filename 变量1 变量2 ……参数。 (2)从数据文件中取出变量存放到工作空间。 语法:load filename 变量1 变量2 ……。

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

05级通信工程、电子信息工程《MATLAB语言程序设计》考试卷

安徽农业大学2006―2007学年第二学期 《MATLAB 语言程序设计》试卷(A 卷) 考试形式: 闭卷笔试,2小时 适用专业: 05级通信工程、电子信息工程 一、填空题(本题满分30分,每空3分) 1. 设有程序 A=[1,2,3,4;4,3,2,1;1, -2 ,1, -2];B=[3,1,-1;0,4,2];A1=A(:,[1 3]); M=size(A1)+ length(B(:,2)) 将下列命令的运行结果填在横线上 M= ;A1+B' = . 2. A=[1,2,3,4;2,3,4,5;3,4,5,6]; A1=sum(A<4,2);A([2,3],:)=[],A2=A A1= ; A2= ; 3.P=[1,2,3,4;3,0,1,2];max(P)= ;mean(P,2)= 院: 专业班级: 姓名: 学号: 装 订 线

二、(本题满分12分)试编写计算程序 V; 与特征向量 U 的特征值 B 2 A 求 (4). E; 5 B A 2B BX 解矩阵 . (3) ); A B) (B(A R R 的秩 A (2). |; B) 2 B)(A (A | D (1). , 6 2 1 5 7 2 , 2 1 5 1 2 3 3 2 1 1 1 + + = + = + - = ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? = - - T T T B A 方程 设

三、(本题满分8分) 的程序组写出求解超定线性方程?????? ?=++-=++=--=++1 21212:321 321321 321x x x x x x x x x x x x 四、(本题满分16分)运用符号运算功能写出下列各题Matlab 程序 解求方程03.12=-x e x Adx dx A d x wx x x xe A x ??? ????=-1 022,,cos )sin(sin .2并计算 生成符号矩阵

《MATLAB与科学计算》期末论文

盐城师范学院《MATLAB与科学计算》期末论文 2016-2017学年度第一学期 用MATLAB解决解析几何的图形问题 学生姓名吴梦成 学院数学与统计学院 专业信息与计算科学 班级数15(5)信计 学号 15213542

用MATLAB 解决解析几何的图形问题 摘 要 将 MATLAB 的图形和动画功能都用于解析几何教学,可使教学形象生动。以图形问题为例,详细给出了实例的程序编写和动画实现过程 。在解析几何教学中有一定的应用价值。 【关键词】: MATLAB ; 解析几何 ;图形 ; 动 画;编程 1 引 言 在解析几何的教学中,使用传统的教学方法。许多曲线及曲面的形成过程与变换过程只通过传统的教师讲授静态图示就很难形象生动地表示出来 。在解析几何教学中使用MATLAB 软件辅助教学,不仅可以很容易绘制出复杂的立体图形。把曲线、曲面的形成和变化过程准确地模拟出来 ,而且还能够对它们进行翻转 、旋转 ,甚 至还能够轻而易举地实现图形的动画效果!这对提高教学效率和培养学生的空间想象能力可起到事半功倍的效果。下面结合实例从几个方面说明MATLAB 在解析几何画图方面的应用。 2 利用 MATLAB 绘制三维曲线 在空间解析几何中,各种曲线和曲面方程的建立都离不开图形 ,而空间曲线和曲面图形既难画又费时。借助MATLAB 的绘图功能 ,可以快捷 、 准确地绘出图形,使教学变得形象 、生动 。有利于学生观察三维空间图形的形状 , 掌握图形的性质 。 一 般地 ,MATLAB 可用plot3,ezplot3,comet3等函数来各种三维曲线 。 例如画螺旋曲线的图形,其参数方程设为 :t at cos x =,t b sin t y -=,ct =z 。使用 plot3语句画螺旋曲线图形的方法如下( 设a =2 ,b=4,c=3): );*3),sin(*.*4),cos(*.*2(3;*10:50/:0t t t t t plot pi pi t -= MATLAB 用两条简单的语句就可以画出螺旋 曲线(图1),但上述方法是静态的 ,为了体

科学计算与matlab1.5

单元测验已完成成绩:分 1 【单选题】 MATLAB一词来自()的缩写。 A、 Mathematica Laboratory B、 Matrix Laboratory C、 MathWorks Lab D、 Matrices Lab 我的答案:B得分:分 2 【单选题】 下列选项中能反应MATLAB特点的是()。 A、 算法最优 B、 不需要写程序 C、 程序执行效率高 D、 编程效率高

我的答案:D得分:分 单元测验已完成成绩:分 1 【单选题】 当在命令行窗口执行命令时,如果不想立即在命令行窗口中输出结果,可以在命令后加上()。 A、 冒号(:) B、 逗号(,) C、 分号(;) D、 百分号(%) 我的答案:C得分:分 2 【单选题】 fix(264/100)+mod(264,10)*10的值是()。 A、 86 B、 62 C、 423 D、

42 我的答案:D得分:分 3 【单选题】 在命令行窗口输入下列命令后,x的值是()。 >> clear >> x=i*j A、 不确定 B、 -1 C、 1 D、 i*j 我的答案:B得分:分 4 【单选题】 使用语句x=linspace(0,pi,6)生成的是()个元素的向量。 A、 8 B、 7 C、 6

D、 5 我的答案:C得分:分 5 【单选题】 ceil的结果为()。 A、 -2 B、 -3 C、 1 D、 2 我的答案:A得分:分 6 【单选题】 eval('sqrt(4)+2')的值是()。 A、 sqrt(4)+2 B、 4 C、 2 D、

2+2 我的答案:B得分:分 7 【单选题】 已知a为3×5矩阵,则执行完a(:,[2,4])=[]后()。 A、 a变成行向量 B、 a变为3行2列 C、 a变为3行3列 D、 a变为2行3列 我的答案:C得分:分 8 【单选题】 在命令行窗口输入以下命令 >> A=[1:3;4:6]; >> D=sub2ind(size(A),[1,1],[2,3]) D的值为()。 A、 3 6 B、 2 5 C、 4 5

汇编语言程序设计(第四版)第3章【课后答案】

汇编语言程序设计第四版 【课后习题答案】--囮裑為檤 第3章汇编语言程序格式 〔习题3.1〕伪指令语句与硬指令语句的本质区别是什么?伪指令有什么主要作用? 〔解答〕 伪指令语句与硬指令语句的本质区别是能不能产生CPU动作; 伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。 〔习题3.2〕什么是标识符,汇编程序中标识符怎样组成? 〔解答〕 为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符; 汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如-,$,?,@)组成,不能以数字开头。 〔习题3.3〕什么是保留字,汇编语言的保留字有哪些类型,并举例说明。 〔解答 保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。汇编语言对大小写不敏感。如定义字节数和字符串的DB就是伪指令助记符。 〔习题3.4〕汇编语句有哪两种,每个语句由哪4个部分组成? 〔解答〕 汇编语句有执行性语句和说明性语句; 执行性语句由标号、硬指令助记符、操作数和注释四部分组成; 说明性语句由名字、伪指令助记符、参数和注释四部分组成 〔习题3.5〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 〔解答〕 ⒈编辑文本编辑程序汇编语言源程序.asm ⒉汇编汇编程序目标模块文件.obj ⒊连接连接程序可执行文件.exe或.com

⒋调试调试程序应用程序 〔习题3.6〕区分下列概念: (1)变量和标号 (2)数值表达式和地址表达式 (3)符号常量和字符串常量 〔解答〕 (1)变量是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。 (2)数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。 (3)在程序中,为了使常量更便于使用和阅读,经常将一些常量用常量定义语句定义为符号常量,被一对双引号括起来的若干个字符组成的字符序列被称为字符串常量。 〔习题3.7〕假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。 (1)mov byte ptr [bx],1000 (2)mov bx,offset myword[si] (3)cmp mybyte1,mybyte2 (4)mov al,mybyte1+mybyte2 (5)sub al,myword (6)jnz myword 〔解答〕 (1)1000超出了一个字节范围 (2)寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为lea bx,myword[si] (3)两个都是存储单元,指令不允许 (4)变量值只有执行时才确定,汇编过程不能计算 (5)字节量AL与字量myword,类型不匹配 (6)Jcc指令只有相对寻址方式,不支持间接寻址方式 〔习题3.8〕OPR1是一个常量,问下列语句中两个AND操作有什么区别? AND AL,OPR1 AND 0feh 〔解答〕

Matlab与科学计算样题(加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中正确的有: a) 2a =pi 。 b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 2 1at bt μμ=++0μ为0℃水的黏度,值为31.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2)。 Z=x.*exp(-x.^2-y.^2)。 。 a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明:

>> x=0.5:0.5:3.0。 >> y=[1.75,2.45,3.81,4.80,8.00,8.60]。 >> a=polyfit(x,y,2) a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]。 >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在 x=0.5附近的根. 21 x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes方法计算如下积分 1 5 x? (a)133.6625 (b)23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8.某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘M。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p=1.3431e-005,没有显著差异。

汇编语言程序设计

汇编语言程序设计 实验报告 实验名称上机过程及顺序结构与分支结构程序设计实验班级 学号 姓名 日期2017年10月26号 成绩 评阅人 软件学院

一、实验目的与意义 理解并熟练掌握汇编语言程序设计过程中的编辑、汇编、链接和调试等各个步骤,提高对汇编课程内容的理解和汇编语言的掌握,通过上机练习加深对课程内容的理解和掌握。通过汇编语言编制的程序上机调试、运行检验程序设计是否正确。熟悉和掌握编辑、汇编、连接和调试四个实用程序的使用方法,掌握调试程序中的几个常用命令的使用方法。熟悉其基本的指令操作,debug调试操作命令以及分支结构、顺序结构和循环结构的程序设计。 二、实验环境 操作系统:Microsoft Windows8 集成环境:Masm for Windows 上机地点:信息楼B405教室 三、实验的预习内容 预习的主要内容: 1. 使用DEBUG命令的方法; 2. 熟悉掌握从理论上定义数据的类型(即DB,DW,DD,); 3. 分支结构和顺序结构的步骤以及相关的指令; 4. 常用的标志位状态及相应的作用; 实验思路: 在对题目进行分析后,分析出解题方法,并做出与实验思路相对应的程序框图。依照程序框图的内容输入相对应的代码,最终在调试代码后,发现并解决一系列的汇编语言错误。进一步优化算法。实验之前必须了解十进制、十六进制和ASCII码之间的转换。预习查表法相关命令,掌握顺序程序的结构,从键盘输入数据的命令及显示到屏幕上的命令。 实验一: 题目1:将程序编辑、汇编、连接并通过集成环境中的debug调试,观察运行结果;用E命令修改指定地址的数据,再用G命令执行程序查看变化,用A 命令将加法指令修改成减法指令,再将其编译运行,查看寄存器值变化的异同。 题目2:分别用DB、DW和DD数据段9H,0FAH,41H,27H,编译链接之后生成exe文件,再用debug的r命令找到数据段地址,用d命令指定数据段地址,观察汇编后在机器内部对应的存储情况。 实验二: 先设置数据段地址和堆栈段地址;设置堆栈段指针;读取一个字符然后存储在AL中;用BX来存储AL中字符对应的数值;将BX中的值作为偏移地址;并在数据段中查找对应字符串;最终输出结果结束程序。 实验三: 先初始化数据段地址与堆栈段地址;设置堆栈段指针;然后将数据段中的data1放入AL中;读取数据段中的data2并判断data2是否大于0;然后读取数

matlab程序设计实例

MATLAB 程序设计方法及若干程序实例 樊双喜 (河南大学数学与 信息科学学院开封475004) 摘要本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行编程训练并掌握一些有关MATLAB 程序设计方面的基本概念、基本方法以及某些问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材料,并起到一定的指导和激励作用,进而为MATLAB 编程入门打下好的基础. 关键字算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系算法被称为程序的灵魂,因此在介绍程序之前应先了 解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程则是算法的具体体现. 1.2MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富

《科学计算与MATLAB》期末大作业

杭州电子科技大学信息工程学院《科学计算与MATLAB》期末大作业

给出程序、图、作业分析,程序需加注释。 1. 试编写名为fun.m 的MATLAB 函数,用以计算下述的值: ?? ? ??-<->=t t n t t t n t f 的)4/sin()(si 对所有)4/sin(其他情况)sin(的)4/sin()(si 对所有)4/sin()(ππππ 绘制t 关于函数f(t)的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。 function y=fun()%定义函数 % t=-6*pi:pi/10:6*pi; %定义变量范围 y = (sin(pi/4)).*(sin(t)>sin(pi/4))+(sin(-pi/4)).*(sin(t)=sin(-pi/4)));%函数表示 plot(t,y); %画图 end

2.解以下线性方程组 ??? ??=+=++=--3 530 42231 321321x x x x x x x x A=[2 -1 -1;1 1 4;3 0 5];%输入矩阵 B=[2;0;3]; %输入矩阵 X = A\B %计算结果 3.已知矩阵? ? ??? ???? ???=44434241 3433323124232221 14131211A 求: (1)A(2:3,2:3) (2)A(:,1:2) (3)A(2:3,[1,3]) (4)[A,[ones(2,2);eye(2)]]

A=[11 12 13 14;21 22 23 24;31 32 33 34;41 42 43 44];%输入矩阵A(2:3,2:3) %输出矩阵 A(:,1:2) %输出矩阵 A(2:3,[1,3]) %输出矩阵 [A,[ones(2,2);eye(2)]] %输出矩阵

相关主题
文本预览
相关文档 最新文档