作业帮 > 数学 > 作业

用matlab求解一元三次方程

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/06/13 11:55:24
用matlab求解一元三次方程
lear all;
syms k rowl rowg sigma ug ul R m w;
rowl=745.1143;
rowg=34.7859;
sigma=0.072;
ug=7;
ul=4;
R=0.1;
m=0.1*R;
w=50;
s=solve('0.5*k*m*rowg*rowl*(ug-ul)^2-(k*sigma-(rowl-rowg)*w^2*R/k)*(0.5*k*m*rowl+rowg)=0','k');
s=simplify(s)
用matlab求解一元三次方程
因为你定义的就是符号运算啊 :“syms k rowl rowg sigma ug ul R m w;”这句就是定义了变量是符号变量,输出当然是符号,把这行去掉. 而且你用的simplify函数也是针对符号运算的.输出结果当然是符号. 接数字方程应该用ROOT函数,比如求x^3+2x^2+x-5=0 就是root([1 2 1 -5])
再问: 还是不懂,哎,愁死了、、、
再答: 这样子 如果你坚持用你的方法解,你可以这样: 1.还是运行你原来的程序(当然你得保证你写的没有语法和用法错误,我没有细看你的程序);2.运行完成你得程序以后,你再输入s.k就能得出k的值。
再问: 运行完还是符号啊。。除非把式子中的符号全改成数字才可以
再答: 你把s=simplify(s)删掉看看 我这里写了一个类似的给你参照是三元一次方程组的: >> L1='x+y+z=10'; >> L2='3*x+2*y+z=14'; >> L3='2*x+3*y-z=1'; >> g=solve(L1,L2,L3) g = x: [1x1 sym] y: [1x1 sym] z: [1x1 sym] >> g.x ans = 1 >> g.y ans = 2 >> g.z ans = 7 你体会一下你程序里有什么问题