MATLAB课后习题集附标准答案

MATLAB课后习题集附标准答案
MATLAB课后习题集附标准答案

第2 章 MATLAB 概论

1、与其他计算机语言相比较,MA TLAB 语言突出的特点是什么?

答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.

2、MA TLAB 系统由那些部分组成?

答:开发环境、 MATLAB数学函数库、 MATLAB语言、图形功能、应用程序接口

3、安装 MATLAB 时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?

答:在安装 MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要

选择安装内容,但基本平台(即MATLAB选项)必须安装 . 第一次安装没有选择的内容在补安装时只需按照安

装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可. 矚慫润厲钐瘗睞枥庑赖。

4、MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口

重新放置到桌面上?聞創沟燴鐺險爱氇谴净。

答:在 MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock 按钮,点击 Undock 按钮就可以使该窗口脱离桌面称为独立窗口,

在独立窗口的 view 菜单中选择 Dock ,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。

5、如何启动 M 文件编辑 /调试器?

答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑 /调试器将被启动 .在命令窗

口中键入 edit 命令时也可以启动

酽锕极額閉镇桧猪訣锥。M 文件编辑 /调试器 .

6、存储在工作空间中的数组能编辑吗?如何操作?

答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打

开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。

7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?

答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选

定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中 . 謀荞抟箧飆鐸怼类蒋薔。

8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?

答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的

file 菜单中的 Set Path 菜单项来完成 . 在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上

的文件,如果没有特别说明,数据文件将存储在当前目录上. 厦礴恳蹒骈時盡继價骚。

9、在 MA TLAB中有几种获得帮助的途径?

