matlab可以解连续性方程吗?带有边界条件的连续性方程

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 12:03:34
matlab可以解连续性方程吗?带有边界条件的连续性方程

matlab可以解连续性方程吗?带有边界条件的连续性方程
matlab可以解连续性方程吗?
带有边界条件的连续性方程

matlab可以解连续性方程吗?带有边界条件的连续性方程
求解单个代数方程
我们在前面已经看到,MATLAB具有求解符号表达式的工具.如果表达式不是一个方程式(不含等号),则在求解之前函数solve将表达式置成等于0.
>> solve( ' a*x^2+b*x+c ' ) % solve for the roots of the quadratic eqution
ans=
[1/2/a*(-b+(b^2-4*a*c)^1/2)]
[1/2/a*(-b-(b^2-4*a*c)^1/2)]
结果是符号向量,其元素是方程的2个解.如果想对非缺省x变量求解,solve必须指定变量.
>> solve( ' a*x^2+b*x+c ' ,' b ' ) % solve for b
ans=
-(a*x^2+c)/x
带有等号的符号方程也可以求解.
>> f=solve( ' cos(x)=sin(x) ' ) % solve for x
f=
1/4*pi
>> t=solve( ' tan(2*x)=sin(x) ' )
t=
[ 0]
[acos(1/2+1/2*3^(1/2))]
[acos(1/2=1/2*3^(1/2))]
并得到数值解.
>> numeric(f)
ans=
0.7854
>> numeric(t)
ans=
0
0 + 0.8314i
1.9455
注意在求解周期函数方程时,有无穷多的解.在这种情况下,solve对解的搜索范围限制在接近于零的有限范围,并返回非唯一的解的子集.
如果不能求得符号解,就计算可变精度解.
>> x=solve( ' exp(x)=tan(x) ' )
x=
1.306326940423079
代数方程组求解
可以同时求解若干代数方程,语句solve(s1,s2,.,sn)对缺省变量求解n个方程,语句solve(s1,s2,...,sn,' v1,v2,...,vn ')对n个' v1,v2,...vn '的未知数求解n个方程.
如何处理中小学典型的代数问题?
黛安娜(Diane)想去看电影,她从小猪存钱罐倒出硬币并清点,她发现:
10美分的硬币数加上5美分的硬币总数的一半等于25美分的硬币数.
1美分的硬币数比5美分、10美分以及25美分的硬币总数多10.
25美分和10美分的硬币总数等于1美分的硬币数加上1/4的5美分的硬币数
25美分的硬币数和1美分的硬币数比5美分的硬币数加上8倍的10美分的硬币数多1.
如果电影票价为3.00美元,爆米花为1.00美元,糖棒为50美分,她有足够的钱去买这三样东西?
首先,根据以上给出的信息列出一组线性方程,假如p,n,d和q分别表示1美分,5美分,10美分,和25美分的硬币数
然后,建立MATLAB符号方程并对变量求解.
>> eq1= ' d+(n+p)/2=q ' ;
>> eq2= ' p=n+d+q-10 ' ;
>> eq3= ' q+d=p+n/4 ' ;
>> eq4= ' q+p=n+8*d-1 ' ;
>>[pennies,nickles,dimes,quarters]=solve(equ1,equ2,equ3,equ4,' p,n,d,q ' )
pennies=
16
nickles=
8
dimes=
3
quarters=
15
所以,黛安娜有16枚1美分的硬币,8枚5美分的硬币,3枚10美分的硬币,15枚25美分的硬币,这就意味着
>> money=.01*16+.05*8+.10*3+.25*15
money=
4.6100
她就有足够的钱去买电影票,爆米花和糖棒并剩余11美分.