怎么用matlab解一元二次方程

 我来答
郭磊
2017-05-27 · 知道合伙人互联网行家
郭磊
知道合伙人互联网行家
采纳数:391 获赞数:11745
全国信息化工程师岗位技能证书持有者 广州美诗沁演讲比赛三等奖

向TA提问 私信TA
展开全部

一、工具:Matlab2012b

二、操作步骤:

A.解一元方程

【1】先举一例,解方程"x^2+100*x+99=0"在matlab ”Command Window"中输入如下命令:x=solve('x^2+100*x+99=0','x')见下图

【2】回车后,matlab就求出了这个一元二次方程的解。见下图

【3】再举一例,解一元三次方程"x^3+1=0"在matlab ”Command Window"中输入如下命令:x=solve('x^3+1=0','x')见下图

【4】  回车后,matlab就求出了这个一元三次方程"x^3+1=0"的解。见下图matlab解出来的解有三个,其中有一个实数解,两个虚数解。都知道一元三次方程在复数范围内的解有3个,matlab的解是对的。其实只要"x^3+1=0”的实数解,只要取下面图中的第一个解“-1”。

B.解二元方程:

【1】 首先来求一个二元一次方程组

9x+8y=10          式1

13x+14y=12      式2

一般的解法是代入法,或者加减消去法。比较繁琐。这里只需输入如下命令即可求出解:[x,y]=solve('9*x+8*y=10','13*x+14*y=12','x','y')

【2】回车后,matlab就求出了这个二元一次方程组的解。见下图

【3】再来求一个二元非线性方程组

x^2+y^2=10          式1

2x+3y=0               式2

这里只需输入如下命令即可求出解:[x,y]=solve('x^2+y^2=10','2*x+3*y=0','x','y')

【4】x^2+y^2=10          式1

2x+3y=0               式2

其实不少人能看出来,上面的二元非线性方程组的解是一个圆与一条直线的交点坐标,一般解法是先消去y,整理成关于x的一元二次方程,然后求出x值,再求出对应y值。但这里,只用到了上面图片里的的一句命令,就求了这两个交点坐标。见下图。

注意事项:Matlab可以进行复数运算,所以不需要计算方程的判别式,直接根据公式可求根。和c语言相比,简化了编程工作量。

飞喵某
高粉答主

2019-06-22 · 说的都是干货,快来关注
知道答主
回答量:631
采纳率:0%
帮助的人:29.7万
展开全部

1、首先打开matlab2017版软件,新建一个空白的文件:

2、然后在软件中输入代码,首先定义一元二次方程的3个参数,然后定义方程的判别式,接着计算方程的两个根,最后用disp函数输出即可:

3、最后运行程序,输入方程的3个系数,即可得到根的结果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随便起名就行了
推荐于2018-03-13 · TA获得超过357个赞
知道小有建树答主
回答量:299
采纳率:91%
帮助的人:225万
展开全部

方法一:solve函数

例子:求解x^2-5x+6=0

方法二:roots函数

例子1:求解x^2-5x+6=0

例子2:求解x^2-4=0

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changziqian
2010-06-28 · TA获得超过614个赞
知道答主
回答量:29
采纳率:0%
帮助的人:49.4万
展开全部
楼上说的对,用“solve”
例:
>>s=solve('x^2-6*x-12=0')
MATLAB会返回方程的两个根
s=
3+21^(1/2)
3-21^(1/2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南龙d8
2017-09-15
知道答主
回答量:3
采纳率:0%
帮助的人:2097
展开全部
>>s=solve('x^2-6*x-12=0')
MATLAB会返回方程的两个根
s=
3+21^(1/2)
3-21^(1/2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式