路人队——钟某人matlab的学习——番外

今天咱们整点番外的

一切的起源都是源于我今天下午的考试,因为要画那个标准曲线,一般人的做法是,打开excel,然后巴拉巴拉,但是由于我对excel天生的厌恶感,我并不是很想用excel去画这个图像,于是我想到了matlab,我直接就专业对口了。

所谓标准曲线,主要为两大部分,第一部分,是你的具体的获得的数据,这个没什么好说的部分,主要是用input函数接收外来的数据,难点在于第二部分,也就是要对数据进行拟合,然后就是算出y = ax+b和r^2,

首先是第一步,怎么对数据进行拟合,这个我们可以先用polyfit对x和y进行拟合,记为p,然后用polyval获取拟合后y的数据,记为yfit

那么我怎么获取r^2这个值呢,可以利用fitlm函数对x和y进行线性回归模拟,记为mdl。然后r^2就被包含在里面了,只不过我们需要调用mdl.rsquared.ordinary方法来取出这个值,这样一切就搞定了。

对了,还有个y = ax+b中的a和b,这个值也是被包含在polyfit里面的,可以利用p(1)和p(2)来进行调用,接下来,请看代码

对了,我的建议是,不要加后面的分号,每一步都仔细观察,仔细思考,这样学习的效果才是最好的

x = input('请输入x轴的值:');
y = input('请输入y轴的值:');
p = polyfit(x,y,1);
yfit = polyval(p,x);
mdl = fitlm(x,y);
r2 = num2str(mdl.Rsquared.Ordinary);
a = num2str(p(1));
b = num2str(p(2));
Formu = ['y=',a,'x+',b,' R^2=',r2];
plot(x,y,'bo',x,yfit,'k-')
text(min(x),max(yfit),Formu)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值