数学软件MATLAB附加习题

合集下载

数学软件与数学实验习题(2)

数学软件与数学实验习题(2)

一、选择题1、空间曲线绘图命令是:(B)。

(A) plot2 (B) plot3 (C) surf (D) plot2、在matlab中,命令hold off 表示是:(D)。

(A) 在图中消隐分隔线。

(B) 使系统处于可放大状态。

(C) 保留当前图形和它的轴,使其后图形放在当前图形上。

(D) 此后图形指令运作将抹掉当前窗口中的旧图形,然后画上新图形。

3、生成三维表面图的命令是:(A)。

(A) surf (B) meshc (C) mesh (D) meshz4、下面哪个命令的功能是是系统处于可放大状态(C)。

(A) grid on (B) hold on (C)zoom on (D) hidden on5、在MATLAB的若干通用操作指令中,清除内存中的变量的是(A)(A)clear (B)cla (C)clf (D)clc6、下列表示可以作为MATLAB的变量的是(DF)(A)abcd-2 (B)xyz_2# (C)@h(D)X_1_a (E)for (F)for17、运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为(C)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))]);(A)x1=num2str(1) x2=num2str(1)(B)x1=num2str(-1) x2=num2str(1)(C)x1= -1 x2=-1(D)x1=1 x2=-1二、填空题1、命令clf的含义是清除图形窗口2、命令colormap的含义是图形颜色控制命令3、已知A=[096;130];B=[143;150];写出下列各指令运行的结果。

matlab入门习题答案

matlab入门习题答案

matlab入门习题答案MATLAB入门习题答案MATLAB是一种强大的数学软件工具,广泛应用于工程、科学和计算领域。

它具有丰富的功能和灵活的编程语言,使得用户可以轻松地进行数据分析、可视化、模拟和算法开发。

在学习MATLAB的过程中,习题是一个很好的学习方法,通过练习可以加深对MATLAB的理解和掌握。

下面是一些MATLAB入门习题的答案,希望对初学者有所帮助。

1. 编写一个MATLAB程序,计算1到100之间所有奇数的和。

```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个MATLAB程序,计算一个矩阵的转置矩阵。

```matlabA = [1 2 3; 4 5 6; 7 8 9];B = A';disp(B);```3. 编写一个MATLAB程序,生成一个包含1到10的整数的向量,并计算向量中所有元素的平均值。

```matlabvec = 1:10;avg = mean(vec);disp(avg);```4. 编写一个MATLAB程序,绘制正弦函数的图像。

```matlabx = 0:0.1:2*pi;y = sin(x);plot(x, y);```通过以上习题的练习,相信大家对MATLAB的基本语法和功能有了更深入的了解。

当然,MATLAB的学习是一个持续的过程,希望大家能够坚持练习,不断提升自己的编程能力。

同时,也欢迎大家分享更多的MATLAB习题答案,让我们一起学习进步。

matlab习题(1)

matlab习题(1)

1.输入20个数,求其中最大数和最小数。

要求分别用循环结构和调用MA TLAB的max函数、min函数来实现。

a=rand(1,20);max1=max(a) %用max函数求最大值min1=min(a) %用max函数求最大值%以下用循环方法求解:max2=a(1);min2=a(1);for i=2:20if a(i)>max2max2=a(i);endif a(i)<min2min2=a(i);endendmax2min2调用MATLAB的max函数、min函数来实现:>> a=rand(1,20)zuidazhi=max(a)zuixiaozhi=min(a)a =Columns 1 through 80.7513 0.2551 0.5060 0.6991 0.8909 0.9593 0.5472 0.1386 Columns 9 through 160.1493 0.2575 0.8407 0.2543 0.8143 0.2435 0.9293 0.3500 Columns 17 through 200.1966 0.2511 0.6160 0.4733zuidazhi =0.9593zuixiaozhi =0.13862. 求Fibonacci数列(1)大于4000的最小项。

(2)5000之内的项数。

(1)function t=fibonacc1f=[1,1];n=2;while 1f=[f,f(n-1)+f(n)];n=length(f);if f(n)>4000break;endendt=f(n);return(2)function n=fibonacc2f=[1,1];n=2;while 1f=[f,f(n-1)+f(n)];n=length(f);if f(n)>4000break;endendn=n-1;return3. 写出下列程序的输出结果:s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=afor j=1:4if rem(k(j),2)~=0s=s+k(j);endendendSAns=1081、解方程组Ax =b ,分别用求逆解法与直接解法求其解。

适合用matlab解决的经典物理例题

适合用matlab解决的经典物理例题

适合用Matlab解决的经典物理例题在物理学领域,经典物理例题一直是学习和研究的重要内容。

而Matlab作为一种强大的数学软件,非常适合解决各种物理问题。

本文将从力学、电磁学和热力学等多个方面,选取一些经典的物理例题,通过Matlab进行分析和求解,展示Matlab在解决物理问题时的强大用途。

1. 简谐振动问题简谐振动是物理学中一个重要的模型,涉及到弹簧振子、单摆等问题。

通过Matlab可以很方便地求解简谐振动的运动规律。

