mdsk.net
当前位置:首页 >> mAtlAB求方程的数值解 >>

mAtlAB求方程的数值解

fun=@(x,y)y.*log10(y)-x创建关于x,y的匿名函数 log10(x)由于Matlab中自然对数的符号是log(与我们数学上的不同),以10为底的对数符号是log10,同理有log2,但是没有log3等哦 vpa将得到的符号解转化为指定精度的小数,比如vpa('sqrt(2)',10)

solve函数可以解方程(组)比如x=solve('x^3+x=10')[a,b]=solve('a+b=5','a-b=1')

该联立方程组的数值解,可以用fsolve()函数来求解.求解过程如下:func=@(x)[(x(1)/9.5)^(1/(x(2)^2 - 1) - 1)/(9.5*(x(2)^2 - 1))-0.24191/(9.5*0.24191+2.2561) (x(1)/9.5)^(1/(x(2)^2 - 1))-(x(1)*(x(1)/9.5)^(1/(x(2)^2 - 1) - 1))/(9.5*(x(2)^2 - 1))-2.2561/(9.5*

x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函数,x就是解 比如解方你的方程可定义一个函数 function y=f(x) y=(ln(0.2-x)-ln(0.04-x))/(ln(0.2-x)-ln(0.013-x))-0.55 再到主界面 x=fsolve(@f,0) 0是初始值 也可直接使用 fsolve(@(x)([(log(0.2-x)-log(0.04-x))/(log(0.2-x)-log(0.013-x))-0.55]),0)

与正常的方法一样,ax=ba是系数矩阵,b是结果矩阵x=a\b由于a是不满秩的,a的行数大于列数,此时左除运算就是求最优解

这是你们老师出的题目吧,这个例子在好多书上都出现过.具体如下:function dydt = vdp1(t,y)dydt = [y(2); (1-y(1)^2)*y(2)-y(1)];end保存函数文件[t,y] = ode45(@vdp1,[0 20],[2; 0]);%This example uses @ to pass vdp1 as a function handle to ode45.

> syms a1 a2 c1 c2 %以下的值你自己改一下aa1=1; cc1=2; aa2=3; cc2=4; [x5,y5]=solve('y5=a1*x5+c1','y5=a2*x5+c2','x5','y5'); xx5=subs(subs(subs(subs(x5,a1,aa1),a2,aa2),c1,cc1),c2,cc2) yy5=subs(subs(subs(subs(y5,a1,aa1),a2,aa2),c1,cc1),c2,cc2)%%%%%subs(表达式,变量,变量的值),就是将表达式里面的变量,用变量的值代进去.

程序:syms fy=sqrt(2*(e/4+p/(2*x)-(m^2-1)/(8*x^2)-W/8*x));int(f,x,下限,上限);OK了.注:一曝晒龙=W纯手打,望采纳,谢谢

调用方法:[t,x]=ode45(@eqx,[00.2],[011.11.25])x的初始值写在一个矩阵里. 另外你的函数定义时k少一维k(4),我给你加了一个:functionxdot=eqx(t,x); m=0.5; alf=0.15; k=[0.0265,0.1,0.15,0.12]; q=20; a=0.8; xdot=zeros(4,1); xdot(1)=q-alf*x(1)*x(2)+

1、在文件编辑区建立待求方程组文件并保存:function y=fun(x)y=[0.56-1.1018*x(1)*(exp(-0.1855014*x(2))-exp(-2.007944*x(2))),0.4-1.1018*x(1)*(exp-0.1855014*(x(2)+2)-exp(-2.007944*(x(2)+2)))]2、在malab命令窗口求解:clearx0=[0.1 0.1];fsolve(@

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com