如何用matlab求解二阶微分方程,以及程序实例

如何用matlab求解二阶微分方程,以及程序实例,第1张

1、首先看一下matlab求解方程的方法,首先指明所解方程的变量,然后指明方程,未知数和限制条件,最后求解方程。

2、在matlab命令行窗口中输入symsx[x,params,conds]=solve(sin(x)==1,'ReturnConditions', true),按回车键可以得到方程解。

3、转换一下,可以看到sin(x)=1方程的解是如下图所示 。

4、也可以求解下面的一个方程。

5、输入symsabcyx;[x,y]=solve([a*x^2+b*y+c==0,a*x+2*y==4],[x,y])。

6、按回车键可以得到方程解。

出错原因:下列的函数表达式定义错误,

x=fmincon('((-3*x(1)+2*x(2)+fval1)^2+(4*x(1)+3*x(2)+fval2)^2)^(1/2)',x0,A,b,[],[],lb,[])

纠正方法,用句柄函数来定义函数表达式,即

@(x)((-3*x(1)+2*x(2)+fval1)^2+(4*x(1)+3*x(2)+fval2)^2)^(1/2)

完整写法如下,

x=fmincon(@(x)((-3*x(1)+2*x(2)+fval1)^2+(4*x(1)+3*x(2)+fval2)^2)^(1/2),x0,A,b,[],[],lb,[])

更改后运行,可得到

x1 =    0.1756;x2=    5.8829


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10984865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存