答:( 1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的打开帮助浏览器. 茕桢广鳓鯡选块网羈泪。

( 2) help 命令:在命令窗口键入“help ”命令可以列出帮助主题,键入“MATLAB Help 菜单项可以help 函数名”可以得到

鹅娅尽損鹌惨歷茏鴛賴。

指定函数的在线帮助信息.

(3) lookfor 命令:在命令窗口键入“ lookfor 关键词”可以搜索出一系列与给定关键词相关的命

令和函数 . 籟丛妈羥为贍偾蛏练淨。

(4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令

和函数 .

注意: lookfor和模糊查询查到的不是详细信息,

详细信息 . 預頌圣鉉儐歲龈讶骅籴。

通常还需要在确定了具体函数名称后用help命令显示

第 3 章MATLAB 数值运算

3.1 在 MA TLAB 中如何建立矩阵573

,并将其赋予变量a?

491

答:在 Command Window窗口输入操作 :

>> a=[5 7 3;4 9 1]

3.2 有几种建立矩阵的方法?各有什么优点?

答:( 1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;

(2)通过 M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;

(3)由函数建立,如 y=sin(x) ,可以由 MATLAB的内部函数建立一些特殊矩阵;

(4)通过数据文件建立,该方法可以调用由其他软件产生数据.

3.3 在进行算术运算时,数组运算和矩阵运算各有什么要求?

答:进行数组运算的两个数组必须有相同的尺寸 . 进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与 b 相乘( a*b )时必须满足 a 的列数等于 b 的行数 . 渗釤呛俨匀谔鱉调硯錦。

3.4 数组运算和矩阵运算的运算符有什么区别?

答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前

加一个点即为数组运算,如a*b 为矩阵乘, a.*b为数组乘 . 铙誅卧泻噦圣骋贶頂廡。

535242

3.5 计算矩阵 374与 679之和 .

798836

48i35i27i14i75i 3.6 求x

2i76i94i39i4的共轭转置 .

34i

6 9 3 2 4 1 3.

7 计算 a

7 5

与 b

6 的数组乘积 .

2 4 8

3.8“左除”与“右除”有什么区别?

答:在通常情况下,左除

x=a\b 是 a*x=b 的解,分母在左边 . 右除 x=b/a 是 x*a=b 的解,分母在右边 . 一

般情况下, a\b 不等于 b/a. 擁締凤袜备訊顎轮烂蔷。

4 9 2

37

3.9 对于 AX B ,如果 A

7 6 4 , B 26 ,求解 X.

3 5 7

28

1 2 3

3.10 已知: a 4 5 6 ,分别计算 a 的数组平方和矩阵平方,并观察其结果.

7 8 9

1 2 5 8 7 4 3.11 a

6

4

, b

6

,观察 a 与 b 之间的六种关系运算的结果 .

3 3

2

3.12 a 5 0.2 080.7 ,在进行逻辑运算时, a 相当于什么样的逻辑量.

答:相当于 a=[1 1 0 1 1].

3.13 在 sin(x)运算中, x 是角度还是弧度?

答:在sin(x)运算中, x 是弧度, MATLAB规定所有的三角函数运算都是按弧度进行运算.

3.14 角度x30 45 60 ,求x 的正弦、余弦、正切和余切.

3.15 用四舍五入的方法将数组[2.4568 6.3982 3.9375 8.5042]取整 .

9 1 2

3.16 矩阵a 5 6 3 ,分别对 a 进行特征值分解、奇异值分解、LU 分解、 QR 分解

8 2 7

3.17 将矩阵 a

4 2 7 1

5 9

7 5

、 b

和 c

6 组合成两个新矩阵:

8 3

2

( 1)组合成一个

4 3 的矩阵,第一列为按列顺序排列的 a 矩阵元素,第二列为按列顺序排列的

b 矩阵元素,

第三列为按列顺序排列的

c 矩阵元素,即 贓熱俣阃歲匱阊邺镓騷。

4 7

5 5 8

6 2 1 9

7 3 2

( 2)按照 a、 b、c 的列顺序组合成一个行矢量,即4 5 2 7 7 8 1 3 5 6 9 2

3.18 将 (x-6)(x-3)( x-8) 展开为系数多项式的形式.

32

3.19 求解多项式x -7x +2x+40 的根 .

3.20 求解在 x=8 时多项式 (x-1)(x-2) ( x-3)(x-4) 的值 .

3.21 计算多项式乘法(x2+2x+2)( x2+5x+4).

32

3.22 计算多项式除法(3x +13x +6 x+8)/( x+4).

3.23 对下式进行部分分式展开:

3x 4

2x

3

5x

2

4x 6

x 5

3x

4

4x

3

2x

2

7x 2

3.24 计算多项式4x 412 x 314 x25x 9 的微分和积分.

29013

3.25 解方程组3411 x6.

2266

4 26

3.26 矩阵a7 5 4,计算a的行列式和逆矩阵.

3 4 9

第 4 章 MATLAB 符号运算

4.1 创建符号变量有几种方法?

MATLAB提供了两种创建符号变量和表达式的函数:sym 和 syms

Sym 用于创建一个符号变量或表达式,用法如x=sym( ‘x’)及 f=sym( ‘x+y+z ’);syms 用于创建多个符号变量,用法如syms x y z. 坛摶乡囂忏蒌鍥铃氈淚。

4.2 下面三种表示方法有什么不同的含义?

(1) f=3*x^2+5*x+2

(2) f='3*x^2+5*x+2'

(3) x=sym('x')

f=3*x^2+5*x+2

答 ;( 1) f=3*x^2+5*x+2表示在给定x 时,将 3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x 则指示错误信息 .蜡變黲癟報伥铉锚鈰赘。

(2) f='3*x^2+5*x+2' 表示将字符串 '3*x^2+5*x+2' 赋值给字符变量 f,没有任何计算意义,因此也不对字

符串中的内容做任何分析 .買鲷鴯譖昙膚遙闫撷凄。

(3) x=sym('x')

f=3*x^2+5*x+2

表示 x 是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义, f 也自然成为符号变量了 .綾镝鯛駕櫬鹕踪韦辚糴。

4.3 用符号函数法求解方程at2+b* t+c=0.

4.4 用符号计算验证三角等式:

sin( 1)cos( 2 )-cos( 1)sin(2) =sin(1-2)

4.5 求矩阵A a11a12

的行列式值、逆和特征根 .

a 21a 22

4.6 因式分解:x 45x 35x 25x 6

a x 2

1

,用符号微分求 df/dx.

4.7 f x

e ax log(x)sin( x)

4.8 求代数方程组ax 2

by c 0

关于 x,y 的解 .

x y 0

4.9 符号函数绘图法绘制函数x=sin(3t)cos(t) ,y=sin(3t)sin(t) 的图形, t 的变化范围为[0,2 ]. 驅踬髏彦浃绥譎饴憂锦。

4.10 绘制极坐标下sin(3*t)*cos(t) 的图形 .

第 5 章 MATLAB 程序设计

1命令文件与函数文件的主要区别是什么?

答:( 1)命令文件是一系列命令的组合,函数文件的第一行必须用function 说明;

(2)命令文件没有输入参数,也不用返回函数,函数文件可以接受输入参数,也可以返回参数;

(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处

理全局变量

2如何定义全局变量?

答:用关键字global 可以把一个变量定义为全局变量,在M 文件中定义全局变量时,如果在当前工作

空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免

发生这种情况,应该在使用变量前先将其定义为全局变量

3如果 x 是一个结构型数组,如何观察其中的内容?

答:结果数组用于存储一组相关的数据元素(域),这些元素可以是不同类型、不同尺寸的,结构数组

不能用数组编辑器观察和修改其中的元素.对于明为 x 的结构型数组,可以直接键入 x 以观察其中所包含的域

名及内容,也可以键入x.域名观察指定域名的内容,例如锹籁饗迳琐筆襖鸥娅薔。

>>x x =

name: 'line' color: 'red'

data: [1 2.7000 3 5.9000 8.4000 12.2000 16.6000 18.8000 26.2000]構氽頑黉碩饨荠龈话骛。

>> x.color

ans =

red

4if 语句有几种表现形式?

( 1)if 表达式语句体end

( 2)if 表达式语句体 1else语句体 2end

(3)if表达式1语句体 1elseif 表达式 2语句体 2end 輒峄陽檉簖疖網儂號泶。

(4))if表达式1语句体1 elseif 表达式 2语句体 2 else语句体3end 尧侧閆繭絳闕绚勵蜆贅。

5 说明 break 语句和 return 语句的用法 .

答: break 语句用于终止for 循环和while 循环的执行 .如果遇到循环体外的下一行语句.在嵌套循环中,break 只存在于最内层的循环中break 语句,则退出循环体,继续执行. 识饒鎂錕缢灩筧嚌俨淒。

MATLAB return 语句用于终止当前的命令序列,并返回到调用的函数或键盘,也用于终止

中,被调用的函数运行结束后会自动返回调用函数,使用 return 语句时将

keyboad 方式,在

return 插入被调用函数的

某一位置,根据某种条件迫使被调用函数提前结束并返回调用函数凍鈹鋨劳臘锴痫婦胫籴。

6 有一周期为 4 的正弦波上叠加了方差为0.1 的正态分布的随机噪声的信号,用循环结构编制一个三点

线性滑动平均的程序.(提示:①用 0.1*randn(1,n) 产生方差为0.1 的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1(2)=(x(1)+x(2)+x(3))/3,x1(3)=( x(2)+x(3)+x(4))/3??)恥諤銪灭萦欢煬鞏鹜錦。

.猫虿驢绘燈鮒诛髅貺庑。

7 编制一个解数论问题的函数文件:取任意整数,若是偶数,则用 2 除,否则乘 3 加 1,重复此过程,直到整数变为 1.鯊腎鑰诎褳鉀沩懼統庫。

function c=collatz(n)

% collatz

% Classic “3n+1 ” Ploblem from number theory c=n;硕癘鄴颃诌攆檸攜驤蔹。

while n>1

if rem(n,2)==0

n=n/2;

else

n=3*n+1;

end

c=[c n];

end

8 有一组学生的考试成绩(见表)绩在 80~89 分之间时为良好,成绩在

绩划分等级的程序.阌擻輳嬪諫迁择楨秘騖。,根据规定,成绩在100 分时为满分,成绩在90~99 之间时为优秀,成60~79 分之间为及格,成绩在60 分以下时为不及格,编制一个根据成

学生姓名王张刘李陈杨于黄郭赵

成绩728356941008896685465

Name=[' 王 ','张 ','刘 ','李 ','陈 ','杨 ','于 ','黄 ','郭 ','赵 '];

Marks=[72,83,56,94,100,88,96,68,54,65];

n=length(Marks);

for i=1:n

a{i}=89+i;

b{i}=79+i;

c{i}=69+i;

d{i}=59+i;

end;

c=[d,c];

for i=1:n

switch Marks(i)

case 100

Rank(i,:)='满分 ';

case a

Rank(i,:)=' 优秀 ';

case b

Rank(i,:)=' 良好 ';

case c

Rank(i,:)=' 及格 ';

otherwise

Rank(i,:)=' 不及格 ';

end

end

disp(' ')

disp([' 学生姓名',' 得分 ',' 等级 ']);

disp('--------------------------')

for i=1:10;

disp([' ',Name(i),' ',num2str(Marks(i)),' ',Rank(i,:)]);

氬嚕躑竄贸恳彈瀘颔澩。

end

9 编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温度. k=input(' 选择转换方式(1--摄氏转换为华氏,2--华氏转换为摄氏): ');

if k~=1 & k~=2

disp(' 请指定转换方式 ')

break

end

tin=input(' 输入待转变的温度(允许输入数组): ');

if k==1

tout=tin*9/5+32;%摄氏转换为华氏

k1=2;

elseif k==2

Tout=(tin-32)*5/9;%华氏转换为摄氏

k1=1;

end

str=['C';'F'];

disp([' 转换前的温度', ' ', '转换后的温度'])

disp([' ',num2str(tin),str(k,:), '', num2str(tout),str(k1,:)])釷鹆資贏車贖孙滅獅赘。

10keyboard 命令的作用是什么?当在函数中使用keyboard 命令时,是否可以在工作空间浏览器中观察和修改

函数中的局部变量?退出keyboard 状态的命令是什么?编一个函数文件,在其中设置keyboard,观察变量情况 .怂阐譜鯪迳導嘯畫長凉。

答:当运行中的程序遇到keyboard 命令时会暂时停止运行,将控制权交给键盘,这时命令窗口的提示符变为

K>> ,可以在命令窗口或工作空间浏览器中观察和修改变量内容,如果观察和修改函数中的局部变量,检查或修改完成后,键入return

keyboard 命令设置在函数中,则可以命令,退出keyboard 状态,控制权交还给系

统,程序将继续运行.谚辞調担鈧谄动禪泻類。

第 6 章常用图形命令

1 绘制曲线y x3x 1, x 的取值范围为[-5,5].

2 有一组测量数据满足y e-at,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2 和 a=0.5三种情况下的曲线.嘰觐詿缧铴嗫偽純铪锩。

3 在上题结果图中添加标题y e-at,并用箭头线标识出各曲线 a 的取值 .

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)

ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

Matlab课后习题解答

P16 Q2: 计算表达式()2 tan arccos x x -在0.25x =和0.78x π =时的函数值。 function y=jie(x) y=tan(-x.^2)*acos(x); >> jie(0.25) ans = -0.0825 >> jie(0.78*pi) ans = 0 + 0.4418i Q3:编写M 命令文件,求5010 2 1 1 1k k k k ==+ ∑∑ 的值。 a=0;b=0; for i=1:50 a=a+i*i; end for j=1:10 b=b+1/j; end c=a+b; >> c c = 4.2928e+004 P27 Q2:矩阵1234567 8 9A ????=??????,4 685563 2 2B ?? ?? =? ????? ,计算A B *,.A B *,并比较两者的区别。 >> A=[1 2 3;4 5 6;7 8 9];

>> B=[4 6 8;5 5 6;3 2 2]; >> A*B ans = 23 22 26 59 61 74 95 100 122 >> A.*B ans = 4 12 24 20 25 36 21 16 18 A*B表示A与B两矩阵相乘。 A.*B表示A与B对应元素相乘。 P34 Q2:编写一个转换成绩等级的程序,其中成绩等级转换标准为:考试分数在[] 90,100显示为优秀;分数在[) 0,60的 60,80的显示为及格;分数在[) 80,90的显示为良好;分数在[) 显示为不及格。 if x>=90 disp('优秀'); elseif x>=80 disp('良好'); elseif x>=60 disp('及格'); else disp('不及格'); end >> x=85 x = 85 良好

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

关于matlab矩阵分解

(1) LU分解 A是非奇异的,LU分解总是可以进行的。 [L,U]=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),矩阵X必须是方阵。 [L,U,P]=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU。矩阵X必须是方阵。 实现LU分解后,线性方程组Ax=b的解x=U\(L\b)或x=U\(L\Pb),这样可以大大提高运算速度。 例7-2 用LU分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; [L,U]=lu(A); x=U\(L\b) 或采用LU分解的第2种格式,命令如下: [L,U ,P]=lu(A); x=U\(L\P*b) (2) QR分解 对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。MATLAB的函数qr可用于对矩阵进 行QR分解,其调用格式为: [Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR。[Q,R,E]=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。 实现QR分解后,线性方程组Ax=b的解x=R\(Q\b)或x=E(R\(Q\b))。 例7-3 用QR分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; [Q,R]=qr(A); x=R\(Q\b) 或采用QR分解的第2种格式,命令如下: [Q,R,E]=qr(A); x=E*(R\(Q\b)) (3) Cholesky分解

(完整版)matlab习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

Matlab_中的矩阵分解函数

Matlab 中的矩阵分解函数 矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。常见的矩阵分解有LU分解(三角分解)、QR分解(正交变换)、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等。 (1) LU分解(三角分解)lu函数 [L,U]=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),使之满足X=LU。注意,这里的矩阵X必须是方阵。 实现LU分解后,线性方程组Ax=b的解x=U\(L\b)或x=U\(L\Pb),这样可以大大提高运算速度。 [L,U,P]=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须是方阵。(设P 是一个m×n的(0,1) 矩阵,如m≤n且P*P′=E,则称P为一个m×n的置换矩阵。) 例1用LU分解求解例1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]';