对于弹簧振子的运动方程,可以通过Matlab进行数值模拟,得到振动的周期、频率、位移等参数,从而更好地理解简谐振动的特性。

2. 电场问题在电磁学中,电场是一个重要的研究对象。

通过Matlab可以很容易地分析不同形状的电荷分布所产生的电场分布。

可以通过Matlab计算出点电荷、均匀带电细棒等情况下的电场分布,并绘制出电场线图,直观地展现电场的分布规律。

这样的分析对于理解电场的性质和相互作用具有重要意义。

3. 热传导问题热传导是热力学研究的一个重要方面,涉及到导热方程的求解和热量分布的分析。

通过Matlab可以对不同材料和形状的热传导问题进行数值模拟和求解。

可以通过Matlab计算出棒状材料中的温度分布随时间的演化,从而得到材料的热传导性能。

这样的分析对于工程实践中的热设计和材料选型具有重要指导意义。

4. 万有引力问题在力学中,万有引力是一个经典的例题,涉及到行星轨道、卫星运动等问题。

通过Matlab可以很方便地进行万有引力场下的物体运动模拟。

可以通过Matlab计算地球和月球的引力作用下的月球轨道,从而揭示天体运动的规律和特性。

这样的模拟对于探索宇宙中天体运动规律具有重要帮助。

总结回顾:通过以上例题的分析,我们不仅了解了Matlab在经典物理例题中的应用,也可以发现Matlab在解决物理问题时的便捷和高效。

当然,实际物理问题可能具有更多的复杂性和多样性,需要结合理论分析和实验数据进行综合研究。

matlab课后习题答案刘卫国

matlab课后习题答案刘卫国

matlab课后习题答案刘卫国《Matlab课后习题答案刘卫国》Matlab是一种强大的数学软件,被广泛应用于工程、科学和金融领域。

在学习Matlab的过程中,课后习题是很重要的一部分,通过解答习题可以加深对Matlab的理解和掌握。

刘卫国是一位热爱Matlab的学生,他在课后习题中展现出了非凡的才华和坚持不懈的精神。

在课后习题中,刘卫国总是能够迅速找到解题的方法,并且能够清晰地解释自己的思路。

无论是简单的矩阵运算还是复杂的数值计算,他都能够轻松地完成。

他的同学们经常向他请教问题,因为他总是能够给出清晰明了的解答。

除了在课堂上展现出的才华,刘卫国还经常利用课外时间深入研究Matlab的相关知识。

他经常阅读Matlab的官方文档和相关书籍,不断提高自己的技能水平。

他还参加了一些Matlab编程比赛,取得了不俗的成绩。

在学习Matlab的过程中,刘卫国也遇到了一些困难和挑战。

但是他从不退缩,而是不断地克服困难,不断地提高自己的能力。

他认为Matlab是一门非常有用的工具,能够帮助他解决实际问题,因此他愿意花费更多的时间和精力来学习和掌握Matlab。

通过不懈的努力,刘卫国最终成为了一名Matlab的高手。

他在课后习题中展现出的才华和坚持不懈的精神,不仅为自己赢得了赞誉,也为他的同学们树立了榜样。

他的故事告诉我们,只要有足够的毅力和努力,就能够掌握任何一门技能。

总之,刘卫国在Matlab课后习题中展现出了非凡的才华和坚持不懈的精神,他的故事激励着我们不断地学习和进步。

希望更多的学生能够像刘卫国一样,努力学习,不断提高自己的能力,成为真正的Matlab高手。

数学软件试题及答案

数学软件试题及答案

数学软件试题及答案一、选择题(每题2分,共10分)1. 在MATLAB中,用于创建向量的命令是:A. vectorB. linspaceC. arrayD. [ ]答案:D2. 以下哪个函数用于在Python中进行矩阵运算?A. numpyB. scipyC. pandasD. matplotlib答案:A3. 假设在MATLAB中有一个矩阵A,要计算其逆矩阵,应该使用以下哪个命令?A. inv(A)B. A^-1C. A^(-1)D. A\(-1)答案:A4. 在MATLAB中,如何计算向量x的元素个数?A. numel(x)B. length(x)C. size(x)D. count(x)答案:B5. 在Python中,以下哪个库用于科学计算?A. NumPyB. TensorFlowC. MatplotlibD. Seaborn答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________命令可以绘制函数y=f(x)的图形。

答案:plot2. 在Python中,使用________函数可以生成一个随机数。

答案:random3. 在MATLAB中,使用________函数可以计算矩阵的行列式。

答案:det4. 在Python中,使用________函数可以计算向量的点积。

答案:numpy.dot5. 在MATLAB中,使用________函数可以计算向量的范数。

答案:norm三、简答题(每题5分,共20分)1. 请简述MATLAB中矩阵的基本操作有哪些?答案:MATLAB中矩阵的基本操作包括矩阵的创建、矩阵的加法、减法、乘法、矩阵的逆、矩阵的转置、矩阵的行列式、矩阵的秩等。

2. 在Python中,如何使用NumPy库进行数组的创建和基本操作?答案:在Python中,可以使用NumPy库的array函数来创建数组,并通过索引访问数组元素,进行数组的切片、拼接、形状变换等基本操作。

