matlab legend实例
时间: 2023-06-26 15:07:06 浏览: 61
以下是一个MATLAB的例子,演示如何使用legend函数来创建图例。
```
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r', 'LineWidth', 2);
hold on;
plot(x, y2, 'b', 'LineWidth', 2);
legend('sin(x)', 'cos(x)', 'Location', 'northwest');
```
上述代码将创建一个包含两个曲线的图表,并且图例位于左上角。第一条曲线是红色的正弦函数,第二条曲线是蓝色的余弦函数。图例中的标签与每条曲线的名称相同,这是通过在legend函数中传递一个字符串数组来实现的。
可以使用不同的选项来自定义图例的位置和外观。例如,'Location'选项可以设置图例的位置,'FontSize'选项可以设置字体大小。
```
legend('sin(x)', 'cos(x)', 'Location', 'southeast', 'FontSize', 14);
```
以上代码将把图例放在右下角,并将字体大小设置为14。
相关问题
matlab smoothdata实例
假设我们有一个包含噪声的信号,我们可以使用MATLAB的`smoothdata`函数来平滑信号。下面是一个示例:
```matlab
% 创建一个包含噪声的信号
x = 0:0.1:10;
y = sin(x) + randn(size(x));
% 将信号平滑
y_smooth = smoothdata(y, 'gaussian', 5);
% 绘制原始信号和平滑后的信号
plot(x, y, 'b', x, y_smooth, 'r');
legend('原始信号', '平滑后的信号');
```
这个例子中,我们首先创建一个包含噪声的信号,然后使用`smoothdata`函数将其平滑。`'gaussian'`参数指定使用高斯滤波器进行平滑,`5`表示滤波器的宽度。最后,我们绘制了原始信号和平滑后的信号的图形。
MATLAB数据建模实例
下面我将为您介绍一个MATLAB数据建模的实例。
假设我们有一组数据,其中包含了汽车的速度和油耗数据。我们希望基于这些数据建立一个模型,可以预测在不同速度下汽车的油耗。这个问题可以被视为一个回归问题,我们可以使用MATLAB中的回归工具箱进行建模。
首先,我们需要准备数据。我们可以使用MATLAB内置的汽车数据集来进行演示。代码如下:
```matlab
load carsmall; % 载入汽车数据集
```
接着,我们可以将数据集分为训练集和测试集。我们可以使用80%的数据作为训练集,剩余20%的数据作为测试集。代码如下:
```matlab
trainRatio = 0.8; % 训练集比例
idx = randperm(size(MPG, 1)); % 随机排序
trainingSize = floor(trainRatio * size(MPG, 1)); % 训练集大小
trainingIdx = idx(1:trainingSize); % 训练集索引
testIdx = idx(trainingSize+1:end); % 测试集索引
trainingData = [Speed(trainingIdx), MPG(trainingIdx)];
testData = [Speed(testIdx), MPG(testIdx)];
```
接下来,我们可以使用回归工具箱中的fitlm函数来建立线性回归模型。代码如下:
```matlab
lm = fitlm(trainingData(:,1), trainingData(:,2), 'linear');
```
我们可以使用plot函数将模型和数据可视化。代码如下:
```matlab
plot(trainingData(:,1), trainingData(:,2), 'o');
hold on;
plot(sort(trainingData(:,1)), lm.predict(sort(trainingData(:,1))), '-');
legend('Data', 'Linear Model');
xlabel('Speed');
ylabel('MPG');
```
最后,我们可以使用测试集来评估模型的性能。我们可以使用MATLAB内置的评估指标函数来计算模型的均方误差(MSE)和决定系数(R²)。代码如下:
```matlab
MSE = mean((testData(:,2) - lm.predict(testData(:,1))).^2);
R2 = corr(testData(:,2), lm.predict(testData(:,1)))^2;
disp(['MSE: ', num2str(MSE)]);
disp(['R²: ', num2str(R2)]);
```
通过上述步骤,我们完成了一个简单的MATLAB数据建模实例。您可以根据自己的数据和问题需求,调整建模方法和参数,得到更好的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)