x=U\(L\b) 或采用LU分解的第2种格式,命令如下: [L,U ,P]=lu(A); x=U\(L\P*b) (2) QR分解(正交变换) 对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。MATLAB的函数qr可用于对矩阵进行QR分解,其调用格式为: [Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR。 [Q,R,E]=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。 实现QR分解后,线性方程组Ax=b的解x=R\(Q\b)或x=E(R\(Q\b))。例2用QR分解求解例1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]';

matlab基础练习题(带答案)

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

最新MATLAB基础教程-薛山第二版-课后习题答案

《MATLAB及应用》实验指导书《MATLAB及应用》实验指导书 班级:T1243-7 姓名:柏元强 学号:20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 MATLAB语言基础 (1) 实验04051002 MATLAB科学计算及绘图 (18) 实验04051003 MATLAB综合实例编程 (31)

实验04051001 MATLAB语言基础 1实验目的 1)熟悉MATLAB的运行环境 2)掌握MATLAB的矩阵和数组的运算 3)掌握MATLAB符号表达式的创建 4)熟悉符号方程的求解 2实验内容 第二章 1.创建double的变量,并进行计算。 (1)a=87,b=190,计算 a+b、a-b、a*b。 clear,clc a=double(87); b=double(190); a+b,a-b,a*b (2)创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。 clear,clc a=uint8(87); b=uint8(190); a+b,a-b,a*b 2.计算: (1) () sin 60