matlab第二版课后习题答案

matlab第二版课后习题答案

matlab第二版课后习题答案
《MATLAB第二版课后习题答案》
MATLAB是一种强大的数学软件,被广泛应用于工程、科学和金融等领域。

《MATLAB第二版》是一本经典的教材,为了帮助学生更好地掌握MATLAB的使用,书中提供了大量的课后习题。

下面我们将为大家总结一些MATLAB第二版课后习题的答案,希望能对大家的学习有所帮助。

1. 第一章课后习题答案
第一章主要介绍了MATLAB的基本操作,包括变量的定义、矩阵的运算、函数的使用等。

在课后习题中,有一道题目是要求计算一个矩阵的逆矩阵。

答案是使用MATLAB中的inv函数,将原矩阵作为参数传入即可得到逆矩阵。

2. 第二章课后习题答案
第二章介绍了MATLAB中的绘图功能,包括二维和三维图形的绘制。

有一道课后习题是要求绘制一个正弦曲线和余弦曲线,并在同一张图上显示。

答案是使用MATLAB中的plot函数,分别绘制正弦曲线和余弦曲线,并使用legend函数添加图例。

3. 第三章课后习题答案
第三章介绍了MATLAB中的控制流程,包括if语句、for循环和while循环等。

有一道课后习题是要求编写一个程序,计算1到100之间所有偶数的和。

答案是使用for循环遍历1到100之间的所有数,判断是否为偶数并累加。

通过以上几个例子,我们可以看到MATLAB第二版课后习题的答案涵盖了各种基本和高级的操作,对于学习MATLAB是非常有帮助的。

希望大家在学习MATLAB的过程中能够多加练习,掌握更多的技巧和方法。

Matlab有关试题

Matlab有关试题

2013-2014学年第( 一 )学期考试试卷(A卷)一简述下列命令在MATLAB中的作用(每题4分,共20分)1、clear、clc clear从内存中清除变量和函数,clc清命令窗口,2、whos、figure 在matlab中whos建立图形。

3、box on、使显示出来的图形有四周的边框;grid off关闭画图中的网格线。

4、sym2poly 返回一个包含符号多项式的数值系数的行向量,其系数是按照多项式中独立变量幂值的降序排列的;poly2sym 就是把系数数组转换为符号多项式5、bar 用于画条形图;pie 用于画饼图二简答题(共30分)1、叙述MATLAB的主要窗口包括哪些?其作用是什么?(6分)答:主要窗口:(1)命令窗口(Commend Window)(2)工作空间窗口(Workspace)(3)当前目录浏览器(Current Directory )(4) 命令历史窗口( Commend History )(5) 启动平台窗口(Launch Pad)(6) 帮助窗口(Help)作用:(1)命令窗口:MATLAB的主要交互窗口,用于输入MATLAB 命令、函数、数组、表达式等信息,并显示图形以外的所有计算结果。

例如从键盘输入矩阵(2)工作空间窗口:用于储存各种变量和结果的空间,又称为内存浏览器,用于显示变量的名称、大小、字节数及数据类型,对变量进行观察、编辑、保存和删除。

临时变量不占空间,Matlab在此窗口中设计有专门的内存数组编辑器,实现对数组的相关操作,为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器。

*双击变量名;*选择该窗口工具栏上的打开图标;*鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作。

(3)当前目录浏览器:用于显示及设置当前工作目录,同时显示当前工作目录下的文件名、文件类型及目录的修改时间等信息。

(4)命令历史窗口:记录已运行过的所有的MATLAB命令历史,包括已输入和运行过的命令、函数、表达式等信息,可进行命令历史的查找、检查等工作,也可以在该窗口中进行命令复制与重运行,为用户下一次使用同一个命令提供方便。

matlab仿真实例100题

matlab仿真实例100题

matlab仿真实例100题Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和工程仿真等领域。

在学习和使用Matlab的过程中,通过实例的方式进行仿真练习是一种非常有效的学习方法。

下面将给出100个Matlab仿真实例题目,帮助读者更好地掌握Matlab的使用。

1. 编写一个程序,计算并输出1到100之间所有奇数的和。

2. 编写一个程序,计算并输出1到100之间所有偶数的乘积。

3. 编写一个程序,计算并输出1到100之间所有素数的个数。

4. 编写一个程序,计算并输出1到100之间所有整数的平方和。

5. 编写一个程序,计算并输出1到100之间所有整数的立方和。

6. 编写一个程序,计算并输出1到100之间所有整数的阶乘和。

7. 编写一个程序,计算并输出1到100之间所有整数的倒数和。

8. 编写一个程序,计算并输出1到100之间所有整数的平均值。

9. 编写一个程序,计算并输出1到100之间所有整数的中位数。

10. 编写一个程序,计算并输出1到100之间所有整数的标准差。

11. 编写一个程序,计算并输出1到100之间所有整数的方差。

12. 编写一个程序,计算并输出1到100之间所有整数的最大值。

13. 编写一个程序,计算并输出1到100之间所有整数的最小值。

15. 编写一个程序,计算并输出1到100之间所有整数的平方根和。

