中南大学matlab习题复习课
matlab期末复习题及答案
matlab期末复习题及答案1. MATLAB基础操作在MATLAB中,如何创建一个名为"myMatrix"的3x3矩阵,其元素分别为1, 2, 3, 4, 5, 6, 7, 8, 9?答案:在MATLAB中,可以通过直接输入矩阵元素来创建矩阵。
例如,要创建一个名为"myMatrix"的3x3矩阵,可以使用以下命令:```matlabmyMatrix = [1 2 3; 4 5 6; 7 8 9];```这样,MATLAB就会创建一个3x3的矩阵,其元素按照行顺序排列。
2. 矩阵运算给定两个矩阵A和B,其中A = [1 2; 3 4],B = [5 6; 7 8],计算矩阵A和B的和。
答案:在MATLAB中,可以使用加号(+)来计算两个矩阵的和。
对于给定的矩阵A和B,可以使用以下命令来计算它们的和:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A + B;```执行上述命令后,矩阵C的结果将是:```C = [6 8;10 12];```3. 条件语句编写一个MATLAB脚本,判断一个给定的数n是否为质数,并输出相应的信息。
答案:在MATLAB中,可以使用if-else语句来判断一个数是否为质数。
以下是一个简单的脚本示例:```matlabn = input('请输入一个数:');if mod(n, 2) == 0 && n > 2disp('该数不是质数');elseif n == 1disp('1不是质数');elseisPrime = true;for i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;break;endendif isPrimedisp('该数是质数');elsedisp('该数不是质数');endend```该脚本首先接收用户输入的数n,然后通过一个for循环检查n是否有除了1和它自身以外的因数,从而判断n是否为质数。
中南大学材料院matlab操作题集答案
的491操作题集操作题1 《Matlab与科学计算》P28 例2.1要求计算水在温度为0℃,20℃,40℃,60℃,80℃时的黏度,已知水的黏度随/(1+at+bt2)温度的变化公式为μ=μ为0℃水的黏度,值为1.758*10-3。
其中μ要求分别以长短格式显示计算结果。
操作题2 《Matlab与科学计算》P31 例2.2数值数组【1:5】和字符串转换示例。
操作题3《Matlab与科学计算》P44 例2.9比较用左除和右除法分别求解恰定方程的解。
操作题4 《Matlab与科学计算》 P48 例2.14计算矩阵magic(3)的指数,并比较不同函数的结果。
指数运算expm(a)操作题5 《Matlab与科学计算》 P50 例2.18计算下面矩阵[-149 -50 -154;537 180 546;-27 -9 -25]的特征值条件数。
特征值函数condeig(A)操作题6《Matlab与科学计算》P62 例2.29对矩阵a = 1 1 1 11 2 3 41 3 6 101 4 10 20 进行三角抽取使之分别变成0 0 0 0 1 1 1 01 0 0 0 及 123 41 3 0 0 1 3 6 101 4 10 0 1 4 10 20操作题7《Matlab与科学计算》P62 例2.30用3种方法建立向量v 为[1 2 6 20]多项式的伴随矩阵。
操作题8《Matlab与科学计算》P64 例2.31已知a=[2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5];求该矩阵的3次方及数组的3次方。
操作题9《Matlab与科学计算》P66 例2.32 数组逻辑运算演示。
已知a=[1:3;4:6;7:9],b=[0 1 0;1 0 1;0 0 1], x=5, y=ones (3)*5,求x<=a,ab=a&b,~b操作题10《Matlab与科学计算》P71 例2.41对多项式p =[2 -5 6 -1 9]求根,计算其在x=3的值,进行微分计算并写出其表达式。
matlab课后习题及答案
第一章 5题已知a=4.96,b=8.11,计算)ln(b a eba +-的值。
解:clear clc a=4.96; b=8.11;exp(a-b)/log(a+b) ans =0.0167 6题已知三角形的三边a=9.6,b=13.7, c=19.4,求三角形的面积。
提示:利用海伦公式area =))()((c s b s a s s ---计算,其中S=(A+B+C)/2. 解:clear clc a=9.6; b=13.7; c=19.4; s=(a+b+c)/2area=sqrt(s*(s-a)*(s-b)*(s-c)) s =21.3500 第二章 8题已知S=1+2+2^2+2^3+……+2^63,求S 的值 解:clear clc S=0;for i=0:1:63 S=S+2^i; end S S =1.8447e+019 9题分别用for 和while 循环结构编写程序,计算∑=-1001n 1n 2)(的值。
解:clear clc s=0;for n=1:100 s=s+(2*n-1); end s s =10000 clear clc n=1; s=0;while n<=100 s=s+(2*n-1); n=n+1; end s s =10000 第三章 2题在同一坐标下绘制函数x ,,2x-,2x xsin(x)在()∏∈,0x 的曲线。
解:clear clcx=0:0.2:pi; y1=x; y2=x.^2; y3=-(x.^2); y4=x.*sin(x);plot(x,y1,'-' ,x,y2,'-' ,x,y3,'-' ,x,y4,'-')0.511.522.53-10-8-6-4-202468109题用不同的线型和颜色在同一坐标内绘制曲线y1=2ex5.0 、y2=sin(2∏x )的图形。
matlab复习题标准答案
matlab复习题标准答案# MATLAB复习题标准答案一、选择题1. MATLAB中的矩阵默认是按什么顺序存储的?- A. 行主序- B. 列主序- C. 随机序- D. 行主序2. 下列哪个函数用于计算矩阵的行列式?- A. `det`- B. `diag`- C. `trace`- A. `det`3. MATLAB中如何创建一个5x5的单位矩阵?- A. `eye(5,5)`- B. `zeros(5,5)`- C. `ones(5,5)`- A. `eye(5,5)`4. 下列哪个命令用于生成0到1之间的随机数?- A. `rand()`- B. `randi()`- C. `randn()`- A. `rand()`5. MATLAB中如何计算向量的范数?- A. `norm(vector)`- B. `abs(vector)`- C. `sum(vector)`- A. `norm(vector)`二、填空题1. MATLAB中的`%`符号用于______。
- 答案:注释2. 要创建一个从10到1的递减向量,可以使用______。
- 答案:`1:-1:10`3. MATLAB中,`zeros(3,4)`会生成一个______。
- 答案:3行4列的全零矩阵4. 函数`max(A)`会返回矩阵A中的______。
- 答案:最大值5. `plot(x,y)`函数在MATLAB中用于______。
- 答案:绘制x和y的数据点的图形三、简答题1. 请简述MATLAB中矩阵的基本操作有哪些?- 答案:矩阵的基本操作包括矩阵的创建、转置、求逆、矩阵乘法、矩阵加法、矩阵减法等。
2. MATLAB中如何实现循环结构?- 答案:MATLAB中实现循环结构主要有两种方式,一种是使用`for`循环,另一种是使用`while`循环。
3. 请解释MATLAB中的函数文件和脚本文件的区别。
- 答案:函数文件通常包含返回值和参数,可以被其他脚本或函数调用;而脚本文件主要用于执行一系列命令,不包含返回值。
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 。
中南大学matlab课后习题(10)
中南大学matlab课后习题(10)Unit 1实验内容1.答:用help命令可以查询到自己的工作目录。
输入help命令:help <函数名>2.答:MATLAB的主要优点:通过例1-1至例1-4的验证,MATLAB的优点是MATLAB以矩阵作为数据操作的基本单位,使得矩阵运算变得非常简捷,方便,高效。
还提供了丰富的数值计算函数。
MATLAB绘图十分方便,只需输入绘图命令,MATLAB便可自动绘出图形。
3.答:INV(X) is the inverse of the square matrix X。
A warning message is printed if X is badly scaled or nearly singular. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, length(Y) disconnected points are plotted. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)).In all other uses of PLOT, the imaginary part is ignored. For vectors, MAX(X) is the largest element in X. For matrices,MAX(X) is a row vector containing the maximum element from each column. For N-D arrays, MAX(X) operates along the first non-singleton dimension. [Y,I] = MAX(X) returns the indices of the maximum values in vector I. If the values along the first non-singleton dimension contain more than one maximal element, the index of the first one is returned. ROUND(X) rounds the elements of X to the nearest integers. MAX(X,Y) returns an array the same size as X and Y with the largest elements taken from X or Y. Either one can be a scalar。
中南大学matlab课后答案-第十一章
第十一章实验指导1,(1)(2)2,M文件的函数为:function x=f(t)x=(8*1/(pi^2))*(cos(2*pi*t)+(1/9)*cos(3*2*pi*t)+(1/25)*cos(5*2*pi*t))3,4,5,5,限幅:function [sys,x0,str,ts]=xianSfun(t,x,u,flag,max,min) switch flag,case 0sizes= simsizes;sizes.NumContStates = 0;sizes.NumDiscStates = 0;sizes.NumOutputs = 1;sizes.NumInputs = 1;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1;sys= simsizes(sizes);str =[];x0 =[];ts =[-1 0];case 3if u>maxsys=max;elseif u<minsys=min;elsesys=u;endcase{1,2,4,9}sys=[];otherwiseerror(['Unhandled flag=',num2str(flag)]); end绝对值:function [sys,x0,str,ts]=abs(t,x,u,flag)switch flagcase 0sizes= simsizes;sizes.NumContStates = 0;sizes.NumDiscStates = 0;sizes.NumOutputs = 1;sizes.NumInputs = 1;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1;sys= simsizes(sizes);str = [];x0 =[];ts =[0 0];case 3if u>0sys=u;else u<0sys=-u;endcase {1,2,4,9}sys=[];otherwiseerror(['Unhandled flag=',num2str(flag)]);end思考练习:1,两个主要功能Simu仿真和Link连接即该软件;天价模块——模块编辑——模块的连接——模块的参数和属性设置——设置仿真参数——启动系统仿真与仿真结果分析2,适用sinks模块库中的Scope模型或其他显示模块来观察有关信号的变化曲线,也可以将结果存放在MATLAB中的工作空间,工艺后处理和使用。
MATLAB练习题和复习资料1
控制系统仿真实验部分实验结果目录实验一基本操作............................. 错误!未指定书签。
实验二编程............................... 错误!未指定书签。
实验三底层图形控制......................... 错误!未指定书签。
实验四控制系统古典分析..................... 错误!未指定书签。
实验五控制系统现代分析...................... 错误!未指定书签。
实验六控制器的设计........................ 错误!未指定书签。
实验七系统状态空间设计..................... 错误!未指定书签。
实验九直流双闭环调速系统仿真............... 错误!未指定书签。
实验一基本操作1 用可以识别的格式输入下面两个矩阵再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。
赋值完成后,调用相应的命令查看工作空间的占用情况。
[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];[1+4i,4,3,6,7,8;2,3,3,5,5,4+2i;2,6+7i,5,3,4,2;1,8,9,5,4,3];*B;(4:5,4:6);A 5x4 160B 4x6 384C 5x6 480D 2x3 962 选择合适的步距绘制出下面的图形,其中[-1:0.1:1];(1);3 对下面给出的各个矩阵求取矩阵的行列式、秩、特征多项式、范数、特征根、特征向量和逆矩阵。
[7.5,3.5,0,0;8,33,4.1,0;0,9,1031.5;0,0,3.7,19.3];[5,7,6,5;7,10,8,7;6,8,10,9;5,7,9,10];[1:4;5:8;9:12;13:16];[332,4;55,1,8;11,8,57;5131];(A)(B)(C)(D);(A);(B);(C);(D);(A);(B);(C);(D);(A);(B);(C);(D);[](A,'');[](B,'');[](C,'');[](D,'');(A);(B);(C);(D);4 求解下面的线性代数方程,并验证得出的解真正满足原方程。
MATLAB系统仿真试题复习资料,有答案及MATLAB课程设计实验体会
PART I 教材复习要点第一章MATLAB入门测试1.11.MATLAB的命令窗口的作用是什么?编辑/调试窗口?图象窗口?MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。
命令窗口也可以用来执行M文件。
编辑/调试窗口是用来新建,修改或调试M文件的。
图像窗口用来显示MATLAB的图形输出。
2.列出几种不同的得到MATLAB帮助的方法。
(1)在命令窗口中输入help <command_name>,本命令将会在命令窗口中显示关于些命令的有信息。
(2)在命令窗口中输入lookfor <keyword>,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。
(3)通过在命令窗口输入helpwin或helpdesk启动帮助浏览器,或者是在启动板中选择"Help"。
帮助浏览器包含了基于超文本的MATLAB所有特性的描述,HTML或PDF格式的在线手册,这是MATLAB 最全面的帮助资源。
3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?工作区是命令、M文件或函数执行时被MATLAB使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos命令来查看,或者通过工作区浏览器来图形化地查看。
4.你怎样清空MATLAB 工作区内的内容?要清除工作区的内容,只需在命令窗口中输入clear或clear variables即可。
第二章MATLAB基础测试2.11.数组,矩阵,向量有什么区别?数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。
术语"向量"通常用来描述只有一维的数组,而"矩阵"通常用来描述二维或更多维的数组。
实验一 MATLAB软件应用复习含具体答案
。 6.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位
数字的立方和等于该数本身。例如,153是一个水仙花数,因为 。 7.编写函数M-文件sq.m:用迭代法求 的值。求平方根的迭代公式为
迭代的终止条件为前后两次求出的x的差的绝对值小于 。 8. 求函数的极限、导数或积分:
探究实验
比较幂函数,指数函数,对数函数的变化快慢
众所周知:与幂函数相比,指数函数是急脾气,对数函数是慢性 子。这就是说,当x→∞时,再小的指数函数也比幂函数变化快,再大 的对数函数也比幂函数变化慢。当x→∞时,比较 与 的大小.当x→∞时,比较 与
的大小. syms x; limit(x^10,x,inf) ans = Inf limit(1.1^x,x,inf) ans = Inf 新建一个M文件输入命令如下: x=10:100:100000; f1=x.^10; f2=1.1.^x f3=x.^0.001; f4=1000.*log(x); subplot(2,2,1),plot(x,f1),title('f1=x.^10'); subplot(2,2,2),plot(x,f2),title('f2=1.1 .^x'); subplot(2,2,3),plot(x,f3),title('f3=x.^0.001'); subplot(2,2,4),plot(x,f4),title('f4=1000.*log(x)') 保存并运行,结果如下:
3. 用两种方法在同一个坐标下作出 这四条曲线的图形,并要求用两种方法在图上加各种标注。 4.用subplot分别在不同的坐标系下作出下列四条曲线,为每幅图形加上标题, 1)概率曲线 ; 2)四叶玫瑰线 ; 3)叶形线
中南大学matlab课后习题(7)
第一章思考练习1.与一般的Windows程序一样,启动MATLAB系统有3种常见方法:(1)使用Windows“开始”菜单。
(2)运行MATLAB系统启动程序matlab.exe。
(3) 利用快捷方式。
要退出MATLAB系统,也有3种常见方法:(2) 在MATLAB命令窗口输入Exit或Quit命令。
(3) 单击MATLAB主窗口的“关闭”按钮。
2.matlab用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案3.可以在第一个物理行之后加上三个小黑点并按回车键,然后再下一个物理行输入其他部分。
4.help命令会显示当前帮助系统中的所有项目,即搜索路径中所有的目录名称,只显示那些与关键字中完全匹配的结果。
Lookfor命令对搜索范围内的M文件经行搜索,条件比较宽泛。
第二章(1) w=sqrt(2)*(1+0.34245*10^(-6)(2)a=3.5b=5c=9.8x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a)(3)a=3.32b=7.9y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)(4) t=[2,1-3i;5,-0.65]Z=0.5*exp(2*t)*log(t+sqrt(1+t.*t))2. A=[-1,5,-4;0,7,8;3,61,7];B=[8,3,-1;2,5,3;-3,2,0];(1)A+6*B A^2-B+eye(2)A*B A.*B B.*A(3)A/B B\A(4)[A,B] [A([1,3],:);B^2]3.(1)A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; K=find(A>10&A<25);A(K)(2)A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C(3)E<D E&D E|D ~E|~D5. A=[-29,6,18;20,5,12;-8,8,5];[V,D]=eig(A)A*V=V*D第三章1.f=input('输入一个数:','s');f(end :-1:1)2.(1)if语句score=input('请输入成绩:');if score>=90&&score<=100disp('A');elseif score>=80&&score<=89disp('B');elseif score>=70&&score<=79disp('C');elseif score>=60&&score<=69;disp('D');elseif score<60&&score>=0;disp('E');elsedisp('出错');End(2)用switch语句score=input('请输入成绩:');switch fix(score/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {0,1,2,3,4,5}disp('E');otherwisedisp('出错');End3.b=max(a)c=min(a)b=0c=0for i=1:20if a(i)>bb=a(i);endif a(i)<cc=a(i);End4.a=[-3:0.1:3];b=((exp(0.3.*a)-exp(-0.3.*a))./2)c=sin(a+0.3)for i=1:61y=(exp(0.3*a(i))-exp(-0.3*a(i)))/2*sin(a(i)+0.3)+log((0.3+a(i))/2) End5.(1)A=0;n=100for i=1:nA=1/n/n+A;End(2)A=1;n=10000;for i=1:nA=(2*n*n*2)/((2*n-1)*(2*n+1))*A;end6. A=rand(5,6)n=input('ÇëÊäÈëÒ»¸ön');if n>5n=5A(n,n)elseA(n)7.f1.m 代码:function m=f1(n)m=n+10*log(n^2+5);f2.m 代码:function m=f2(n)m=0;for i=1:nm=m+i*(i+1);end在命令文件p3_11.m 中调用f1.m 和f2.mp3_11.m 代码如下:y1=f1(40)/(f1(30)+f1(20));y2=f2(40)/(f2(30)+f2(20));y1y28.∑=1001k k 函数文件factor1.m 代码如下:function f=factor1(k)if k==1f=1;elsef=factor1(k-1)+k;end∑=5012^k k 函数文件factor2.m 代码:function f=factor2(k)if k==1f=1;elsef=factor2(k-1)+^2;end∑=101/1k k 函数文件factor3.m 代码:function f=factor3(k)if k==1f=1;elsef=factor3(k-1)+1/k;end思考练习2.N=[1,2,3,4,5]A=N.*2B=N./4C=1./ND=1./(N./2)./(N./2)/43.B=0for i=1:20A(i)=fix((99-10+1)*rand(1)+10);B=A(i)+B;endB=B/20for i=1:20if A(i)<B&rem(A(i),2)==0A(i)end第四章.1.(1).x=-12:0.001:12;y=x-x.^3/6;plot(x,y);xlabel('x 轴');ylabel('y 轴');title('Y=X-X^3/3!');(2)t=0:0.01:2*pi;x=8.*cos(t);y=4*sqrt(2).*sin(t);plot(x,y)2.t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'b');title('bar(t,y,''b'')');axis([-5,5,-3,3]); subplot(2,2,2);stairs(t,y,'k');title('stairs (t,y,''k'')');axis([-5,5,-3,3]); subplot(2,2,3);stem(t,y,'m');title('stem (t,y,''m'')');axis([-5,5,-3,3]); subplot(2,2,4);loglog(t,y,'g');title('loglog(t,y,''g'')');axis([-5,5,-3,3]);3.(1) t=0:pi/100:2*pi;y=5*cos(t)+4;polar(t,y,'-*')(2)t=-pi/3:pi/100:pi/3;r=5*sin(t).^2./cos(t);polar(t,r,'-*')4.(1)t=0:pi/100:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z)(2) [x,y]=meshgrid(-5:5);z=ones(11);surf(x,y,z);shading interp;5.[x,y,z]=sphere(50);m=moviein(100);for i=1:100surf(i*x,i*y,i*z);shading interpcolormap(hot);axis equalaxis([-100,100,-100,100,-100,100]) axis offm(:,i)=getframe;End思考练习2.(1)x=1:0.1:10a=exp((x.^2)/2)y=a.*1/2/piplot(x,y)(2)t=-pi:0.1:2*piX=t.*sin(t)Y=t.*cos(t)plot(X,Y)3.t=0:0.00005:pi;x=sin(3*t).*cos(t);y1=2*x-0.5;y2=sin(3*t).*sin(t);plot(x,y2,x,y1);hold onk=find(abs(y2-y1)<1e-4);x1=x(k);y3=2*x1-0.5;plot(x1,y3,'rp')4.x=-pi*6:0.1:pi*6y=sin(1./x)plot(x,y)fplot('sin(1./x)',[-pi*6,pi*6],1e-4)5.(1)x=1:0.1:10y=12./xpolar(x,y)(2)x=-pi/6:0.1:pi/6y=3*sin(x).*cos(x)./(sin(x).^3+cos(x).^3) polar(x,y)6.(1)[u,v]=meshgrid(-pi:pi/100:pi);x=3*u.*sin(v);y=2*u.*cos(v);z=4*u.*u;mesh(x,y,z);(2)[x,y]=meshgrid(-3:6/100:3);z=-5./(1+x.*x+y.*y);mesh(x,y,z)第五章1.A=randn(10,5)(1) X=mean(A)Y=std(A,0,1)(2) max(max(A))min(min(A))(3) B=sum(A,2)sum(B)(4) sort(A);sort(A,2,'descend')2.(1)t=0:15:90;x1=[0,0.2588,0.5000,0.7071,0.8660,0.9659,1.0000];a1=0:1:90;y1=interp1(t,x1,a1,'spline')x2=[0,0.2679,0.5774,1.0000,1.7320,3.7320,NaN]; a2=0:1:75;y2= interp1(t,x2,a2,'spline')p1=polyfit(t,x1,5);Z1=polyval(p1,a1)p2=polyfit(t,x2,5);z2=polyval(p2,a2)(2)X=[1 4 9 16 25 36 49 64 81 100];Y=1:10;X1=1:100;Y1=interp1(X,Y,X1,'cubic')3.4.P=[2,-3,5,13];Q=[1,5,8];p=polyder(P)p1=polyder(P,Q)[p,q]= polyder(P,Q)5.P1=[1,2,4,0,5];P2=[1,0];P3=[1,2,3];1) P4=conv(P2,P3)P4=[0,1,2,3,0];P=P1+P42) x=roots(P)3) A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];Y=polyval(P,A)4)Z=polyvalm(P,A)第六章1.(1)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[0.95,0.67,0.52]';x=A\B (2)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[0.95,0.67,0.53]';x=A\B (3)>> cond(A)2.(1)建立函数文件funx.m,命令如下;Function fx=funx(x)fx=x^41+x^3+1;调用fzero函数求根,命令如下;>> z=fzero(@funx,-1)(2) 建立函数文件sin.m,命令如下;Function fx=sin(x)fx=x-(sin(x))/x;调用fzero函数求根,命令如下;>> z=fzero(@sin,0.5)(3) 建立函数文件myfun.m,命令如下;function q=myfun(p)x=p(1);y=p(2);z=p(3);q(1)=sin(x)+y^2+log(z)-7;q(2)=3*x+2^y-z^3+1;q(3)=x+y+z-5;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@myfun,[1,1,1]',options)3.(1) 建立函数文件funt.m,命令如下;function yp=funt(t,y)yp=-y*(1.2+sin(10*t));求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funt,[t0,tf],y0)(2) 建立函数文件funr.m,命令如下;function yp=funr(t,y)yp=cos(t)-(y)/(1+t^2);求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funr,[t0,tf],y0)4.建立函数文件mymax.m命令如下:function fx=mymax(x)fx=-1*(1+x^2)/(1+x^4);求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,2)5.编写目标函数M文件fop.m,命令如下:function f=fop(x)f=-1*(x(1)^(1/2)+x(2)^(1/2)+x(3)^(1/2)+x(4)^(1/2)); 设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[200,200,200,200];A=[1,0,0,0;1.21,1,0,0;1.331,1.21,1,0;1.4641,1.331,1.21,1];b=[400,440,484,532.4];Ib=[0,0,0,0];options=optimset('Display','off');[x,y]=fmincon(@fop,x0,A,b,[],[],Ib,[],[],options)思考练习1,(1)矩阵求逆:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=inv(A)*b矩阵除法:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=A\b矩阵分解:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';[L,U]=lu(A);x=U\(L\b)(2)矩阵求逆:>> A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=inv(A)*b矩阵除法:>> A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=A\b矩阵分解:>> A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]'; [L,U]=lu(A);x=U\(L\b)2.(1)建立函数文件fun1.m,命令如下:function fx=fun1(x)fx=3*x+sin(x)-exp(x);调用fzero函数求根,命令如下;>> y=fzero(@fun1,1.5)(2) 建立函数文件fun2.m,命令如下:function fx=fun2(x)fx=1-(1/x)+5;调用fzero函数求根,命令如下;>> y=fzero(@fun2,1)(3) 建立函数文件myfun3.m,命令如下;function q=fun3(p)x=p(1);y=p(2);q(1)=x^2+y^2-9;q(2)=x+y-1;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@fun3,[1,1]',options)3.(1)建立函数文件fun5.m,命令如下:function ydot=fun5(t,y)ydot(1)=(2-3*y(2)-2*t*y(1))/(1+t^2);ydot(2)=y(1);ydot=ydot';求解微分方程,命令如下:>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y](2) (1)建立函数文件fun5.m,命令如下:function ydot=fun6(t,y)ydot(1)=cos(t)+(5*y(1)*cos(2*t))/(t+1)^2-y(2)-y(3)/(3+sin(t)); ydot(2)=y(1);ydot(3)=y(2);ydot=ydot';求解微分方程,命令如下:>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y]4.建立函数文件max.m命令如下:function fx=max(x)fx=-1*(sin(x)+cos(x^2));求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,pi)5.编写目标函数M文件fop.m,命令如下:function f=topm(x)f=-1*x*(3-2*x)^2;设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[0];A=[1];b=[1.5];Ib=[0];options=optimset('Display','off');[x,y]=fmincon(@top,x0,A,b, [],[],Ib,[],[],options)第七章1.function f=f1(x)f=sin(x)./x;function f=f2(x)f=[1./((x-0.3).^2+0.01)-1./((x-0.9).^2+0.04)-6];[I,n]=quad(@f1,0,2)[S,n]=quad(@f2,0,1)2.f=inline('exp(-x.^2-y.^2)','x','y');I1=dblquad(f,0,1,0,1)f=inline('abs(cos(x+y))','x','y');I2=dblquad(f,0,pi,0,pi)3. X=0.3:0.2:1.5;Y=[0.3895,0.6598,0.9147,1.1611,1.3971,1.6212,1.8325];trapz(X,Y)4. x=0:pi/5:2*pi;for n=1:3nDX=diff(sin(x),n)end5. f=inline('sin(x)./(x+cos(2.*x))');g=inline('[cos(x).*(x+cos(2.*x))-sin(x).*(1-2.*sin(2.*x))]./(x+cos(2.*x)).^2');x=0:0.01:2*pi;p=polyfit(x,f(x),5);dp=polyder(p);dpx=polyval(dp,x);dx=diff(f([x,2*pi+0.01]))/0.01;gx=g(x);plot(x,dpx,x,dx,'-',x,gx,':')思考练习1.求解定积分的数值方法有梯形法、辛普森法、高斯法等,基本思想是将整个积分区间分成n个子区间,而每个小的子区间上的定积分的值可近似求得。
中南大学matlab课后答案-第六章
实验指导二1,(1)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[,,]';x=A\B (2)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[,,]';x=A\B (3)>> cond(A)2,(1)建立函数文件,命令如下;Function fx=funx(x)fx=x^41+x^3+1;$调用fzero函数求根,命令如下;>> z=fzero(@funx,-1)(2) 建立函数文件,命令如下;Function fx=sin(x)fx=x-(sin(x))/x;调用fzero函数求根,命令如下;>> z=fzero(@sin,(3) 建立函数文件,命令如下;function q=myfun(p)x=p(1);、y=p(2);z=p(3);q(1)=sin(x)+y^2+log(z)-7;q(2)=3*x+2^y-z^3+1;q(3)=x+y+z-5;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@myfun,[1,1,1]',options) 3,(1) 建立函数文件,命令如下;function yp=funt(t,y)>yp=-y*+sin(10*t));求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funt,[t0,tf],y0)(2) 建立函数文件,命令如下;function yp=funr(t,y)yp=cos(t)-(y)/(1+t^2);求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funr,[t0,tf],y0)4,建立函数文件命令如下:{function fx=mymax(x)fx=-1*(1+x^2)/(1+x^4);求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,2)5,编写目标函数M文件,命令如下:function f=fop(x)f=-1*(x(1)^(1/2)+x(2)^(1/2)+x(3)^(1/2)+x(4)^(1/2));设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[200,200,200,200];%A=[1,0,0,0;,1,0,0;,,1,0;,,,1];b=[400,440,484,];Ib=[0,0,0,0];options=optimset('Display','off');[x,y]=fmincon(@fop,x0,A,b,[],[],Ib,[],[],options)思考练习1,(1)矩阵求逆:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=inv(A)*b矩阵除法:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=A\b!矩阵分解:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';[L,U]=lu(A);x=U\(L\b) (2)矩阵求逆:>>A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=inv(A)*b矩阵除法:>>A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=A\b矩阵分解:>> A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]'; [L,U]=lu(A);x=U\(L\b)2,(1)建立函数文件,命令如下:function fx=fun1(x)fx=3*x+sin(x)-exp(x);调用fzero函数求根,命令如下;>> y=fzero(@fun1,、(2) 建立函数文件,命令如下:function fx=fun2(x)fx=1-(1/x)+5;调用fzero函数求根,命令如下;>> y=fzero(@fun2,1)(3) 建立函数文件,命令如下;function q=fun3(p)x=p(1);y=p(2);q(1)=x^2+y^2-9;'q(2)=x+y-1;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@fun3,[1,1]',options) 3,(1)建立函数文件,命令如下:function ydot=fun5(t,y)ydot(1)=(2-3*y(2)-2*t*y(1))/(1+t^2);ydot(2)=y(1);ydot=ydot';求解微分方程,命令如下:'>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y](2) (1)建立函数文件,命令如下:function ydot=fun6(t,y)ydot(1)=cos(t)+(5*y(1)*cos(2*t))/(t+1)^2-y(2)-y(3)/(3+sin(t)); ydot(2)=y(1);ydot(3)=y(2);ydot=ydot';求解微分方程,命令如下:>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y]4,】建立函数文件命令如下:function fx=max(x)fx=-1*(sin(x)+cos(x^2));求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,pi)5,编写目标函数M文件,命令如下:function f=topm(x)f=-1*x*(3-2*x)^2;设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[0];A=[1];b=[];Ib=[0];options=optimset('Display','off');[x,y]=fminco n(@top,x0,A,b,[],[],Ib,[],[],options)。
中南大学材料学院MATLAB题库答案3.0版
P.28 ex 2.1 数值变量的运算>> format short e>> clear>> muw0=1.785e-3;>> a=0.03368;>> b=0.000221;>> t=0:20:80;>> muw=muw0./(1+a*t+b*t.^2)muw =1.7850e-003 1.0131e-003 6.6092e-004 4.6772e-004 3.4940e-004p.31 ex 2.2 数值驻足和字符串转换>> a=[1:5];>> b=num2str(a);>> aa =1 2 3 4 5>> bb =1 2 3 4 5>> b*2ans =98 64 64 100 64 64 102 64 64 104 64 64 106P.44 ex 2.9 比较用左除和右除分别求解恰定方程(线性方程组如果方程数等于未知数个数,叫做恰定方程组,如果方程多于未知数,叫做超定方程组,反之称为欠定。
换个角度说,系数矩阵如果是方阵,就是恰定方程组)的解见课本P.48 ex 2.14 计算矩阵的指数并比较不同函数的结果>> b=magic(3);>> expm(b)ans =1.0e+006 *1.0898 1.0896 1.08971.0896 1.0897 1.08971.0896 1.0897 1.0897 >> expmdemo2(b)ans =1.0e+006 *1.0898 1.0896 1.08971.0896 1.0897 1.08971.0896 1.0897 1.0897>> expm1(b)ans =1.0e+003 *2.9800 0.0017 0.40240.0191 0.1474 1.09560.0536 8.1021 0.0064>> expmdemo3(b)ans =1.0e+006 *1.0898 1.0896 1.08971.0896 1.0897 1.08971.0896 1.0897 1.0897P50 ex 2.18 计算矩阵的特征值条件数>> a=rand(3)a =0.9649 0.9572 0.14190.1576 0.4854 0.42180.9706 0.8003 0.9157>> [V,D,s]=condeig(a)V =0.4913 0.6696 0.66960.3158 -0.4476 + 0.2831i -0.4476 - 0.2831i0.8117 -0.2332 - 0.4655i -0.2332 + 0.4655iD =1.8146 0 00 0.2757 + 0.3061i 00 0 0.2757 - 0.3061is =1.17921.23661.2366P62 ex 2.29矩阵的抽取、三角抽取>> a=pascal(4)a =1 1 1 11 2 3 41 3 6 101 4 10 20>> diag(a,-2)ans =14>> v=diag(diag(a))v =1 0 0 00 2 0 00 0 6 00 0 0 20%diag简单来说就是抽取矩阵各对角线上的元素,如上是抽取主对角线以下第二条对角线之元素,其另一功能是建立对角矩阵>> tril(a)ans =1 0 0 01 2 0 01 3 6 01 4 10 20>> triu(a)ans =1 1 1 10 2 3 40 0 6 100 0 0 20%triu&tril用法与diag非常类似,用途是提取下、上三角矩阵P62 ex2.30 建立多项式之伴随矩阵这道题有点凌乱了…….求解释P64 ex 2.31 数组的幂运算>> a=[2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5];>> a^3ans =32 -28 -101 3499 -12 -151 239-1 49 93 851 -17 -98 139>> a.^3ans =8 1 -27 -127 1 0 343-1 8 64 -81 0 -1 125P66 ex 2.32 数组之逻辑运算>> a=[1:3;4:6;7:9];>> b=[0 1 0;1 0 1;0 0 1];>> x=5;y=ones(3)*5;>> x<=aans =0 0 00 1 11 1 1%此处小于等于,对a中元素和x注意比较,大者为假为0,不大者为1>> ab=a&bab =0 1 01 0 10 0 1%此处为与运算,就是同真才为真(同为非零数)>> ~bans =1 0 10 1 01 1 0%逻辑非运算,即全都非,真变假假变真;还有逻辑或运算,看下面即懂:>> a|bans =1 1 11 1 11 1 1%总结多项式运算的函数:poly:Polynomial with specified roots特征多项式的生成p=poly(a)a 为n阶特征矩阵,所得一般为n阶特征多项式;poly2sym数值2符号;polyval 求多项式的值;roots 求多项式的根;conv 多项式的乘法(向量之卷积)conv(p,d);polyder 多项式微分;polyfit 多项式拟合。
中南大学matlab总复习
主讲:唐建国 中南大学材料科学与工程学院 2013.11
第一章 绪 论
1 科学计算 数值计算的定义 数值计算的研究过程 数值计算的误差分析 数值计算的稳定性与收敛性 2 MATLAB简介 MATLAB的类别 MATLAB的概述 3 课程的要求与学习方法 课程的内容 课程的要求 课程的学习与考核 教材与主要参考书 小结
如果结果为整数,则显示没有小数;如果结果不 是整数,则输出形式有: format (short):短格式(5位定点数)99.1253 format long:长格式(15位定点数 ) 99.12345678900000 format short e:短格式e方式 9.9123e+001 format long e:长格式e方式 9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式
(3)正交分解 [Q,R]=qr(A) 将矩阵A做正交化分解,使得 例: a = Q*R=A,其中Q为正交矩阵(其 9 8 范数为1,指令norm(Q)=1),R为 6 8 对角化的上三角矩阵。 [q,r]=qr(a) q= -0.8321 -0.5547 -0.5547 0.8321 r= -10.8167 -11.0940 0 2.2188
函数3: ezplot:绘制隐函数图形
1(f, [xmin,xmax,ymin,ymax])
说明: 在区间 xmin<x<xmax和ymin<y<ymax绘制 f(x,y) = 0的图 形。,默认区间-2π<x<2π和-2π<y<2π
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文件中。
matlab考试复习题及内容培训资料
m a t l a b考试复习题及内容复习填空1. 清除命令窗口内容的命令是( clc )。
2. 删除工作空间中保存的变量x的命令是(clear x )。
3. 将双精度实数的显示格式设置成15位定点小数格式的命令是( format long )。
4. 要在命令窗口中查看对函数log的帮助信息,所用命令是( help log )。
5. 要查询在工作空间中定义的变量x的相关信息,可用命令(whos x )。
6. Matlab标识符构成规则是(以字母打头,由字母,数字,下划线组成。
)。
7. Matlab存储数值的默认类型是(双精度浮点形式)。
8. 设x是复数,取x的实部存入变量y的语句是( y=real(x) )。
9. 设x是复数,取x的虚部存入变量y的语句是( y=imag(x) )。
10. 设x是复数,取x的模存入变量y的语句是( y=abs(x) )。
11. 设x是复数,取x的辐角(角度)存入变量y的语句是( y=angle(x)/pi*180 )。
12. 设x是复数,取x的共轭存入变量y的语句是( y=conj(x) )。
13. 设a和b是逻辑型变量,则表达式a+b的类型是( double )。
14. 设a和b是逻辑型变量,则表达式a*b的类型是( double )。
15. 表达式 (3>2)*(5~=5)的类型是(double)。
16. 表达式 (5<2)*120的值是( 0 )。
17. 表达式 (5>2)*(6~=5)的值是(1 )。
18. 表达式 char(65)=='A' 的值是( 1 )。
19. 表达式 char(65)+1 的值是(66 )。
20. 表达式 'A'+1的值是( 66 )。
21. 表达式 'A'+'B' 的值是(131 )。
22. 存储double型数据占用内存(8 )字节。
23. 存储single型数据占用内存( 4 )字节。
中南大学材料学院MATLAB考试重点题目(老师在最后几节课勾的题目汇总)
P28num0=1.785e-3;>>a=0.03368;>>b=0.000221;>>t=0:20:80;>>a=num0./(1+a*t+b*t.^2)a=0.00180.00100.00070.00050.0003 P88[x,y]=meshgrid(-2:0.2:2,-2:0.2:2);>>z=x.*exp(-x.^2-y.^2);>>[px,py]=gradient(z,0.2,0.2);>>contour(z);>>hold on>>quiver(px,py)P101>>x=1:0.01*pi:2*pi;>>y=cos(x);>>z=sin(x);>>plot(x,y,'-.rd',x,z,'--k')P104>>x=1:10;>>y=rand(10,1); >>bar(x,y);>>x=0:0.1*pi:2*pi; >>y=x.*sin(x); >>feather(x,y)P105>>x=[2,4,6,8];>>pie(x,{'math','english','chinese','music'});P107>>[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);>>z=x.*exp(-x.^2-y.^2); >>plot3(x,y,z)P109x=-8:0.5:8;y=x';a=ones(size(y))*x;b=y*ones(size(x));c=sqrt(a.^2+b.^2)+eps;z=sin(c)./c;mesh(z)P110[X,Y]=meshgrid([-4:0.5:4]);%也可以是meshgrid(-4:0.5:4,-4:0.5:4) Z=sqrt(X.^2+Y.^2);meshc(X,Y,Z)p113x=0:pi/20:pi*3;r=5+cos(x);[a,b,c]=cylinder(r,30); mesh(a,b,c)P113[a,b,c]=sphere(40);t=abs(c);surf(a,b,c,t);axis('equal')axis('square') colormap('hot')P118x=1:0.1*pi:2*pi;y=sin(x);plot(x,y);xlabel('x(0-2\pi)','FontWeight','bold') ylabel('y=sin(x)','FontWeight','bold') title('正弦函数')P123x=0:0.01*pi:2*pi;y=cos(x);z=sin(x);plot(x,y,'-*')hold onplot(x,z,'-o')plot(x,y+z,'-h')legend('sin(x)','cos(x)','sin(x)+cos(x)',0)hold off%这里的hold off主要是等下次调用时,以上的两个图形将不再保留P124x=0:0.1*pi:2*pi;subplot(2,2,1);plot(x,sin(x),'-*');title('sin(x)');subplot(2,2,2);plot(x,cos(x),'-o');title('cos(x)');subplot(2,2,3);title('sin(x).*cos(x)');plot(x,sin(x).*cos(x));%注意x是数组,故用sin(x)与其他表达式相乘的时候也要表达成sin(x).*cos(x)subplot(2,2,4);plot(x,sin(x)+cos(x),'-k');title('sin(x)+cos(x)');P222x=0:0.1:10;y=sin(x);xi=0:.25:10;yi=interp1(x,y,xi);%注意是插值法函数interp1 plot(x,y,'o',xi,yi)P227x=[0.5,1.0,1.5,2.0,2.5,3.0];y=[1.75,2.45,3.81,4.80,8.00,8.60];a=polyfit(x,y,2)x1=[0.5:0.05:3.0];y1=a(3)+a(2)*x1+a(1)*x1.^2;plot(x,y,'*')hold onplot(x1,y1,'-r')P228x=[1925313844];y=[19.032.349.073.398.8];x1=x.^2x1=[ones(5,1),x1']ab=x1\y'x0=[19:0.2:44];y0=ab(1)+ab(2)*x0.^2;clf%这里的clf是清除以前的图片plot(x,y,'o')hold onplot(x0,y0,'-r')P233function y=fun(t)y=exp(-0.5*t).*sin(t+pi/6);%注意这边有点,当数组与数组相乘时,其中一个数组应表达成有.的形式d=pi/1000;>>t=0:d:3*pi;>>nt=length(t);>>y=fun(t);>>sc=cumsum(y)*d;>>scf=sc(nt)scf=0.9016z=trapz(y)*dz=0.9008P237function f=fun(x)f=exp(-x/2);%编写函数时让系统自动形成m文件quadl('fun',1,3,1e-10)ans=0.7668P244x=sym('x');>>diff(sin(x^2))ans=2*cos(x^2)*xP274function f=f(x,y)f=[-21;998-999]*y+[2*sin(x);999*(cos(x)-sin(x))]; >>ode23('f',[010],[2,3]);刚性比>>a=[-21;998-999];>>b1=max(abs(real(eig(a))));>>b2=min(abs(real(eig(a))));>>s=b1/b2s=1000P275>>dsolve('Df=f+sin(t)','f(pi/2)=0')ans=-1/2*cos(t)-1/2*sin(t)+1/2*exp(t)/(cosh(pi)+sinh(pi))^(1/2) >>dsolve('D2y=-a^2*y','y(0)=1,Dy(pi/a)=0')ans=cos(a*t)S=dsolve('Dx=y','Dy=-x','x(0)=0','y(0)=1')S=x:[1x1sym]y:[1x1sym]>>S.xans=sin(t)>>S.yans=cos(t)几点对dsolve的解释dsolve('Dy=x+1','y(0)=0')ans=x*t+t%此时matlab软件自动将t看为默认变量,而将x看成一个常数P246a=[0.40960.12340.36780.29430.22460.38720.40150.11290.36450.19200.37810.06430.17840.40020.27860.3927];>>b=[0.40430.15500.4240-0.2557];>>a\bans=-0.1819-1.66302.2172-0.4467P265function y=fc(x)y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));x0=[0.50.5];>>fsolve('fc',x0)%这里的x0为初始值ans=0.52650.5079比较fzero函数例如求x^2+x-1=0的解fzero('x^2+x-1',0.5)%这里的0.5是初始值,初始值只是影响运行时间,对算出的结果影响不大ans=0.6180P307x=[0.2360.2380.2480.2450.2430.2570.2530.2550.2540.2610.2580.2640.2590.2670.262];anova1(x')%anova1是一个对单因素试验的方差分析,它返回的是原假设均值相等的几率值ans=1.3431e-005P308x=[58.200056.200065.300052.600041.200060.800049.100054.100051.600042.800050.500048.400060.100070.900039.200058.300073.200040.700075.800058.200048.700071.500051.000041.4000];anova2(x,2)ans=0.00350.02600.0001P309x=[100:10:190];>>y=[45515461667074788589];>>[a,b]=polyfit(x,y,1)a=0.4830-2.7394b=R:[2x2double]df:8normr:2.6878>>plot(x,y,'*')>>hold on>>y=a(1)*x+a(2);>>plot(x,y)P265Fsolve的功能function y=fc(x)y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));y=[y(1)y(2)];x0=[0.50.5];>>fsolve('fc',x0)ans=0.52650.5079P310>>x=normrnd(0,1,100000,1);>>normplot(x)练习题1.求函数在指定点的数值导数x=sym('x');>>y=[x x.^2x.^3;12*x3*x.^2;026*x];>>x=1;>>eval(diff(y))ans=123026006>>x=2;>>eval(diff(y))ans=14120212006>>x=3;>>eval(diff(y))ans=162702180062.求下列函数导数(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.25003.用数值方法求下列积分首先先讲一下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.4471.9783.286.167.087.347.669.569.489.3011.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=0.9503 4.38757.03988.90739.989910.2876。
Matlab课程复习大纲含答案.doc
计算机仿真技术-Matlab应用复习大纲1、产生一个3行4列几在(0,1)Z间均匀分布的随机矩阵A,其命令为_rand(3,4) __________ ;2、将一个5行6列的A矩阵中的第4列所有元素提取岀来赋值给B,其命令为_B=A(: ,4) ___________ ;3、将一个5行6列的A矩阵中的第5行所有元素提取出来赋值给B,其命令为_B=A(5 ,:) _____________ ;4、将一个5行6列的A矩阵屮的第2行到第4行,第3列和第5列所有元索提取出來赋值个B,其命令为_B=A(2:4,3:2:5) ___________ ;5、用一条命令将一个5行6列的A矩阵中的第2行,第4行,第5行所冇元素提取出来赋值个B,其命令为_B=A ([2,4,5],:) _____________ ;6、用一条命令将一个5行6列的A矩阵中的第2列,第4列,第5列所有元素提取出來赋值给B,具命令为B=A(:,[2,4,5]) ____________ ;7、用一条命令将一个5行6列的A矩阵中的第8个元索提取出來赋值给D,其命令为—B=A(8) _________ ;8、用一条命令将一个5行6列的A矩阵中的第8个到第15个元素提取出来赋值给D,其命令为_B=A(8:15) _________ ;9、产生3x4的均匀分布随机数矩阵R,要求其元素在2到14之间取幣数,实现其结果的命令是」'andint(3,4,[2 14]) _________________ 。
9、产生一个5行6列的单位矩阵C,其命令为_C=eye(5,6) ____________ :10、___________________________________________________________提取矩阵A的对角线元素赋值给B,其命令为_B=diag(A) ____________________________________ ;已知A=[5 4 1;20 1;3 5 1],贝ij diag(A r l)= ________ [2 5] _______ , triu(A,l)=[0 4 1;0 0 1;0 00] ___________ ,tril(A,l)=[5 4 0;2 0 1;3 5 1] __________11、已知矩阵A=[2 3 4;5 1 2;2 0 1],则A(3)=_2_, A(6)=—0_。
中南大学matlab课后习题(1)
第二章1·求下列表达式的值。
(1)w=sqrt(2)*(1+0.34245*10^-6)w=1.4142(2)a=3.5;b=5;c=-9.8;x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);xx =0.9829(3)a=3.32;b=-7.9;y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a];yy=-128.4271(4)t=[2,1-3i;5,-0.65];z=1/2*exp(2*t)*log(t+sqrt(1+t^2));zz=1.0e+004*0.0057 - 0.0007i 0.0049 - 0.0027i1.9884 -0.3696i 1.7706 - 1.0539i2,已知a,b,求下列表达式的值。
a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*bans=4723-1012 3726-15 73 7a^2-b+eye(3)ans=-18 -217 1722 533 10921867 526(2)a*bans=14 14 16-10 51 21125 328 180a.*bans =-8 15 40 35 24-9 122 0b*aans =-110-157 228533 -1 28(3)a/bans =1.2234 -0.9255 2.9787-0.9468 2.3511 -0.95744.6170 3.8723 13.8936b\aans =-0.5106 -8.6170 -1.12770.7340 17.5745 1.8085-0.8830 -21.2128 0.4043(4)[a,b]ans=-1 5 -4 8 3 -10 7 8 2 5 3361 7 -3 2 0[a([1,3],:);b^2]ans =-15 -43 61 773 37 117 37 13-20 1 93.已知a,完成下列操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/3/3
11
2、利用非线性方程组的符号法求解如下方程组:
x1 0.7sin x1 0.2cos x2 0
x2 0.7 cos x1 0.2sin x2 0
在(0.5,0.5)附近的解。
(a)
a) x1=0.5265 x2=0.5079
b) x1=0.5079 x2=0.5265
ans =
x0=[0.5 0.5] >> fsolve('fc',x0)
0.5265 0.5079
2020/3/3
10
九、方程符号求解
1 求微分方程 y(0)=0的解
x
d2 y dx2
3
dy dx
x2
,y(1)=0,
(c)
a)x^4/5 - x^3/4 b)x^3/3 - x^2/3 c) x^4/3 - x^3/3 d) x^4/5- x^3/4
>> [x,y]=dsolve('Dx=y,Dy=x','t')
2020/3/3
9
非线性方程的符号注解
语法: fsolve(‘fun’, x0) (1)fun为所要求解的函数名,常以M文件形式给出; (2)X0为初始向量或矩阵
Fc.m function y=fc(x) y(1)=x(1)-0.7*sin(x(1))0.2*cos(x(2)); y(2)=x(2)0.7*cos(x(1))+0.2*sin(x(2)); y=[y(1) y(2)]
2020/3/3
8
【例
】 求微分方程
x
d2 y dx2
3
dy dx
x2
,y(1)=0,y(0)=0的解。
>> y=dsolve('x*D2y3*Dy=x^2','x')
%求微分方程的通解
y=
C3*x^4 - x^3/3 + C2
>> y=dsolve('x*D2y3*Dy=x^2','y(1)=0,y(0)=0','x') %求微分方程的特解
-x+10y-2x=7
-2x+10z=6 的解
2020/3/3
5
2020/3/3
6
九、方程符号求解
2020/3/3
7
符号常微分方程
MATLAB提供了dsolve命令,可以用于对符号常微分方程进行求解。
语法:
dsolve('eq', 'con', 'v') dsolve('eq1,eq2…', 'con1,con2…', 'v1,v2…')
(1)当y是因变量时,微分方程'eq'的表述规定为:
y的一阶导数
dy dx
或dy
dt
表示为Dy;
%求解微分方程 %求解微分方程组
y的n阶导数 dn y 或dn y 表示为Dny。
dxn dtn
(2)微分初始条件'con'应写成'y(a)=b,Dy(c)=d'的格式;当初始条件少于
微分方程数时,在所得解中将出现任意常数符C1、C2……,解中任意常数符的数目 等于所缺少的初始条件数。
c) x1=0.6265 x2=0.7079
d) x1=0.7079 x2=0.6265
2020/3/3
12
1 对于圆周率值,若取值为3.1415,则其
有数字为
(b)
a、3位
b、4位
c、5位 d、2位
2020/3/3
13
2020/3/3
14
2下面的MATLAB语句中正确的有:(cd)
a) a=sin(x)
2020/3/3
20
3 试用一个二次多项式拟合下列数据 x 0.5 1.0 1.5 2.0 y 1.75 2.45 3.81 4.80
2.5 8.00
3.0 8.60
(d)
a) 0.4600 1.8601 0.9730 b) 0.8400 2.9401 0.85608 c) 0.4900 1.8601 0.9730 d) 0.4900 1.2501 0.8560
(a) return; (b) break (c) continue (d) keyboad
2020/3/3
17
二、多项式及其运算
2020/3/3
18
二、多项式及其运算
1 求多项式 x4 12x3 25x 116 在x=3,8处的值
a)-52 -1730
(c)
b) -54 -1732
c) [4 19 3;21 75 54; 22 72 72]
d) [6 25 63;0 36 18; 1 15 0]
2020/3/3
23
(b) 2、求数组b=[1 2 3;4 5 6;7 8 9]的指数运算
b)Record-1=3+4i
c) a=sin(pi)
d) C=1+6j
2020/3/3
15
3 符合MATLAB变量命名规则的有a) var!205 b)VAR15(b)
c)my-var2015 d)2015_VAR
2020/3/3
16
4在循环结构中跳出循环,但继续下次循环
的命令为
(c)
c) -52 -1732
d) -54 -1730
2020/3/3
19
2 计算多项式x3+11x2+55x+125 在x=[1
2;3 4]的矩阵计算值
(a)
a)[192 287;416 585]
b)[190 285;406 582]
c)[194 292;422 580]
d)[192 288;420 580]
习题课
Any 函数
判断元素是否为非零元素any(v),如果v是 非零元素返回true(即1)否则返回flase(即 0)
如果A是矩阵,则把矩阵的列当做向量来处 理,函数返回每个列向量的逻辑值
2020/3/3
2
2020/3/3
3
Magic函数
2020/3/3
4
线性方程组求解
试求数值方程组 10x-y=9
2020/3/3
21
三、矩阵及数组代数运算
2020/3/3
22
三、矩阵及数组代数运算
1、已知A=[0 9 6;1 3 0;3 5 7];B=[1 4 3;1 5 0;2 5
9], 则A.*B
(b)
a) [21 75 54; 4 19 3; 22 72 72]
b) [0 36 18; 1 15 0; 6 25 63]
y=
x^4/3 - x^3/3
【例 】 求微分方程组
dx y, dy x dt dt
的解。
>> [x,y]=dsolve('Dx=y,Dy=x') x= C8*cos(t) + C7*sin(t) y= C7*cos(t) - C8*sin(t)
程序分析:默认的自由变量是t,C1、C2为任意常数,程序也可指定自由变量, 结果相同: