慕课matlab学习 第七章-041

第七节-Matlab符号计算

04-符号方程求解








%   1、代数方程符号求解
%   2、常微分方程符号求解



% 在MATLAB中,求解用符号表达式表示的代数方程可由函数solve( )
% 实现,其调用格式为:
%solve(s): 求解符号表达式s的代数方程,求解变量为【默认变量】。
%solve(s,v): 求解符号表达式s的代数方程,求解【变量为v】。
%solvel(s1,2...,sn,vl,v.,..,vn): 求解符号表达式s1,s2,.. sn
% 组成的代数方程组,求解【变量分别为v1, v2,..Vn】。

% eg 求解方程 ax^2+bx+c==0
syms x y a b c
solve(a*x^2+b*x+c==0)   %系统默认变量x
solve(a*x^2+b*x+c==0,x) %指定变量x
f=a*x^2+b*x+c==0
solve(f)

solve(a*x^2+b*x+c)   %系统默认变量x 
f=a*x^2+b*x+c
solve(f)            %系统默认变量x ,求解的是 f=0的解

% x+y=98
% x^(1/3)+y^(1/3)==98
syms x y
[u,v]=solve(x+y==98,x^(1/3)+y^(1/3)==2) %这里计算无解
%但是,实际的计算结果是有解的

%变量替换带入进行求解
u=solve(x+(2-x^(1/3))^3==98)  %求出x=u
v=98-u   %求出y


% 常微分方程符号求解
% 在MATLAB中,用大写字母D表示导数。
% 例如:
% Dy表示y',D2y表示y",Dy(0)=5表示y'(0)=5% D3y+D2y+Dy-x+5=0表示微分方程y"+Y"+y'-x+5=0% dsolve(e,c,v)
% 用于求解常【微分方程e】在【初值条件c】下的特解.参数【v是】方程中的【自变量】,
% 省略时按默认原则处理,若【没有给出初值条件c】,则【求方程的通解】。


% dsolve在求常微分方程组时的调用格式为:
% dsolve(el,e2, .en,cl,2...,cn,v).
% 用于求解常微分方程组e1, e2,.. en在初值条件c1,c2,,. cn
% 下的特解,若不给出初值条件,则求方程组的通解。v给出求解变量,
% 如果没有指定自变量,则采用默认自变量t。


syms x y t;
y=dsolve('Dy-(x^2+y^2)/x^2/2',x) %求得y的通解
%
[x,y]=dsolve('Dx=4*x-2*y','Dy=2*x-y',t) %求得 x 和 y 关于t的通解


% 应用问题
% 疾病传染病问题
% 700()








你可能感兴趣的:(Matlab)