建模作业MAAB.docx
《建模作业MAAB.docx》由会员分享,可在线阅读,更多相关《建模作业MAAB.docx(6页珍藏版)》请在冰豆网上搜索。
![建模作业MAAB.docx](https://file1.bdocx.com/fileroot1/2022-11/17/fba549a2-2150-46da-b940-faa4a83b7bf3/fba549a2-2150-46da-b940-faa4a83b7bf31.gif)
建模作业MAAB
《数学建模》课程作业题
第七章MATLAB(4)
1.创建符号函数都有那几种方法?
在数值计算中,包括输入、输出及中间变量都是数值变量。
而在符号运算过程中,变量都以字符形式保存和运算,即使是数字也被当成字符来处理。
创建符号函数f=‘log(x)’
用sym命令来创建
f=sym(‘sin(x)’)
f=sym(‘a*x^2+b*x+c=0’)
用sym命令创建的另一种方式
symsx
f=sin(x)+cos(x)
2.如何创建符号方程和符号微分方程?
、
创建符号方程
equation=‘a*x^2+b*x+c=0’
创建符号微分方程
diffeq=‘Dy-y=x’
3.符号和数值之间转换都有那几种方式?
符号运算得到的是精确的数值解,有时候要对得到的解析解进行数值转换。
主要有三个函数:
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)%左极限
微分函数diff
symsxy;
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)
6.如何求解非线性方程组?
(1).非线性方程求解:
solve(‘fun’),求得解析解
x=solve(‘x^2+3*x+4=0’)%得解析解
x1=vpa(x,6)%化为数值解
(2).非线性方程组求解fsolve(‘fun’,x0)
fun由M文件给出函数,x0为初值,是一种迭代解法.
7.如何进行微分方程求解?
求解常微分方程的解析解,用函数
dsolve(‘equation’)
8.编写如下问题的M文件
7.3.1MATLAB中实现符号计算功能有哪几种途径?
(1)通过调用Matlab自己开发的各种功能函数进行常用的符号运算。
如符号矩阵的运算、符号微分方程求解等等。
(2)Matlab语言中的符号计算功能已经很强大了,但为了给一些特殊专业的人员提供方便,Matlab还保留着Maple.m和mpa.m两个函数与Maple的接口,以便实现更多的功能。
3)对那些用惯了计算器的用户来说,Matlab同样是最佳的选择,因为Matlab还提供了符号函数计算器(FunctionCalculator)。
计算器上不超过两个符号函数的基本运算和微积分运算的功能,而且还有函数可视化图形窗。
(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=limit(f,x,inf);
disp(a);
Inf无穷大
(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-(a^2*log(x+(a^2+x^2)^(1/2)))/2
(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
(3)
symsx;
x=solve('sin(x)-sqrt(3)*cos(x)=sqrt
(2)','x');
disp(x);
-log((2^(1/2)*(-1-1i))/(3^(1/2)+1i))*1i
-log((2^(1/2)*(-1+1i))/(3^(1/2)+1i))*1i
(4)
symsx;
x=solve('x^2+10*(x-1)*sqrt(x)+14*x+1=0','x');
disp(x);
(2^(1/2)-1)^2
(17^(1/2)-4)^2
[x,y]=dsolve('Dx=3*x+4*y','Dy=5*x-7*y','x(0)=0,y(0)=1','t')
x=-exp(t*(3*5^(1/2)-2))*((3*5^(1/2))/5+1)*(5^(1/2)/6-1/2)-(5^(1/2)*exp(-t*(3*5^(1/2)+2))*(3*5^(1/2)+5)*((3*5^(1/2))/5-1))/30
y=(5^(1/2)*exp(-t*(3*5^(1/2)+2))*(3*5^(1/2)+5))/30-exp(t*(3*5^(1/2)-2))*(5^(1/2)/6-1/2)
x3.y3+3x3的图形.
clear;
clc;
symsxy;
ezplot('5*x^3*y^3+3*x^3')