16. 编写一个程序,计算并输出1到100之间所有整数的立方根和。

17. 编写一个程序,计算并输出1到100之间所有整数的对数和。

18. 编写一个程序,计算并输出1到100之间所有整数的指数和。

19. 编写一个程序,计算并输出1到100之间所有整数的正弦和。

20. 编写一个程序,计算并输出1到100之间所有整数的余弦和。

21. 编写一个程序,计算并输出1到100之间所有整数的正切和。

22. 编写一个程序,计算并输出1到100之间所有整数的双曲正弦和。

23. 编写一个程序,计算并输出1到100之间所有整数的双曲余弦和。

Matlab 作业1

Matlab 作业1

喻晓磊 200731510103 电子科学与技术习题一:编写M文件,计算以下问题:口口口口×口=口口口口以上9个口代表1~9这9个数字,不得遗漏或重复要求:给出解算思路和M文件代码注意算法的效率解题理念:1,设以上方框中的数字分别是1~9之间的数字a、b、c、d、e、f、g、h、i。

2,我们可以推出,个位数e肯定不是1或者5 ,否则两个四位数的个位必然相等,即d=i;再者,其不可能等于9,由不重复的1~9组成的四位数,最大为9876,最小为1234,故e的最大可能取值为9876/1234=8.003……,即最大取8 。

3,我们看到,e的最小取值为2,那么a肯定不能大于或等于5 ,否则乘法运算后的结果为5位数,所以a 只能取1~4。

4,在此基础上,我们采取“穷举法”,逐个试验,从 a 开始,每一位与前面出现位的数字不相等,然后检测其是否满足算式。

程序代码如下:global aglobal bglobal cglobal dglobal eglobal fglobal gglobal hglobal ifor a=1:4for b=1:9if b~=a;for c=1:9if (c~=b)&&(c~=a);for d=1:9if (d~=b)&&(d~=a)&&(d~=c);for e=2:8 e~=5;if (e~=a)&&(e~=b)&&(e~=c)&&(e~=d);for f=1:9if (f~=a)&&(f~=b)&&(f~=c)&&(f~=d)&&(f~=e);for g=1:9if(g~=a)&&(g~=b)&&(g~=c)&&(g~=d)&&(g~=e)&&(g~=f);for h=1:9if(h~=a)&&(h~=b)&&(h~=c)&&(h~=d)&&(h~=e)&&(h~=f)&&(h~=g);for i=1:9if(i~=a)&&(i~=b)&&(i~=c)&&(i~=d)&&(i~=e)&&(i~=f)&&(i~=g)&&(i~=h);x=1000*a+100*b+10*c+d;y=e*x;z=1000*f+100*g+10*h+i;if y==z;r=xs=et=yend;end;******end;end;得到的结果如下:我们看到,结果有两组:1738 * 4= 69521963 * 4= 7852这两组结果都显示到了MATLAB软件的命令窗(COMMAND WINDOW)中,我们是使用了一个小技巧:将x、e、y的值赋给r、s、t时并没有在句末加分号,所以计算的过程也显示出来了,但是看工作区(work space)中,r、s、t 的值却只对应后面一组,这是因为,当循环进行到算出第二组结果时,便替换掉了第一组的值。

基于matlab的数学实验-高等数学中的若干问题1

基于matlab的数学实验-高等数学中的若干问题1

基于MATLAB的数学实验——高等数学中的若干问题(一)§1.1数列及其极限1.1.1引言极限(Limit )是高等数学中应用最普遍的基本概念之一,因而,正确地理解和把握极限的概念是非常重要的,借助于直观的想象和解释,不仅可以帮助我们理解和把握这一表述抽象的数学定义,而且对利用极限定义的其他数学概念如微分(Differential)、积分(Integral)和无穷级数的敛散性(Convergence and Divergence of Infinite Series)等重要概念的理解也是有帮助的。

1.1.2数列的收敛与发散例1.1让我们首先考察如下的数列:xnnn=+sin()12,n=12,, (1.1)如果我们把xn 看成是沿x轴运动的点P在t n=时刻所处的位置,那么容易看出(也容易证明),随着时间t→+∞,动点P趋近于原点0。

这个事实可借助于软件MATLAB直观地观察到,应用如下程序sequence01.m:%CONVERGENCE AND LIMIT OF SEQUENCEk=700;n=1:3:k;x=sin(n)./(10+n);e=input('Input epsilon, Please: epsilon=')t=e\10;for m=1:t;if m>1/e;N=mbreakendendplot(n,x)hold ontitle('CONVERGENCE AND LIMIT OF SEQUENCE')gtext('xn = sin(n)/(10+n)')QQ:121681692Email:*****************可得到图1.1:用上述程序还可以对任意给定的ε>0,求出N,使得当n N>时,满足不等式:xn -<0ε。

此外,我们还可以使用MATLAB程序文件seqnummovie1.m和seqnummovie2.m演示动点P趋近于原点0的动态过程。

利用MATLAB解决高等数学问题

利用MATLAB解决高等数学问题

Matlab 大作业本人选择了利用MATLAB解决高等数学问题。