(2) e3 (3) 3cos 4??π ??? clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4) 3.设2u =,3v =,计算: (1) 4 log uv v (2) () 2 2 e u v v u +- (3) clear,clc u=2;v=3; a=(4*u*v)/log(v) b=((exp(u)+v)^2)/(v^2-u) c=(sqrt(u-3*v))/(u*v) 4.计算如下表达式: (1) ()() 3542i i -+ (2) () sin 28i - clear,clc (3-5*i)*(4+2*i) sin(2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20 (2) 4 <= 20

第4讲(4)Matlab中的矩阵分解命令

1 4—6 矩阵分解的Matlab 命令 2 (1)矩阵的LU 分解 (2)矩阵的QR 分解(3 )矩阵的Cholesky 分解(4) 矩阵的奇异值分解(5)矩阵的特征值分解(6) 矩阵的Schur 分解(7) 矩阵的Jordan 标准型分解 3(1)矩阵的LU 分解 在Matlab 中用函数lu 来实现矩阵的LU 分解,其命令格式为:[L, U]=lu(X) 说明:U 矩阵为上三角矩阵,满足X=L*U. 4 [L,U,P]=lu(X) 说明:返回的P 矩阵是置换矩阵,矩阵U 是上三角矩阵,矩阵L 满秩矩阵,满足L*U=P*X. 5例4.1 >>a=[1,2,4;2,-1,5;-1,10,4];>> [b,c,p]=lu(a)运行结果:b = 1.0000 0 0-0.5000 1.0000 00.5000 0.2632 1.0000 6 c = 2.0000 -1.0000 5.00000 9.5000 6.50000 0 -0.2105p =0 1 00 0 11 0 0

7 (2)矩阵的QR 分解 在Matlab 中,矩阵的QR 分解可由函数qr 来实现,其常用的调用格式如下:①[B,C]=qr(A) 说明:返回的C 矩阵为上三角矩阵,矩阵B 为满秩矩阵。 [Q,R,E]=qr(A) 说明:返回的矩阵E 是置换矩阵,矩阵R 是上三角矩阵,矩阵Q 是满秩矩阵,上述矩阵满足关系A*E=Q*R. 8 例4.2 >> a=[1,2,4;2,-1,5;-1,10,4];>> [b,c,e]=qr(a)运行结果:b = -0.1952 -0.5068 -0.83970.0976 -0.8619 0.4976-0.9759 0.0152 0.2177 9 c = -10.2470 -4.1964 0.9759 0 -6.2762 -2.24580 0 -0.0622e =0 0 11 0 00 1 0 10 (3 )矩阵的Cholesky 分解 在Matlab 中用函数chol 对矩阵进行Cholesky 分解,函数chol 的调用格式为:1.R=chol(X) 说明:矩阵X 必须是正定矩阵,否则会返回错误信息,返回的矩阵R 是上三角矩阵。2.[R,p]=chol(X) 说明:此调用格式不管矩阵X 是否正定,都不会返回错误信息。如果矩阵X 正定,则返回上三角矩阵R, p 为零;如果矩阵X 非正定,则返回的矩阵R 也是上三角矩阵,但p 为正数。 11例4.4 >> a=[3,-1,1;-1,5,2;1,2,4];>> b=chol(a)运行结果:b = 1.7321 -0.5774 0.57740 2.1602 1.08010 0 1.5811 12 (4) 矩阵的奇异值分解 在Matlab 中,矩阵的奇异值分解则由函数svd 来实现,其调用格式为:[b,c,d]=svd(A) 说明:返回的矩阵b 为左奇异矩阵,矩阵d 为右奇异矩阵,矩阵c 为奇异值矩阵。例4.5 >> a=[1,2,4;2,-1,5;-1,10,4];>> [b,c,d]=svd(a)

matlab课后习题与答案

习题二 1.如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是MATLAB最基本、最重要的数据对象。 2.设A和B是两个同维同大小的矩阵,问: (1)A*B和A.*B的值是否相等? 答:不相等。 (2)A./B和B.\A的值是否相等? 答:相等。 (3)A/B和B\A的值是否相等? 答:不相等。 (4)A/B和B\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5]) (2)删除矩阵A的第7号元素。 答:A(7)=[] (3)将矩阵A的每个元素值加30。 答:A=A+30; (4)求矩阵A的大小和维数。 答:size(A); ndims(A); (5)将向量t的0元素用机器零来代替。 答:t(find(t==0))=eps; (6)将含有12个元素的向量x转换成34 矩阵。 答:reshape(x,3,4); (7)求一个字符串的ASCII码。 答:abs(‘123’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49);

