《MATLAB语言与数学运算》练习答案

上传人:宝路 文档编号:8725851 上传时间:2017-09-29 格式:DOC 页数:23 大小:5.21MB
返回 下载 相关 举报
《MATLAB语言与数学运算》练习答案_第1页
第1页 / 共23页
《MATLAB语言与数学运算》练习答案_第2页
第2页 / 共23页
《MATLAB语言与数学运算》练习答案_第3页
第3页 / 共23页
《MATLAB语言与数学运算》练习答案_第4页
第4页 / 共23页
《MATLAB语言与数学运算》练习答案_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《《MATLAB语言与数学运算》练习答案》由会员分享,可在线阅读,更多相关《《MATLAB语言与数学运算》练习答案(23页珍藏版)》请在金锄头文库上搜索。

1、MATLAB 语言与数学运算实验课程任务书一、实验教学目标与基本要求上机实验是本课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB 语言求解问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。上机学时为4学时,主要内容是基于上课内容对课后典型习题应用MATLAB进行求解,基本掌握常见数学问题的求解方法与命令调用,更深入地认识和了解MATLAB语言的强大的计算功能。上机实验最终以书面报告的形式提交,作为期末成绩的考核内容。二、实验内容(4 学时)第一部分MATLAB 语言编程、科学绘图

2、与基本数学问题求解( 4 学时)主要内容:掌握MATLAB 语言编程、科学绘图、微积分、线性代数问题等基本数学问题的求解与应用。练习题:1、安装MATLAB 软件,应用demo 命令了解主要功能,熟悉基本功能,会用help 命令。2、用MATLAB 语句输入矩阵A 和B 矩阵前面给出的是4 4 矩阵,如果给出A(5,6) = 5 命令将得出什么结果?答案:3、假设已知矩阵A,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。答案:4、用数值方法可以求出,试不采用循环的形式求出和式的数值解。由于数

3、值方法采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用符号运算的方法求该和式的精确值。5、答案;答案:答案:1、2、3、答案:答案:ans =1编写一个vander()函数如下:function A=vander(v)n=length(v);v=v(:);A=sym(ones(n);for j=n-1:-1:1,A(:,j)=v.*A(:,j+1);end将此函数存放在 c:MATLAB6p5work下,然后开始运行工作命令即可。需要编写funm()与diagm()函数如下:function F=funm(A,fun,x)V,J=jordan(A); v1=0,

4、diag(J,1);v2=find(v1=0), length(v1)+1;for i=1:length(v2)-1v_lambda(i)=J(v2(i),v2(i); v_n(i)=v2(i+1)-v2(i); endm=length(v_lambda); F=sym();for i=1:mJ1=J(v2(i):v2(i)+v_n(i)-1,v2(i):v2(i)+v_n(i)-1);fJ=funJ(J1,fun,x); F=diagm(F,fJ);end F=V*F*inv(V);function A=diagm(A1,A2)A=A1; A(size(A1,1)+1:size(A1,1)+

5、size(A2,1),size(A1,2)+1:size(A1,2)+size(A2,2)=A2;function fJ=funJ(J,fun,x)lam=J(1,1); f1=fun;fJ=subs(fun,x,lam)*eye(size(J);H=diag(diag(J,1),1); H1=H;for i=2:length(J)f1=diff(f1,x); a1=subs(f1,x,lam);fJ=fJ+a1*H1; H1=H1*H/i;end第二部分数学问题求解与数据处理(4 学时)主要问题:掌握代数方程与最优化问题、微分方程问题、数据处理问题的MATLAB 求解方法。练习题:5、用数值

6、求解函数求解下述的方程的根,并对得出的结果进行检验。OPT=optimset;OPT.Gradobj=on; 注:求解精度le-10,le-20 不好用可以不要。写OPT语句即可,得到相同结果:OPT=optimset写目标函数: function y=exc6fun6(x) y=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);写约束条件:function c,ce=exc6fun6a(x)ce=;c=x(1)+x(2); x(1)*x(2)-x(1)-x(2)+1.5; -10-x(1)*x(2);A=; B=; Aeq=; Beq=; xm=

7、-10; -10; xM=10; 10;x0=(xm+xM)/2;ff=optimset; ff.TolX=1e-10; ff.TolFun=1e-20; x=fmincon(exc6fun6,x0,A,B,Aeq,Beq,xm,xM,exc6fun6a,ff)Warning: Large-scale (trust region) method does not currently solve this type of problem,switching to medium-scale (line search). In C:MATLAB6p5toolboxoptimfmincon.m at

8、line 213Maximum number of function evaluations exceeded;increase OPTIONS.MaxFunEvalsx =0.41950.4195编写一个M文件如下:(不要加上function语句)i=1; x=x0;while (1)x,a,b=fmincon(exc6fun6,x,A,B,Aeq,Beq,xm,xM,exc6fun6a,ff);if b0, break; endi=i+1;end给M函数起个名字如:kk,回到工作页调用。 kk x,ix =1.1825-1.7398i =533f=-592 381 273 55 48 37 23; A=3534 2356 1767 589 528 451 304;B=119567; intlist=1;1;1;1;1;1;1;ctype=-1; xm=zeros(7,1);xM=inf*ones(7,1); res,b=ipslv_mex(f,A,B,intlist,xM,xm,ctype)12、试选择状态变量,将下面的非线性微分方程组转换成一阶显式微分方程组,并用MATLAB对其求解,绘制出解的相平面或相空间曲线。上图为微分方程的解13、考虑简单的线性微分方程且方程的初值为试用Simulink 搭建起系统的仿真模型,并绘制出仿真结果曲线。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号