1.极限计算limit(f,x,a):求函数f在x趋于常数a时的极限;limit(f):求函数f在x趋于0时的极限;limit(f,x,a,’right’):求函数f在x趋于常数a时的右极限;limit(f,x,a,’left’):求函数f在x趋于常数a时的左极限;具体计算如下:求极限M=(1-2x/n)^n(n->∞);>>syms n x;>>M=limit(‘(1-2*x/n)^n,n,inf)M=1/exp(2*x)相应图如下:2.导数计算diff(y,x,n):求y对x的n次导数;具体计算如下:设:y=sinax;求A=dy/dx, B=dy/da, C=d^2y/dx^2; >>syms a x; y=sin(a*x);>>A=diff(y,x)A=a*cos(a*x);>>B= diff(y,a)B=x*cos(a*x);>>C= diff(y,x,2)C=-a^2*sin(a*x)相应图如下:3.积分计算int(f):直接求函数f对x的不定积分;int(f,x1,x2):求函数f在积分区间为(x1,x2)的积分值;具体计算如下:求I=∫(x^2+1)/(x^2-2*x+2); J=∫cosx/(sinx+cosx),x∈(0,π/2) K=e^(-x^2) x∈(0,+∞);>>syms x>>f=(x^2+1)/(x^2-2*x+2)^2;>>g=cos(x)/(sin(x)+cos(x));>>h=exp(-x^2);I=int(f)I=(3*atan(x-1))/2+(x/2-3/2)/(x^2-2*x+2);J=int(g,0,pi/2)J=Pi/4;K=int(h,0.inf)K= Pi^(1/2)/2;相应图如下:4.级数求和symsum(n的式子,a,b): 求的式子第a项到第b项的和。

数学应用软件作业6用matlab求解微分方程的解析解和数值解

数学应用软件作业6用matlab求解微分方程的解析解和数值解
holdon
plot(t,y,'b');
四.上机结果
题1结果为:
ans =
C4*exp(2*x) + C2*exp(x*(5^(1/2)/2 - 1/2)) + C3/exp(x*(5^(1/2)/2 + 1/2))
题2结果为:
x =
4*cos(t) - 2/exp(2*t) + 3*sin(t) - (2*sin(t))/exp(t)
y =
sin(t) - 2*cos(t) + (2*cos(t))/exp(t)
题3结果为:
题4结果为:
解析解为:
y =
t + 1/exp(t)
作图如下:
title('ode15s图形');
题4:
Matlab程序:
(1)先建立程序如下:
y=dsolve('Dy=-y+t+1','y(0)=1','t')
截图如下:
作图:建立程序如下:
ezplot('t + 1/exp(t)',[0,1])
title('t + 1/exp(t)')
(2)先建立M文件,如下:
t0=0;tf=100;
[T,Y]=ode45('fun2',[0 100],[1 1]);
plot(T,Y(:,1),'+',T,Y(:,2),'*');
title('ode45图形');
(2)Matlab程序:
建立M文件,如下:
functiondy=fun1(t,y);

数学软件与建模6.matlab编程

数学软件与建模6.matlab编程
①if分支语句:在MATLAB中,if语句有3种调用格式。
(a)单分支if语句调用格式为
if表达式
语句体
end
其执行过程为:当表达式的值为真时,则执行语句体,执行完之后继续执行if语句的后继语句;否则跳过语句体直接执行if语句的后继语句。
(b)双分支if语句调用格式
语句
if表达式
elseif y(i)>=1
plot(x(i),y(i),'xr') %大于1的点用红色的x标出
end
end
hold off
(3)在MATLAB的编辑器窗口的File菜单→save菜单项→保存文件名为“Untitled.m”。
(4)在命令窗口输入:Untitled
运行结果如图6.1所示。
图6.1
②switch分支结构语句
switch语句调用格式为:
switch表达式
case表达式1
语句体1
case表达式2
语句体2
……
case表达式m
语句体m
otherwise
语句体m+1
end
其执行过程为:控制表达式的值与每一个case后面表达式的值比较,若与第k(k的取值为1~m)个case后面的表达式k的值相等,就执行语句体k;若都不相同,则执行otherwise下的语句体m+1。
2、关系运算和逻辑运算
关系运算符主要用来比较数与数、矩阵与矩阵之间的大小,并返回真(用“1”表示)、假(用“0”表示)。其6种基本关系运算符及4种逻辑运算见表6.1
表6.1
基本关系运算符
逻辑运算
> (大于)
&(与)
<(小于)
|(或)

《Matlab软件与基础数学实验》程序(部分)

《Matlab软件与基础数学实验》程序(部分)