4. 下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0] L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0] L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0] L4的值为[4, 5, 6] 5. 已知 23100.7780414565532503269.5454 3.14A -????-??=????-?? 完成下列操作: (1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32?子矩阵构 成矩阵D ,B 与C 的乘积构成矩阵E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求E=10&A<25)。 答:E=10&A<25)=[1; 5]。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A), any(A),isnan(A),isinf(A),isfinite(A)。 答:all(A)的值为0 any(A) 的值为1 isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0] isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0] isfinite(A) 的值为[1, 0, 0,0, 1, 1, 1]

matlab课后习题答案

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff 或数值梯度gradient指令计算)(t y'曲线绘制 y',然后把)(t y和)(t 在同一张图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') (3)用gradent求导的指令(图形与上相似) dt=t(2)-t(1); yc=gradient(y)/dt;

plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级 以上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ? =0 sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间内的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间内的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 =

MATLAB 矩阵分解算法大全

(1)LU 分解法程序:function x=solvebyLU(A,b) % 该函数利用LU分解法求线性方程组Ax=b的解 flag=isexist(A,b); %调用第一小节中的isexist函数判断方程组解的情况if flag==0 disp('该方程组无解!'); x=[]; return; else r=rank(A); [m,n]=size(A); [L,U,P]=lu(A); y(1)=b(1); if m>1 for i=2:m y(i)=b(i)-L(i,1:i-1)*y(1:i-1)'; end end y=y'; % 解Ux=y得原方程组的一个特解 x0(r)=y(r)/U(r,r); if r>1 for i=r-1:-1:1 x0(i)=(y(i)-U(i,i+1:r)*x0(i+1:r)')/U(i,i); end end x0=x0'; if flag==1 %若方程组有唯一解 x=x0; return; else %若方程组有无穷多解 format rat; Z=null(A,'r'); %求出对应齐次方程组的基础解系 [mZ,nZ]=size(Z); x0(r+1:n)=0; for i=1:nZ t=sym(char([107 48+i])); k(i)=t; %取k=[k1,k2...,]; end x=x0; for i=1:nZ x=x+k(i)*Z(:,i); %将方程组的通解表示为特解加对应齐次通解形式 end end end (2)矩阵的QR分解法(c语言):

void QR(double a[N][N],double q[N][N],double r1[N][N],int n) /*QR分解*/ { int i,j,k,r,m; double temp,sum,dr,cr,hr; double ur[N],pr[N],wr[N]; double q1[N][N],emp[N][N]; for(i=1;i=ZERO) { sum=0; for(k=r;kZERO)m=-1; else m=1; cr=m*dr; hr=cr*(cr-a[r][r]); for(i=1;ir) ur[i]=a[i][r]; }; for(i=1;i

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

matlab课后习题答案第一章

第1章基础准备及入门 习题1及解答 1数字1.5e2,1.5e3中的哪个与1500相同吗? 〖解答〗 1.5e3 2请指出如下5个变量名中,哪些是合法的? abcd-2xyz_33chan a变量ABCDefgh 〖解答〗 2、5是合法的。 3在MATLAB环境中,比1大的最小数是多少? 〖解答〗 1+eps 4设a=-8,运行以下三条指令,问运行结果相同吗?为什么? w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2 〖解答〗 (1)不同。具体如下 w1=a^(2/3)%仅求出主根 w2=(a^2)^(1/3)%求出(-8)^2的主根 w3=(a^(1/3))^2%求出(-8)主根后再平方 w1= -2.0000+3.4641i w2= 4.0000 w3= -2.0000+3.4641i (2)复数的多方根的,下面是求取全部方根的两种方法: (A)根据复数方根定义 a=-8;n=2;m=3; ma=abs(a);aa=angle(a); for k=1:m%m决定循环次数 sa(k)=(aa+2*pi*(k-1))*n/m;%计算各根的相角 end result=(ma^(2/3)).*exp(j*sa)%计算各根 result= -2.0000+3.4641i 4.0000-0.0000i-2.0000-3.4641i

(B )利用多项式02 3=-a r 求根p=[1,0,0,-a^2];r=roots(p)r =-2.0000+3.4641i -2.0000-3.4641i 4.00005指令clear,clf,clc 各有什么用处? 〖解答〗clear 清除工作空间中所有的变量。clf 清除当前图形。clc 清除命令窗口中所有显示。6以下两种说法对吗?(1)“MATLAB 进行数值的表达精度与其 指令窗中的数据显示精度相同。”(2) MATLAB 指令窗中显示的数值有效位数不超过7位。” 〖解答〗 (1)否;(2)否。 7想要在MATLAB 中产生二维数组???? ??????=987654321S ,下面哪些指令能实现目的? (A )S=[1,2,3;4,5,6;7,8;9] (B )S=[123;456;789] (C )S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 〖解答〗 前两种输入方法可以,后一种方法不行。8试为例1.3-5编写一个解题用的M 脚本文件? 〖解答〗 直接点击新文件图标,出现M 文件编辑器窗口;在该M 文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m ,便得到所需的脚本文件。

MATLAB 实用教程 课后习题答案

第二章 1.计算复数3+4i与5-6i的乘积。 a=3+4i b=5-6i c=a*b 2.构建结构体Students,属性包含Name、age和Email,数据包括{’Zhang’,18,*‘Zhang@16 https://www.360docs.net/doc/de4744309.html,’,’Zhang@https://www.360docs.net/doc/de4744309.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Age=18 Students(1).Email='zhang@https://www.360docs.net/doc/de4744309.html,','zhang@https://www.360docs.net/doc/de4744309.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.360docs.net/doc/de4744309.html, Student(1).Age(1)=19 Student.Age 3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵: A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] S=sparse(A) S=sparse([2,1,4],[1,2,4],[1,1,1],4,5) 4.采用向量构造符得到向量[1,5,9....,41]. A=1:4:41 5.按水平和竖直方向分别合并下述两个矩阵:A=[1 0 0;1 1 0;0 0 1],B=[2 3 4;5 6 7;8 9 10] A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] 6.分别删除第五题两个结果的第2行。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,:)=[] D(2,:)=[] 7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B]

矩阵的LU分解(自编MATLAB)实验报告

LU 分解原理 定理:设A C n n ,如果 A 的顺序主子式 A 11 ≠0, |a 11 a 12 a 21 a 22|≠0,…,|a 11a 12a 21a 22…a 12…a 22??a n?11a n?12? ?a n?1n?1 |≠0 则存在唯一的主对角线上元素全为 1 的下三角矩阵L 与唯一的上三角矩阵 U ,使得 A =LU . 证明:对矩阵A 的阶数使用数学归纳法. 显然,当 n=1 时,A 11=1 ?A 11 就是唯一的分解式。现假定对 n-1 阶矩阵,定理的结论成立。对 A 进行分块 A =( A A ?A A A A A A A AA ) 其中A A ,A A ∈A A ?A .由于 n-1 阶矩阵 A A ?A 的 k 阶顺序主子式就是 A 的 k 阶主子式(k=1,2,…,n-2),故它们都不为零.从而由归纳法假设,A A ?A 有唯一的 LU 分解 A A ?A =A A ?A A A ?A 其中A A ?A 的主对角线上的元素都1.由于 |A A ?A |=| A 11A 12A 21A 22 …A 12…A 22 ? ? A A ?11A A ?12 ? ? A A ?1A ?1 |=|A A ?A A A ?A |≠0 所以A A ?A 及A A ?A 是n-1阶可逆矩阵 先假设已有 A =LU ,其中 L =( A A ?A 0A A 1 ), U= ( A A ?A A A A A AA ) A ,A ∈A A ?A 是待定向量。作乘积 AA = (A A ?A A A ?A A A ?A A A A A A ?A A AA +A A A ) =(A A ?A A A A A A A AA )=A 则A,A 必须满足 A A ?A A =A A ,A A A A ?A =A A A ,A AA +A A A =A AA

MATLAB课后习题集附标准答案

第2章MATLAB概论 1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么? 答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强. 2、MA TLAB系统由那些部分组成? 答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口 3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.矚慫润厲钐瘗睞枥庑赖。 4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上. 5、如何启动M文件编辑/调试器? 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器. 6、存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。 7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.謀荞抟箧飆鐸怼类蒋薔。 8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.厦礴恳蹒骈時盡继價骚。 9、在MA TLAB中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.茕桢广鳓鯡选块网羈泪。 (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到鹅娅尽損鹌惨歷茏鴛賴。 指定函数的在线帮助信息. (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.籟丛妈羥为贍偾蛏练淨。 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数. 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.預頌圣鉉儐歲龈讶骅籴。

相关文档
最新文档