matlab怎样解含有字母常量的方程组?
用法以这个为例:
x+A*y=10
x-B*y=1
其中x,y为变量,A,B为字母系数.
只要在Matlab中输入
syms x,y,A,B
[x y]=solve('x+A*y=10','x-B*y=1','x','y')
即可求出解
x =
(A + 10*B)/(A + B)
y =
9/(A + B)
对于函数solve的具体用法,可以通过输入help solve来学习。
扩展资料:matlab中方程求解的基本命令
1.roots(p) %求多项式的根,其中p是多项式向量。
例求x3-x2+x-1=0的根
解:>>roots([1,-1,1,-1])
注: [1,-1,1,-1]在matlab中表示多项式 x3-x2+x-1
2.solve(fun) %求方程fun=0的符号解,如果不能求得精确的符号解,可以计算可变精度的数值解
例:用solve求方程x9+x8+1=0的根
解:>>solve(‘x^9+x^8+1’)
给出了方程的数值解(32位有效数字的符号量)
3.solve(fun,var) %对指定变量var求代数方程fun=0的符号解。
例:解方程 ax2+bx2+c=0
解:>>syms a b c x;
>>f=a*x^2+b*x+c;
>>solve(f)
如果不指明变量,系统默认为x,也可指定自变量,比如指定b为自变量
>>symsa b c x;
>> f=a*x^2+b*x+c;
>>solve(f,b)
4.fsolve(fun,x0) %求非线性方程fun=0在估计值x0附近的近似解。
例:用fsolve求方程x=e-x在0附近的根
解:>>fsolve(‘x-exp(-x)’,0)
5.fzero(fun,x0) %求函数fun在x0附近的零点
例:求方程x-10x+2=0在x0=0.5附近的根
解:>>fzero(‘x-10^x+2’,0.5)
你可以将y2=2也作为方程带进去:
S = solve('x1+y2*y1=5', '3*x1-y1=7', 'y2=2');S.x1S.y1如果想要浮点数结果的话:
vpa(S.x1)vpa(S.y1)
syms x y a
solve('y-a*x=0',y)
结果是
a*x
假设a为常量,举个例子。clc; clear all; close all;
syms a x
eq = a + x^2 - x;
solve(eq, x)
假设a为常量,举个例子。clc; clear all; close all;
syms a x
eq = a + x^2 - x;
solve(eq, x)结果
ans =
(1 - 4*a)^(1/2)/2 + 1/2
1/2 - (1 - 4*a)^(1/2)/2
>> 或者clc; clear all; close all;
eq = 'a + x^2 - x';
solve(eq, 'x')
MATLAB解带三角函数的方程组,如何编程
1、对于简单的三角方程,可以用solve()来求解,得到解析解。如 其求解代码和结果为 2、对于复杂的三角方程,可以用Broyden(拟牛顿法)等方法来求解,得到数值解。如 其求解过程如下 ①建立自定义函数文件,funm。m function y = funm(x)x=x(1,1),y=x(2,1)y(1,1) = x(1,1) - 0.7...
怎样用MATLAB解方程组啊?
x)1-exp(((log(y))\/x^0.5)\/(x-1))1、解方程最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法:(1)x=inv(A)*b—采用求逆运算解方程组; (2)x=A\\B—采用左除运算解方程组...
用Matlab解含多个参数的方程组
三角函数是有周期的,当含有一个未知数时,解有多个。所以,解三角函数方程往往得不出一个明确的解析解,当含有多个未知数时,更是如此。
matlab要怎么解方程组
比如解一道一元高次非线性方程,我们一般的解法是先确定方程的解所在的大致范围,然后用牛顿迭代法来算,很复杂。这里我介绍用matlab来解方程,一个命令即可轻松得出方程的所有解。工具\/原料 Matlab 解一元方程 1 先举一例,解方程"x^2+100*x+99=0"在matlab ”Command Window"中输入如下命令:x=...
matlab解含变量方程组问题
当算式中有三角函数时,往往solve不出结果,特别是未知数有2个以上,更是这样,解是很不确定的。因此,要尽量减少未知量的个数。看你的程序中,有7个未知量,用5个未知量表示2个未知量,且有三角函数式,当然不好解。
Matlab 怎么解求和函数
>>syms x k >> x=solve(x*symsum(0.6^(k-1),1,30)-0.5*100000*0.2)>> vpa(x)ans = 4000.即x=4000
怎么用Matlab解方程?
第一个例子,求解最常见的一元二次方程x^2-3*x+1=0:solve(x^2-3*x+1,x),解出的结果用精确的根式表示。3、matlab解出的根不仅包含实根,也包含复根,例如求解三次方程x^3+1=0:solve(x^3+1,x)我们知道该方程有一对共轭复根,matlab也可以解出它的解。4、对于超出5次(含)以上的一元...
matlab怎么解含有定积分的方程?
根据Newton-Leibniz公式,方程等价于:df\/dt=g(t) 在t=x点取值与t在0点取值之差。然后再由ode45命令对给定的f来解x的值。以上这是一种方法,另外一种方法是由Euler折现法知:f_{n+1}=f_{n}+g(t_n)*(t_{n+1}-t_n),但这种方法没有使用ode45算的精确。
matlab求解方程的问题,怎么得到方程的解
图示:1. 试了下用solve求解 solve('sin(x)^2=x\/50')ans = matrix([[0]])只得到0是其解,其余的解未得到。2. 用fzero求解 代码:newf=@(x) sin(x).^2-x\/50;x0=0:0.2:50; %循环所有的初始值使其找到所有的解 for i=1:length(x0)y(i) =fzero(newf,x0(i));end y...
怎么用matlab解含有非整数幂方程
x = 0.1308,就是上面这个方程的解了。用fsolve函数可以求解这个问题,其实就是给初值迭代求解,上面这个语句设置的初值是0,另外如果方程有多个解,迭代是不能一次给你得到多个解得,可以通过设置不同的初值来计算。有很多求解此类方程的优化算法,最简单的就是用fsolve了,楼主可以详细看看matlab帮助。
巧璧泰方: 仍然和没有字母一样,直接用solve.例如 syms x y a solve('y-a*x=0',y) 结果是 a*x
江阴市17510045289: matlab怎样解含有字母常量的方程组? - ?
巧璧泰方: 假设a为常量,举个例子.clc; clear all; close all; syms a x eq = a + x^2 - x; solve(eq, x)结果 ans = (1 - 4*a)^(1/2)/2 + 1/21/2 - (1 - 4*a)^(1/2)/2>> 或者clc; clear all; close all; eq = 'a + x^2 - x'; solve(eq, 'x')
江阴市17510045289: 怎么用matlab解含有字母系数的方程组的解,举个简单例子 - ?
巧璧泰方: 用法以这个为例: x+A*y=10 x-B*y=1 其中x,y为变量,A,B为字母系数. 只要在Matlab中输入 syms x,y,A,B [x y]=solve('x+A*y=10','x-B*y=1','x','y') 即可求出解 x = (A + 10*B)/(A + B) y = 9/(A + B) 对于函数solve的具体用法,可以通过输入help solve来学...
江阴市17510045289: 用matlab能否解出含有字母的方程组 - ?
巧璧泰方: 可以.简单的说,解一个二元一次方程组如:x+y=3,x-y=1.程序如下: sym x y a b; [a,b]=solve(x+y-3,x-y-1); 得到的结果是 a=2 b=1 在等号右边出现的第一个参数对应等号右边x的值,第二个参数对应y的值.也就是说等号左边靠前的参数对应等号右边字母表中靠前的值,靠后的对应字母表中靠后的值.
江阴市17510045289: 如何使用matlab进行含有字母的多项式方程的求解 - ?
巧璧泰方: 对于相对简单含有字母的多项式方程,可以用solve()函数求解.如 >> syms x A B C D >> x=solve(A*x^3+B*x^2+C*x+D)
江阴市17510045289: Matlab求解含有字母参数的非线性超越方程组现有一个方程组:c1*px+s1*py=a3*c23+s23*d4+a1+a2*c2pz=a3*s23 - d4*c23+a2s2其中c23=cos(x2+x3)s23=sin(... - ?
巧璧泰方:[答案] 既然你知道他是超越方程,他就没有通用的解法,直接数值解
江阴市17510045289: 用matlab解字母表示的方程组怎么输入命令,比如说x+y=a,x - y=b,想求出x,y用a,b表示的表达式.?
巧璧泰方: x+y=a,x-y=b 求x,y不用输入x、y、a、b等字母. 具体做的时候是将方程写成矩阵的形式,即AX=B,其中A=[1 1;1 -1],B=[a;b] 然后在命令行直接输入A\B,即可得出解. 例如x+y=3 x-y=1,根据系数可写出A=[1 1;1 -1] B=[3;1] A\B=[2 1],解x=2,y=1. 更复杂的四元一次方程组也是类似,求出系数矩阵A,和常数项B,A\B即可. 但对于非一次方程,不能用上述方法求,需用解非线性方程组的方式求,比较复杂,这里不细说了.
江阴市17510045289: 在matlab中,怎么编写带字母的方程,如何编写使得求解.比如:想x^2 - ax+a*a=0;(x是未知数,a是一个常数) - ?
巧璧泰方: >> syms x a>> solve('x^2-a*x+a*a') ans = (1/2+1/2*i*3^(1/2))*a (1/2-1/2*i*3^(1/2))*a>> subs(f,'a',5) ans = 2.5000 + 4.3301i 2.5000 - 4.3301i>> subs(f,'a',15) ans = 7.5000 +12.9904i 7.5000 -12.9904i 这里用了solve函数和符号定义,可以查找下.希望能帮到你.
江阴市17510045289: 帮忙matlab求解一下这个符号方程 ,怎么求解?要求出y=...? - ?
巧璧泰方: 必须知道 a,m,n,x,k的值或者取值范围,才可...
江阴市17510045289: matlab求导的函数中有符号常数怎么办 - ?
巧璧泰方: matlab的求导命令与求导法建立符号变量命令sym和syms调用格式:x=sym('x'),建立符号变量x;symsxyz,建立多个符号变量x,y,z;matlab求导命令diff调用格式:diff(函数),求的一阶导数;diff(函数,n),求的n阶导数(n是具体整数);diff...