《Matlab软件与基础数学实验》程序(部分)追击问题:⼀敌舰在某海域内以椭圆轨迹航⾏,其在时间t时刻的坐标为:x(t)=10+20costy(t)=20+5sint我⽅战舰恰位于原点处,我战舰向敌舰发射制导鱼雷,鱼雷的速率为20,其运⾏⽅向始终指向敌舰,试问敌舰航⾏在何处将被击中?2. 若敌舰的运⾏轨迹变为x(t)=10+20costy(t)=20+20sint试问敌舰航⾏在何处将被击中?(⽆法击中)3. 若敌舰的运⾏轨迹变为x(t)=10+20costy(t)=20+20sint鱼雷速率提⾼⾄21,结果如何?%Matlab程序:clear;clch=0.01;%时间步长k=1;t(1)=0;x(1)=0;y(1)=0;%初始值r=10;while r>=0.05 % k<=250 %m=(20+5*sin(t(k))-y(k))/(10+20*cos(t(k))-x(k) +1.e-10)+1.e-10;if 10+20*cos(t(k))-x(k)>=0x(k+1)=x(k)+20*h/sqrt(1+m^2);elsex(k+1)=x(k)-20*h/sqrt(1+m^2);endif 20+5*sin(t(k))-y(k)>=0y(k+1)=y(k)+20*h/sqrt(1+1/m/m);elsey(k+1)=y(k)-20*h/sqrt(1+1/m/m);endr=(x(k)-10-20*cos(t(k)))^2+(y(k)-20-5*sin(t(k)))^2; r=sqrt(r); t(k+1)=h*k;k=k+1;plot(10+20*cos(t(k)),20+5*sin(t(k)), 'r*')hold onaxis([-10 32 -3 30]);plot(x,y, 'o')pause(0.02)endt=t(end),x=x(end),y=y(end)t =2.6300x =-7.1780y =22.5627第⼆问:速度相同⽆法击中第三问:t =4.4100 x =4.0221 y =0.9141%Matlab程序:clear;clch=0.01;%时间步长k=1;t(1)=0;x(1)=0;y(1)=0;%初始值r=10;while r>=0.05 % k<=250 %m=(20+20*sin(t(k))-y(k))/(10+20*cos(t(k))-x(k) +1.e-10)+1.e-10; if 10+20*cos(t(k))-x(k)>=0x(k+1)=x(k)+22*h/sqrt(1+m^2);elsex(k+1)=x(k)-22*h/sqrt(1+m^2);endif 20+20*sin(t(k))-y(k)>=0y(k+1)=y(k)+22*h/sqrt(1+1/m/m);elsey(k+1)=y(k)-22*h/sqrt(1+1/m/m);endr=(x(k)-10-20*cos(t(k)))^2+(y(k)-20-20*sin(t(k)))^2;r=sqrt(r);t(k+1)=h*k;k=k+1;plot(10+20*cos(t(k)),20+20*sin(t(k)), 'r*')hold onaxis([-12 32 -2 42]);plot(x,y, 'o')pause(0.02)endt=t(end),x=x(end),y=y(end)课本P811. 某农夫有⼀个半径10⽶的圆形⽜栏,长满了草.他要将⼀头⽜栓在⽜栏边界的栏桩上,但只让⽜吃到⼀半草,问栓⽜⿐的绳⼦应为多长?设拴⽜的绳⼦长为r, 以圆形⽜栏C1 的圆⼼为原点建⽴直⾓坐标系, 见图1, 不妨设拴⽜的栏桩为图1中圆形⽜栏C1 上的B 点, 其坐标为(10,0), 则所求问题转化为: 求出r,使得以B 点为圆⼼, 半径为r 的圆C2 与圆C1 相交部分的⾯积是圆C1 ⾯积的⼀半。

matlab经典编程例题30道

matlab经典编程例题30道

MATLAB是一款功能强大的数学软件,其编程功能也受到越来越多人的关注。

下面介绍的是30个matlab经典编程例题,可以帮助大家熟悉matlab的编程语法,提高matlab 编程技能。

1. 请编写一个程序,计算出两个数的和。

2. 请编写一个程序,计算出两个数的最大值和最小值。

3. 请编写一个程序,计算出一组数据的平均值和标准差。

4. 请编写一个程序,将一个矩阵转置。

5. 请编写一个程序,求出两个矩阵的乘积。

6. 请编写一个程序,求出一个矩阵的逆矩阵。

7. 请编写一个程序,求出一个矩阵的行列式。

8. 请编写一个程序,计算出一元二次方程的解。

9. 请编写一个程序,计算出两个数组的相似度。

10. 请编写一个程序,计算出一个矩阵的特征值和特征向量。

11. 请编写一个程序,求出两个矩阵的秩。

12. 请编写一个程序,求出一个矩阵的特定元素。

13. 请编写一个程序,求出一组数据的最高值和最低值。

14. 请编写一个程序,求出两个数组的交集。

15. 请编写一个程序,求出一个矩阵的行和列之和。

16. 请编写一个程序,使用循环语句计算出100以内所有奇数的和。

17. 请编写一个程序,使用循环语句计算出1到1000以内的和。

18. 请编写一个程序,使用递归函数计算出斐波那契数列的第n项。

19. 请编写一个程序,求出一个多项式的导数。

20. 请编写一个程序,求出一个函数的极值点。

21. 请编写一个程序,求出一个数组的非零元素个数。

22. 请编写一个程序,计算出函数的不定积分。

23. 请编写一个程序,计算出函数的定积分。

24. 请编写一个程序,求出一个矩阵的秩。

25. 请编写一个程序,求出函数的极限值。

