急! 求matlab高手帮忙做几道题!有追加!!

2024-12-02 07:14:13
推荐回答(3个)
回答1:

不知道你说的是x3还是x^3,如果是x^3的话,第一个问题是这样的。
------------------------------------------------------------------------
【将下复制进.m的matlab文件里,命名为fangcheng.m】
function [f]=fangcheng(x)
f=x^3-2;
------------------------------------------------------------------------
【将下复制进.m的matlab文件里,命名为erfenfa.m】
%%%%二分法,在区间[x1,x2]上求解频率方程的解,z为误差
function H_erfen=erfenfa(x1,x2,z)
x=(x1+x2)/2;
while (x2-x1)>z %设置区间的一半控制精度
if fangcheng(x1)*fangcheng(x)<0 %在区间(x1,x)的解,fangcheng(x)为频率方程子函数
x2=x;
x=(x1+x2)/2;
elseif fangcheng(x)*fangcheng(x2)<0 %在区间(x,x2)的解
x1=x;
x=(x1+x2)/2;
else %fangcheng(x1)*fangcheng(x)==0时,在x点为方程的解
H_erfen=x;
z=1*10^6; %设置误差大于求解区间,以强制退出循环
end
end
H_erfen=x;
--------------------------------------------------------------------
【将下复制进.m的matlab文件里,命名为qiugen.m】
%%%%求解方程,x1,x2为求解范围,t_step为搜索步长
function v_temp=qiugen(x1,x2,t_step)
format long e
for m=x1:t_step:x2
n=m+t_step;
z=0.00001;
if fangcheng(m)==0
x=m
[f]=fangcheng(x);
elseif fangcheng(m)*fangcheng(n)<0
x=erfenfa(m,n,z)
[f]=fangcheng(x);
end
end
-------------------------------------------------------------------------------
将fangcheng.m、erfenfa.m、qiugen.m三个程序文件放于同一文件夹里。打开matlab软件,从软件找到刚刚存放文件的地方,打开其中一个(一般打开qiugen.m),然后复制qiugen(x1,x2,t_step)进matlab右边的运行窗口,并改为qiugen(1,2,0.000001),回车。
【其它的我就不知道了】

回答2:

我们老师也布置了类似的题,你可以在网上COPY一个程序,然后改里面的相关函数和变量,区间值就OK了

回答3:

呵呵,应该是很基础的题。 找本介绍matlab的书应该有讲的。