感悟网 导航

如何用matlab解方程,其中β与θ是未知的量,想求出β与θ的关系,谢谢了

作者&投稿:李盆 (若有异议请与网页底部的电邮联系)
matlab解方程~

材料/工具
MATLAB R2017b
解一元方程
1
解一元方程:首先打开MATLAB R2017b(如下图)

2
在“command Window”下直接输入需要解决的方程的公式如:x=solve('x^2+2*x+1=0','x'),该公式是用于求方程“x^2+2*x+1=0”的解(如下图)

3
接着点击回车键后即可查看该方程的解(如下图)

END
解二元方程
1
解二元一次方程:同样在“command window”下直接输入需要求解方程的公式,因为二元方程有两个未知变量,所以解二元方程的公式如下例:[x,y]=solve('5*x+8*y=10','3*x+14*y=12','x','y')(如下图)

2
方程之间还需要用“逗号”隔开(如下图)

3
点击回车键即可查看方程的解(如下图)

4
解二元多次方程:方法与求解二元一次一样,都是输入需要求解方程的公式,但是获取方程的解时,有所不同,如求解方程x^2+y^2=1,x+y=1,输入公式[x,y]=solve('x^2+y^2=1','x+y=1','x','y')(如下图)

5
点击回车键查看方程的解,这种非线性方程的解,一般有多个,上面公式的解也可以表示一个圆心在原点,半径为1的圆,与直线“x+y=1”的交点(如下图)

END
解多元方程
1
解多元方程:求多元方程的解,方法与求解其他方程类似,只需要添加相应的变量值就行,比如求解一个三元方程:x+y+z=10,x+y-2z=5,3x-y+z=2的解,同样在“command Window”界面下输入公式:[x,y,z]=solve('x+y+z=10','x+y-2*z=5','3*x-y+z=2','x','y','z')(如下图)

2
然后点击回车键即可查看方程的解(如下图)

不要用[x,y]=
这个和方程中的变量x,y没有任何联系,不是传址调用的
标准用法是
a=solve('x+y=2','x-y=1')
然后你会看到
a =

x: [1x1 sym]
y: [1x1 sym]
然后输入
a.x
就是你的x
a.y
是你的y
这样清楚了吧
不然你直接定义向量你不知道哪个是哪个的
一般是按照字符顺序x,y,z来排的
所以一般你知道第一个出来的是x的值
但是你赋给y没有任何问题,就是为什么你改[x,y],[y,x]第一个值都是3/2的原因

首先,Matlab中不能显示拉丁字母,我们用英文字母alpha beta theta分别表示以上的希腊字母

程序

syms a b c d alpha beta theta;

S=a^2-2*a^2*cos(theta)-d^2+2*a*d*cos(alpha-theta)+2*sqrt(a^2+d^2-2*a*d*cos(alpha-theta))*c*cos(beta);

b=beta=solve(S,beta)

执行程序后运行结果为:

b =

 

 pi + acos((a^2 - d^2 - 2*a^2*cos(theta) + 2*a*d*cos(alpha - theta))/(2*c*(a^2 - 2*cos(alpha - theta)*a*d + d^2)^(1/2)))

 pi - acos((a^2 - d^2 - 2*a^2*cos(theta) + 2*a*d*cos(alpha - theta))/(2*c*(a^2 - 2*cos(alpha - theta)*a*d + d^2)^(1/2)))

 

其次,解方程属于符号运算,建议你用Mathematica软件解这样的方程,表达式的输入和输出都是很直观很清晰的,而且输入和输出都可以支持拉丁字母。以上方程的解法程序是:

 

 

执行结果为:



《如何用matlab解方程,其中β与θ是未知的量,想求出β与θ的关系,谢谢了...》
答:首先,Matlab中不能显示拉丁字母,我们用英文字母alpha beta theta分别表示以上的希腊字母 程序 syms a b c d alpha beta theta;S=a^2-2*a^2*cos(theta)-d^2+2*a*d*cos(alpha-theta)+2*sqrt(a^2+d^2-2*a*d*cos(alpha-theta))*c*cos(beta);b=beta=solve(S,beta)执行程序后运行...

《如何用matlab解方程组?》
答:首先,需要找到矩阵A的对角化形式。先找一个可逆矩阵P和一个对角阵D让PA = D。矩阵A是对称的(它的转置等于它本身),所以它是实对称矩阵。根据实对称矩阵的重要性质,存在正交矩阵Q使AQ是上三角形或下三角形的形式。所以,可以把A表示为:A = Q * Λ * (QT)Λ是一个对角阵,QT是Q的 trans...

《如何在matlab里解方程?》
答:一般用matlab求解方程有两种方法:用软件自带的solve()函数、fsolve()函数、roots()函数等;利用数值分析的方法(如二分法,牛顿法等)自行编程其数值函数。

《怎么用Matlab解方程?》
答:1、打开matlab,首先定义变量x:syms x;2、matlab中solve函数的格式是solve(f(x), x),求解的是f(x) = 0的解。第一个例子,求解最常见的一元二次方程x^2-3*x+1=0:solve(x^2-3*x+1,x),解出的结果用精确的根式表示。3、matlab解出的根不仅包含实根,也包含复根,例如求解三次方程x^...

《如何用matlab求解方程?》
答:用MATLAB求解方程:两个步,一个注意。第一步:使用“syms”定义变量;第二步:使用“solve”函数求解方程;注意:函数表达时,用“==”;比如x+y==5(而不是x+y=5);举例:syms x y z ;(有几个变量就定义几个)solve(方程1,方程2 ,方程3,x,y,z)...

《用maltab解方程》
答:对于求解非线性方程组一般用fsolve命令就可以了,但是对于方程组中某一系数是变化的 3、非线性方程数值求解 matlab里solve如何使用,是否有别的函数可以代替它.在matlab里面solve命令主要是用来求解代数方程(即多项式)的解,但是也不是说其它方程一个也不能解,不过求解非代数方程的能力相当有限,通常只能给...

《用matlab解方程》
答:【1】可以用dsolve()函数求得,其解析值。然后再用plot()函数绘制t~x(t),t~y(t)的图像。实现代码 syms x(t) y(t)Dx=diff(x,1);Dy=diff(y,1);[x,y]=dsolve(Dx==2*x+3*y,Dy==2*x+y,x(0)==-2.7,y(0)==2.8);t=0:0.1:10;x=eval(x);y=eval(y);plot(t...

《如何用Matlab计算方程的解?》
答:由于Mathematica把方程的解表示为嵌套列表,因此不能把它作为其它数学结构的输入,但是有两种方法可以调用其中的值,而不必采用照抄或粘贴的方法.(a)如果希望利用由Solve得到的解计算表达式的值,可以利用取代运算符/. ,这样Mathematica就会自动带入相应的值.(b)由于解就是列表,因此可以用Part或[[]]从列表...

《用matlab解一元三次方程的步骤是什么?》
答:1、首先看一下matlab求解方程的方法,指明所解方程的变量,然后指明方程,未知数和限制条件,最后求解方程。2、来求解sin(x)=1方程,在matlab命令行窗口中输入symsx [x,params,conds]=solve (sin(x)==1,'ReturnConditions', true) ,按回车键可以得到方程解,如下图所示。3、转换一下,可以看到sin...

《怎样用MATLAB解方程组啊?》
答:((log(y))/x^0.5)/(x-1))1、解方程最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法:(1)x=inv(A)*b—采用求逆运算解方程组; (2)x=A\B—采用左除运算解方程组PS:使用...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网