26. 请编写一个程序,求出一个矩阵的特征值分解。

27. 请编写一个程序,求出一个矩阵的LU分解。

28. 请编写一个程序,求出一个矩阵的QR分解。

29. 请编写一个程序,求出三次多项式的根。

30. 请编写一个程序,求出一个函数的积分。

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文件中. 謀荞抟箧飆鐸怼类蒋薔。

matlab习题五答案

matlab习题五答案

matlab习题五答案Matlab习题五答案Matlab是一款强大的数学软件,被广泛应用于科学计算、数据分析和工程设计等领域。

在学习Matlab的过程中,习题是不可或缺的一部分,通过解答习题可以帮助我们巩固所学的知识。

本文将给出一些常见的Matlab习题的答案,希望能对大家的学习有所帮助。

1. 矩阵运算在Matlab中,矩阵运算是一项基本的操作。

假设有两个矩阵A和B,分别为3行2列和2行3列的矩阵,我们可以使用以下代码进行矩阵相乘和相加的运算:```matlabA = [1 2; 3 4; 5 6];B = [7 8 9; 10 11 12];C = A * B; % 矩阵相乘D = A + B; % 矩阵相加```2. 绘制函数图像Matlab提供了丰富的绘图函数,可以用来绘制各种类型的图像。

例如,我们可以使用`plot`函数来绘制一个函数的图像。

假设要绘制函数y = sin(x)在区间[0,2π]上的图像,可以使用以下代码:```matlabx = linspace(0, 2*pi, 100); % 生成一个包含100个点的等差数列y = sin(x);xlabel('x');ylabel('y');title('y = sin(x)');```3. 数据拟合在实际应用中,我们常常需要通过已知的数据点来拟合一个函数。

Matlab提供了`polyfit`函数可以用来进行多项式拟合。

假设有一组数据点(x, y),我们要拟合一个二次多项式,可以使用以下代码:```matlabx = [1 2 3 4 5];y = [2 3 5 7 9];p = polyfit(x, y, 2); % 二次多项式拟合```4. 图像处理Matlab还提供了丰富的图像处理函数,可以用来对图像进行各种操作。

例如,我们可以使用`imread`函数读取一张图像,然后使用`imrotate`函数对图像进行旋转。

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

第2章 Matlab 矩阵及其运算
1. 给定一实数矩阵A ,试写一组指令,将其所有非正元素设定为0.
2. 给定一实数矩阵A ,试写一组指令,将其所有nan 元素设定为0.
3. 给定一实数和虚数交错的矩阵A ,试写一组指令,将其所有虚数元素设定为nan.
4. 请写一组指令,产生元素值为0或1的向量,向量长度为100,且出现0或1的概率各占一半。

如果要求元素值为-1或1呢?
5. 假设有一整数矩阵A ,请写一函数,将此整数矩阵以ASCII 的整数方式存于文件之中。

例如当矩阵内容如下时
⎪⎪⎭
⎫ ⎝⎛87654321,
则储存到文件中的内容为
1 2 3 4
5 6 7 8
6. 本题练习二进制文件的读写。

(1)请将A=magic(10)以uint8的数据类型存入一个二进制文件mytest.bin ,使用指令为fwrite.
(2)请再用fread 指令将此魔方阵读至工作空间中的AA 变量中。

7. 设计一个函数captalize.m ,其用法如下:
outputStr=capitalize(inputStr)
其中inputStr 是一英文字符串,函数会将此字符串中每个单词的第一个字母改为大写,其余为小写,并将多余空格代换成一个空格,outputStr 则是最后的输出字符串。

例如,当输入是’ how are you! ’时,所得到的输出字符串是’ How are you! ’.
8. 请创建下列4
9.
⑴ 请依歌星名字内码来排序,产生新的元胞数组B 。

⑵ 请依年代来排序,产生新的元胞数组C 。

⑶ 请依歌名字数来排序,产生新的元胞数组D (若字数相同,则按歌名中字符的内码来排序)。

10.
在上题的元胞数组中,求出年代的最大值、最小值、平均值及中位数。

11.
试将此元胞数组A转成结构体数组song,其中
song(1).singer=’张惠妹’
song(1).name=’听海’
song(1).year=’1998’
song(2).singer=’周华健’

1、此题用到上题的结构体数组song.
⑴请将结构体数组song依歌星名字的内码来排序。

⑵请将结构体数组song依年代来排序。

2、此题用到第5题的结构体数组song.
⑴请取出所有歌星的名字,顺次存成一个元胞数组。

⑵请取出所有的年代,顺次存成一个数值数组。

第3章 Matlab程序设计
1. 写一函数project1.m,其输出输入格式如下:
out=project1(x, u)
其中x和u是维数相同的向量,out则是x在u方向上的投影的平方。

2. 写一函数quadzero.m,其输入输出格式如下:
root=quadzero(coef)
其中coef是一个1
3 的向量,代表一个一元二次方程的系数(降幂排列),而root则是此方程的根所形成的向量。

若coef(1)不是0,则root的长度为2。

若coef(1)是零,则可能有一解(roots长度为一)或无解(root为空矩阵)。

