问个matlab的问题,求高手解答!
1.求-0.5+t-10e^(0.2t)|sin[sint]|=0的实数解。我输入solve('-0.5+t-10*exp(-0.2*t)*abs(sin(sin(t))...
1.求-0.5+t-10e^(0.2t)|sin[sint]|=0的实数解。
我输入solve('-0.5+t-10*exp(-0.2*t)*abs(sin(sin(t)))=0','t')界面会卡住,也没有提示错误,也没有算出结果。不知道怎么办,求指导!2.现有一组实验数据x,y(数据从prob-data418.mat获得),求这组数据的5阶拟合多项式。 展开
我输入solve('-0.5+t-10*exp(-0.2*t)*abs(sin(sin(t)))=0','t')界面会卡住,也没有提示错误,也没有算出结果。不知道怎么办,求指导!2.现有一组实验数据x,y(数据从prob-data418.mat获得),求这组数据的5阶拟合多项式。 展开
3个回答
展开全部
1、可以用fzero求根。求之前先画出图来看看根的大致分布情况,由图可见,只有一个根。
参考代码:
f=inline('-0.5+t-10*exp(-0.2*t)*abs(sin(sin(t)))','t');
ezplot(f)
hold on
t0=fzero(f,0);
plot(t0,f(t0),'ro')
plot(xlim,[0 0],'c--')
2、使用polyfit进行多项式拟合(或者,在绘图窗口Tools菜单选择Basic Fitting进行拟合更简单)。
示例:
x=1:10;
y=sin(x);
plot(x,y,'.:')
hold on
p=polyfit(x,y,5);
xi=1:0.1:10;
plot(xi,polyval(p,xi),'r')
legend('原始数据','五次多项式拟合')
展开全部
这种超越方程直接用solve确实不好求解,还是用作图法吧,比较快。
数据拟合直接用在命令窗口输入cftool,就可以根据数据和需要的阶次拟合了
数据拟合直接用在命令窗口输入cftool,就可以根据数据和需要的阶次拟合了
追问
做图法怎么弄呢,能不能给个参照的范例,感谢这个,谢谢了!
追答
他们已经给出图了,基本就是这个思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
syms t y
y=-0.5+t-10*exp(-0.2*t)*abs(sin(sin(t)));
tic
tval=solve(y==0,t)
toc
eval(subs(y,t,tval))%检验结果
运行结果:
tval =
2.7341173220805884771375917565462
Elapsed time is 4.757776 seconds.
ans =
7.3468e-40
y=-0.5+t-10*exp(-0.2*t)*abs(sin(sin(t)));
tic
tval=solve(y==0,t)
toc
eval(subs(y,t,tval))%检验结果
运行结果:
tval =
2.7341173220805884771375917565462
Elapsed time is 4.757776 seconds.
ans =
7.3468e-40
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询