用matlab求解下列方程?

求大佬帮忙,x值已知,求解y值,我需要算很多组下x,y值,所以不要先将x值代入方程,用matlab来实现。感谢... 求大佬帮忙,x值已知,求解y值,我需要算很多组下x,y值,所以不要先将x值代入方程,用matlab来实现。感谢 展开
 我来答
lhmhz
高粉答主

2019-11-17 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:17002

向TA提问 私信TA
展开全部

题主的问题,可以用fsolve函数和for循环语句来实现。其实现代码为

x0=[0.2,1.8,4.3,4.6];

for i=1:length(x0)

    x=x0(i);

    fun=@(y)(sqrt((2*y+x)^2/3-11/15*(2*x*y+y^2))-(-2.25e-3*(2*y+x)^2+0.351*(2*y+x)));

    y(i)=fsolve(@(y)fun(y),0);

end

x=x0;

disp('                        x                 y')

A=[x' y'];

disp(A)

运行后结果如下所示。

追问
您好,这种方程,应该是有多个解吧?计算出来的y值应该要大于x值才对。。。
追答

你把  y(i)=fsolve(@(y)fun(y),0);改成    y(i)=fsolve(@(y)fun(y),x+0.5);  这样试一试看。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式