用matlab求解:dy=(y^2+xy)/x^2,y(1)=1,计算x=1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0的精确解的程序

问题描述:

用matlab求解:dy=(y^2+xy)/x^2,y(1)=1,计算x=1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0的精确解的程序

clear
clc
syms t
y=dsolve('Dy = (y^2+t*y)/t^2','y(1) = 1')
%计算x=1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0的精确解
%以对应顺序数组形式给出
format rat
yval=[];
for i=1:10
ti=1+0.1*i;
yval=[yval ; subs(y,t,ti)];
end
yval
运算结果:
y =
-t/(log(t)-1)
yval =
597/491
2059/1403
1565/888
1593/755
2031/805
2717/900
2021/558
131/30
7077/1334
1649/253
>>
注:matlab默认变量时t,你把表达式中的 t 换成 x 就行了