matlab数值区间
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/02 16:38:47
eq=@(y)(2.53e-7*y-5.6e-5)./(0.2872+5.85-0.019*y).*y/1.1.*exp(-0.5*y.^2/1.1);quad(eq,222,300)ans=0
结果:代码:clearallclcf=@(x,y)([y(2); 0.357*y(1)-0.1905*y(1)*y(2)]);[x,Y]=ode45(f,[0100]
=eval(x)
这个如果点列很密集的话,数值微分就是差分那你就用循环结构咯forii=1:mforjj=1:mdy(ii)=(y(ii+1)-y(ii))/(x(ii+1)-x(ii));endenddy这样每相邻两
h=solve('1+a*x+b*x^2+c*x^3=0');a=1;b=2;c=3;eval(h)ans=-0.78390.0586+0.6495i0.0586-0.6495i或者>>subs(h)
symsa1a2c1c2%以下的值你自己改一下aa1=1;cc1=2;aa2=3;cc2=4;[x5,y5]=solve('y5=a1*x5+c1','y5=a2*x5+c2','x5','y5');
使用quad有问题>>quad('0.0732*exp(-(x+0.02287).^2/64.90)',0,inf)Warning:InfiniteorNot-a-Numberfunctionvalu
你这个式子是没有办法求得解析解的!再问:为什么呢?可否说的清楚点啊,谢谢了。再答:对数函数是没有办法进行解析积分的,这个你应该是知道吧再问:所以我想用数值积分进行求解,譬如给定t的范围(0,100),
你没有给出参数的具体值,我只好编了.functionhhfsolve(@myfun,[100,10])functionf=myfun(x)T=x(1);t=x(2);c1=1;c2=9;a=8;b=3
去问你的老师啥给他打电话不久知道了
symx;v=int(e^(x^2/(-2)),0,1)vpa(v)
x=0;feqn=@(y)y^3+x^2+3*x-2*y-1;y=fzero(feqn,1);这样就可以求出x=0时y的解.不断改变x就可以求出对应的y.
你这个属于边值问题.得用打靶算法.如果想简单,你令一个变量为x=y-2001,就变成正常的微分方程.
m=2;cnt=0;k=1;whileabs(m-k)>10e-10cnt=cnt+1;k=m;m=sqrt(m);s(cnt)=m;endformatlongcntS=s'运行结果:cnt=30S=
%可以先用,%x是你的数据,下面的x=rand(1,20)用来演示x=rand(1,20);y1=x(x>=0.5);%找出大于等于0.5的元素y2=x(x<0.5);%找出小于0.5的元
clear;clc[T,Dxyz]=ode45('sdfd',[012],[0;1;1]);plot(T,Dxyz)--------------------------functiondxyz=sdf
用数值积分函数,可以直接得到结果:>>f=@(x)1./(x.^4+x.^3+x.^2+x+1);>>y=quad(f,1,2)y=0.0888
subs()函数,我也是今天才看到的subs(a+b,a,2)就是把a+b里面的a用2替换subs(x/y,y,3)就是把x/y里面的y用3替换
这个很简单,一个命令就够了:ode45(inline('y-2*y^3*sin(t)','t','y'),3,1)先用inline创建一个内联函数描述微
matlab不会把q=acos((x.^2-1+x.^2.*i^2)./(2*x.^2.*i)); 代入f的改为下面的即可i=2;f=@(x)((x.^2-1).*x.^2.*i.*sin(