资源描述:
《50个延安相关的故事资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《数学建模》课程作业题第七章MATLAB(4)1.创建符号函数都有那几种方法?在数值计算中,包括输入、输出及中间变量都是数值变量。而在符号运算过程中,变量都以字符形式保存和运算,即使是数字也被当成字符来处理。创建符号函数f=‘log(x)’用sym命令来创建f=sym(‘sin(x)’)f=sym(‘a*x^2+b*x+c=0’)用sym命令创建的另一种方式symsxf=sin(x)+cos(x)2.如何创建符号方程和符号微分方程?、创建符号方程equation=‘a*x^2+b*x+c=0’创建符号微分方程diffeq=‘Dy-y=x’3.符号和数值之间转换都有那几种方式?符号运算
2、得到的是精确的数值解,有时候要对得到的解析解进行数值转换。主要有三个函数:digits,vpa,subs(变量替换函数)。Digits(D):函数设置有效数字个数为D的近似解精度.Vpa(s):符号表达式s在digits函数设置下的精度的近似解.Vpa(s,D):符号表达式s在digits(D)精度下的近似解.Subs(s,old,new):将符号表达式中old的换成new变量.4.如何进行极限、微分、差分计算?符号极限limit(f,x,a)%f在xàa时的极限limit(f)%f在xà0时的极限limit(f,x,a,right)%右极限limit(f,x,a,left)%左极限
3、微分函数diffsymsxy;diff(sin(x^2))%求函数的一阶导数diff(sin(x*y),x)diff(sin(x*y),x,2)%关于x求二阶导数5.如何进行积分运算?(1)不定积分f1=int(cos(x))%关于x积分f2=int(cos(x*t),t)%关于t积分(2)定积分x=int(x^2,0,1)1.如何求解非线性方程组?(1).非线性方程求解:solve(‘fun’),求得解析解x=solve(‘x^2+3*x+4=0’)%得解析解x1=vpa(x,6)%化为数值解(2).非线性方程组求解fsolve(‘fun’,x0)fun由M文件给出函数,x0为初值
4、,是一种迭代解法.2.如何进行微分方程求解?求解常微分方程的解析解,用函数dsolve(‘equation’)8.编写如下问题的M文件7.3.1MATLAB中实现符号计算功能有哪几种途径?(1)通过调用Matlab自己开发的各种功能函数进行常用的符号运算。如符号矩阵的运算、符号微分方程求解等等。(2)Matlab语言中的符号计算功能已经很强大了,但为了给一些特殊专业的人员提供方便,Matlab还保留着Maple.m和mpa.m两个函数与Maple的接口,以便实现更多的功能。3)对那些用惯了计算器的用户来说,Matlab同样是最佳的选择,因为Matlab还提供了符号函数计算器(Func
5、tionCalculator)。计算器上不超过两个符号函数的基本运算和微积分运算的功能,而且还有函数可视化图形窗。7.3.2求函数的极限.(1),clear;clc;symsx;f=(x^2-6*x+8)/(x^2-5*x+4);a=limit(f,x,4);disp(a);2/3(2),clear;clc;symsx;f=abs(x)/x;a=limit(f,x,0);disp(a);NaN极限不存在(3)clear;clc;symsx;f=(sqrt(1+x^2)-1)/x;a=limit(f,x,0);disp(a);(4).clear;clc;symsx;f=x+1/x;a=
6、limit(f,x,inf);disp(a);Inf无穷大7.3.3求不定积分.(1),clear;clc;symsxa;f=1/(x+a);int(f,x)ans=log(a+x)(2),clear;clc;symsx;f=(1-3*x)^(1/3);int(f,x)ans=-(1-3*x)^(4/3)/4(3),clear;clc;symsx;f=1/(sin(x)*cos(x))^2;int(f,x)ans=-2*cot(2*x)(4).clear;clc;symsxa;f=x^2/sqrt(a^2+x^2);int(f,x)ans=(x*(a^2+x^2)^(1/2))/2-
7、(a^2*log(x+(a^2+x^2)^(1/2)))/27.3.4求非线性方程的解析解.(1)clear;clc;symsabcx;x=solve('a*x^2+b*x+c=0','x');disp(x);-(b+(b^2-4*a*c)^(1/2))/(2*a)-(b-(b^2-4*a*c)^(1/2))/(2*a)(2)symsx;x=solve('2*sin(3*x-pi/4)=1','x');disp(x);(5*pi)/36(13*pi)/36