(请注意:你的程序必须套用二次方程的求根公式,而不可直接使用系统提供的roots命令来解题。


3. 给定一向量A,依其元素值不同,在屏幕上输出不同信息。

例如,当A=[-1, 1, 0, 2+i]时,你的程序应输出:
A(1)=-1是负数
A(2)=1是正数
A(3)=0是零
A(4)=2+I是复数
请用下列的A来测试你的程序:
A=randn(20,1)+(rand(20,1)>0.7)*I;
4. 下列程序是计算由1到50的总和,但在MATLAB下执行时会发生错误。

请指出并改正之。

begin = 1;
end = 50;
vector = begin:end;
total = sum(vector); % 计算向量总和
fprintf('The sum of %g to %g is %g.\n', begin, end, total); % 输出结果
5. 下列程序是计算由1到100的平均值,但在MATLAB下执行时会发生错误。

请指出并改正之。

clear all % 清除所有变量
vector = 1:100;
total = 0;
for i=vector,
total = total+i;
end
mean = total/1000; % 用我的方法算平均值
mean2 = mean(vector); % 用 MATLAB 內建函數 mean 來算平均值
fprintf('Difference in computation: %g.\n', abs(mean-mean2));%输出结果
第4章 MATLAB 绘图
1. 一条曲线的参数方程为

⎨⎧+-==10/)cos(1)sin(t t y t x , 当t 由0变化到4*pi 时,请写一个MATLAB 脚本plotParam.m ,在XOY 面上画出此曲线。

2. 李萨如图形可用下列参数方程来表示:

⎨⎧==)sin()cos(θθn y m x 试画出取不同m 、n 值时的李萨如图形:
⑴ m=n=1
⑵ m=3, n=2
⑶ m=10, n=10
3. 当一个圆沿着一条直线滚动时,圆上的任一点形成的轨迹称为“摆线”。

请用MATLAB 画出一个典型的摆线,其中圆的半径为1,而且至少要滚三圈。

4. 此题和上题类似。

当一个小圆沿着一条曲线滚动时,圆上的任一点就会形成的变化丰富的摆线。

假设小圆半径r=2。

⑴ 当小圆绕着一个大圆(半径R=5)的外部滚动时,画出其摆线。

⑵ 重复上一小题,但改成在大圆内部滚动。

注:只考虑小圆沿着大圆以顺时针旋转的情形。

5. 画出下列方程的曲面图及等高线图:
Z=sin(x/2)*cos(y),
其中x 的21个均匀分布在[-2*pi, 2*pi]范围,y 的31个均匀分布在[-1.5*pi, 1.5*pi]范围。

请使用subplot(1,2,1)和subplot(1,2,2)将产生的曲面图和等高线图显示在同一视窗中。

第5章 函数与方程
1. 请依下列步骤进行:
⑴ 使用randn 产生一个10×10的矩阵A.
⑵ 计算B=(A+A ′)/2.
⑶ 计算矩阵B 的所有特征向量e 1, e 2, …, e 10。

⑷ 验证当i ≠j 时,e i 和e j 的内积为0.
2. 设a=(1,2,3), b=(2,4,3), 分别计算a./b, a.\b, a/b, a\b ,分析结果的意义。

3. 用矩阵除法解下列线性方程组。

(1)⎪⎪⎪⎭
⎫ ⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛---129351623114321x x x ;
(2)⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛-111512314321x x x .
4. 求下列矩阵的行列式、逆、特征值和特征向量。

(1)⎪⎪⎪⎭⎫ ⎝⎛---351623114;(2)⎪⎪⎪⎭
⎫ ⎝⎛---021120111.
5. 用正交变换化下列二次型为标准形
23
322231212132128244),,(x x x x x x x x x x x x f -+-+-=. 6. 在xoy 平面上有三条曲线:
1,22,22=+-=-=-y x y x y x ,
试用MATLAB 指令找出一点P ,使它到三条直线的距离平方和为最小。

7. 我们知道,一个实系数的一元三次方程必有一个实数解。

请写一函数trizero.m ,其输入输出格式如下:
root=trizero(coef)
其中coef 是一个14⨯的向量,代表一个一元三次方程的系数(降幂排列),而root 则是一个13⨯的向量,代表此方程的三个根。

请参照下列步骤来写你的程序: ⑴使用fzero 命令找出方程的一个实根,记为x1;
⑵使用deconv 命令来算出次多项式除以(x-x1)的商式(一元二次方程);
⑶对该商式使用已经编写的求一元二次方程根的函数求出该一元三次方程的另外两个根。

8. 在xoy 面上给定三个点C B A ,,,找出一点X 使它到C B A ,,三点的距离和为最小。

请写一函数M 文件mindist.m 解决上述问题。

此函数的输入输出格式如下:
X=mindist(A,B,C),
其中A, B, C 为三个点的坐标,X 则是输出点的坐标。

你必须使用fminsearch 指令进行最优化。

⑴ 当A=[4, 0]、B=[0, 3]、C=[0, 0]时,mindist 返回值X 是多少?对应的最短距离之和是多少?
⑵ 计算三个角.,,CXA BXC AXB ∠∠∠.。

相关文档
最新文档