24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 1493  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

bingmeng1987

木虫 (正式写手)

[求助] 拟合方程并作图已有2人参与

我想对两个数组x,y进行线性拟合,输出拟合方程并作图,并且把拟合方程注明在图上。程序如下:
x=[1 2 3];
y=[2 4 6];
aa=polyfit(x,y,1)
plot(x,y,'g*',x,polyval(aa,x),'b-')
y=poly2sym(aa)
text(2,5,'y=poly2sym(aa)')
运行结果怎么是:y=2*x + 6879362064066739/5070602400912917605986812821504,不是应该是y=2*x吗?
图中注明的是y=poly2sym(aa),怎样才能让图中注明的是y=2*x?
Matlab不是很熟,请大家帮帮我,谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bucheron

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
bingmeng1987: 金币+9, ★★★★★最佳答案, 非常感谢 2014-02-17 21:22:09
1 设置一个精度,如果多项式某个系数小于该值,强制令其为零。
2 需要把symbol格式转换为string格式,使用char命令。

x=[1 2 3];
y=[2 4 6];
aa=polyfit(x,y,1);
for i=1:length(aa)
    if(aa(i))<eps('single')
        aa(i)=0;
    end
end
plot(x,y,'g*',x,polyval(aa,x),'b-')
y=poly2sym(aa)
text(2,5, strcat('y=',char(y)))
Born to suffer !Born to burn!
3楼2014-02-17 17:12:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bucheron

金虫 (小有名气)

aa=[127.3697 0]';
y=poly2sym(aa)
后边加一句
y=vpa(y)
就可以了
Born to suffer !Born to burn!
5楼2014-02-17 22:15:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bucheron

金虫 (小有名气)

vpa可以设定精度,譬如
y=vpa(y,7)

» 本帖已获得的红花(最新10朵)

Born to suffer !Born to burn!
6楼2014-02-17 22:16:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bingmeng1987 的主题更新
信息提示
请填处理意见