给我来一段Matlab稍微长一点的代码
时间: 2024-03-13 11:43:33 浏览: 21
当然可以,这里给您提供一段Matlab的代码:
``` matlab
% 读取数据
data = load('data.txt');
x = data(:, 1); y = data(:, 2);
m = length(y); % 训练样本数
% 为x添加一列1
X = [ones(m, 1), data(:,1)];
% 初始化theta
initial_theta = zeros(2,1);
% 计算代价函数初始值
J = computeCost(X, y, initial_theta);
% 进行梯度下降
alpha = 0.01;
num_iters = 1500;
[theta, J_history] = gradientDescent(X, y, initial_theta, alpha, num_iters);
% 画出拟合直线
plot(x, y, 'rx', 'MarkerSize', 10);
hold on;
plot(X(:,2), X*theta, '-')
legend('训练数据', '线性回归')
hold off;
```
这段代码是一个简单的线性回归模型,通过读取数据、添加偏置项、计算代价函数、梯度下降等步骤,最终得到一条拟合直线。