作业帮 > 综合 > 作业

matlab求解这个非线性方程怎么定义函数并且调用详细一点可以吗

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 22:41:45
matlab求解这个非线性方程怎么定义函数并且调用详细一点可以吗
x已知,是非常零散的点,需要一个一个输入
x与y的关系为非线性方程 y-220.452*ln(1+y/220.452)=9.06/100*x-1.454
z*(1-220.452/(220.452+y))=9.06*10-2
最后能够输入x就得到z的值.
请给我详细一点的过程我好看懂.
matlab求解这个非线性方程怎么定义函数并且调用详细一点可以吗
%你发重复呢.
clear;
disp('喂,叫你呢!我家主人让我告诉你,核准帖子的式子.否则,算错了别打我哦!')
sym y;
while(1)
x=input('\n请输入数据(非数值输入俺罢工哦):','s');
if isempty(str2num(x))
disp('结束了,我算的好辛苦呀!Byebye ...');break;
end
y=solve(['y-220.452*log(1+y/220.452)=9.06/100*' num2str(x) '-1.454'],'y');
n=max(size(y));
if n==1
z=(9.06*10-2)/(1-220.452/(220.452+sym2poly(y)));
disp(['x=' num2str(x) ',z=' num2str(z)])
else
me=['x=' num2str(x)];
for hi=1:n
z=(9.06*10-2)/(1-220.452/(220.452+sym2poly(y(i))));
me=[me ',z' num2str(i) '=' num2str(z) ' '];
end
disp(me);
end
end
用法示例:
请输入数据(非数值输入俺罢工哦):3.2
x=3.2,z=59.08053+861.3943i
请输入数据(非数值输入俺罢工哦):sad
结束了,我算的好辛苦呀!Byebye ...