zxqk.net
当前位置:首页 >> mAtlAB解一元高次方程 >>

mAtlAB解一元高次方程

x=double(solve('*x^(35/19)+49178*x=')) 其中用solve('方程')命令解出来的是符号解,在用double()命令转化为数值解.两命令也可分开用,不过我感觉这样一起用比较简洁,不会让matlab界面看起来乱.分开用的形式:x=solve('方程');x=double(x) 根的个数一定为最高次的次数,里面包括了很多虚数根 呵呵用下面命令画出图来你就知道为什么得不到实根了 syms x f=-*x^(35/19)+49178*x-; ezplot(f); line([0,1e6],[0,0]); %f=0的直线 f=0;即-*x^(35/19)+49178*x=根本不可能哦 f=0即

可以.简单的说,解一个二元一次方程组如: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的值.也就是说等号左边靠前的参数对应等号右边字母表中靠前的值,靠后的对应字母表中靠后的值.

你犯一个禁忌.在matlab中,是不能用全角作为变量的.你可以按下面格式,编写代码syms tb=2; %用b替代βx=0.918134269;k=2.94335821;W=0.037672495;V=0.025806168;t=solve(t-b*(x-t)^k+b*x^k-2*V/W)运行代码后,得到t=0.3

solve('x^5+5*x^3-6')

可能你使用的命令有问题.应该这样来求解.p=[12155/128 0 - 6435/32 0 9009/64 0 -1155/32 0 315/128]; x=roots(p)

用fzero函数计算,在0.01左右的根就是0.01

当然可以,roots,solve函数都可以的

按照多项式的性质,在相邻的根确定的相邻的区间中 多项式的值应该是正负交替的,知道第一个区间的 正负情况,后面的区间的正负也就确定了 有重根的情况比较特殊也是可以根据根的重数判断函数在两边的正负情况 如果是用matlab计算 你获得了所有的根x1 x2 x3 .也知道函数的(其实就是多项式)的形式 那么完全可以在区间中取值,直接计算函数值获得正负情况 在两个相邻根之间的区间中,函数是不会变符号的 你可以先讲根按从小到达的顺序排列x1 x2 x3.然后计算每个区间中点(f[(x1+x2)/2],f[(x2+x3)/2],f[(x3+x4)/2]的函数符号 也就代表了每个区间的符号了

maple好用

> s=solve('(-3)*x/((x*x)^(5/2))-(3/2)*(2*x-20)/(x*x-2*x)^(5/2)')s =3/2+1/2*5^(1/2)+1/10*(950+430*5^(1/2))^(1/2)

网站首页 | 网站地图
All rights reserved Powered by www.zxqk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com