MATLAB 02

Posted 张子木

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB 02相关的知识,希望对你有一定的参考价值。

对一组数据作线性回归,并绘图

clear all;
% 输入数据x和y
x = [143 145 146 148 149 150 153 154 157 158 159 160 162 164];
y = [11 13 14 15 16 18 20 21 22 25 26 28 29 31];
x = [ones(length(x),1),x];
%线性回归
[b,bint,r,rint,stats] = regress(y,x);
%r2越接近1,F越大,p越小(<0.05),回归效果越显著
r2 = stats(1)
F = stats(2)
p = stats(3)
%绘制原始数据和拟合的直线
z = b(1) + b(2)*x;
subplot(2,1,1);
plot(x,y,o,x,z,-);
axis([0 180 0 50]);
%绘制残差图
subplot(2,1,2);
rcoplot(r,rint);

在我执行后并没有如期正常出现结果,报错

BLAS 加载错误:
E:\Matlab\bin\win32\atlas_Athlon.dll: 找不到指定的模块。



出错 regress (line 93)
b(perm) = R \ (Q‘*y);

出错 m03 (line 7)
[b,bint,r,rint,stats] = regress(y,x);

  我查看了百度里的,大家好像没有遇到第93行的报错,至于找不到模块我按一片帖子把环境变量中的一个给删除了,依然没有解决。




 

创建一个func.m函数,如果输入的 参数只有一个x,则返回x;如果输入参数有两个(x,y),则返回sqrt(x2+y2).

function b = func(x,y)
%距离函数
%假如 nargin = 1,返回 x
%假如 nargin = 2,返回 sqrt(x^2 + y^2)
if nargin==1
    b=x;
else
    b = sqrt(x.^2 + y.^2);
end

结果

>> func([3,5])

ans =

     3     5

>> func(3,5)

ans =

   5.8310e+00

 

以上是关于MATLAB 02的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:在一帧音频数据中查找主要频率

vscode代码片段建议bug

java代码在片段活动中不起作用

Codeigniter 助手重复 HTML 代码片段

优化 C# 代码片段、ObservableCollection 和 AddRange

如何使用 Android 片段?