实验任务: 下表中,X是华氏温度,Y是一分钟内一只蟋蟀的鸣叫次数,试用线性拟合(不利于polyfit()函数)和二次多项式模型拟合这些数据,并画出拟合曲线,其中一半数据作为拟合数据,另一半作为预测数据,并分别求出这两种预测的相对误差的平均值及最值 X 46 49 51 52 54 56 57 58 59 60 Y 40 50 55 63 72 70 77 73 90 93 X 61 62 63 64 66 67 68 71 72 71 Y 96 88 99 110 113 120 127 137 132 137
```python import numpy as np import matplotlib.pyplot as plt X = np.array([46, 49, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 71, 72, 71]) Y = np.array([40, 50, 55, 63, 72, 70, 77, 73, 90, 93, 96, 88, 99, 110, 113, 120, 127, 137, 132, 137]) # 划分拟合数据和预测数据 split_index = len(X) // 2 X_fit = X[:split_index] Y_fit = Y[:split_index] X_pred = X[split_index:] Y_pred = Y[split_index:] # 线性拟合 coefficients_linear = np.polyfit(X_fit, Y_fit, 1) poly_linear = np.poly1d(coefficients_linear) # 二次多项式拟合 coefficients_quadratic = np.polyfit(X_fit, Y_fit, 2) poly_quadratic = np.poly1d(coefficients_quadratic) # 预测 Y_pred_linear = poly_linear(X_pred) Y_pred_quadratic = poly_quadratic(X_pred) # 计算相对误差 relative_error_linear = np.abs((Y_pred - Y_pred_linear) / Y_pred) relative_error_quadratic = np.abs((Y_pred - Y_pred_quadratic) / Y_pred) # 计算平均值和最值 average_error_linear = np.mean(relative_error_linear) max_error_linear = np.max(relative_error_linear) min_error_linear = np.min(relative_error_linear) average_error_quadratic = np.mean(relative_error_quadratic) max_error_quadratic = np.max(relative_error_quadratic) min_error_quadratic = np.min(relative_error_quadratic) # 绘制原始数据和拟合曲线 plt.scatter(X, Y, label='Original Data') plt.plot(X_pred, Y_pred_linear, label='Linear Fit') plt.plot(X_pred, Y_pred_quadratic, label='Quadratic Fit') plt.xlabel('X') plt.ylabel('Y') plt.title('Data Fitting') plt.legend() plt.show() print("线性拟合相对误差平均值:", average_error_linear) print("线性拟合相对误差最大值:", max_error_linear) print("线性拟合相对误差最小值:", min_error_linear) print("二次多项式拟合相对误差平均值:", average_error_quadratic) print("二次多项式拟合相对误差最大值:", max_error_quadratic) print("二次多项式拟合相对误差最小值:", min_error_quadratic) ``` [2025-04-06 09:06:10 | AI问答 | 697点数解答]
- [DeepSeek] 用octave实验任务: 下表中,X是华氏温度,Y是一分钟内一只蟋蟀的鸣叫次数,试用线性拟合(不利于polyfit()函数)和二次多项式模型拟合这些数据,并画出拟合曲线,其中一半数据作为拟合数据,另一半作为预测数据,并分别求出这两种预测的相对误差的平均值及最值? 观测 1 2 3 4 5 6 7 8 9 10 序号 X 46 49 51 52 54 56 57 58 59 60 Y 40 50 55 63 72 70 77 73 90 93 观测11 12 13 14 15 16 17 18 19 20 序号 X 61 62 63 64 66 67 68 71 72 71 Y 96 88 99 110 113 120 127 137 132 137(1030点数解答 | 2025-04-06 09:01:47)261
- [字节豆包] 实验任务: 下表中,X是华氏温度,Y是一分钟内一只蟋蟀的鸣叫次数,试用线性拟合(不利于polyfit()函数)和二次多项式模型拟合这些数据,并画出拟合曲线,其中一半数据作为拟合数据,另一半作为预测数据,并分别求出这两种预测的相对误差的平均值及最值 X 46 49 51 52 54 56 57 58 59 60 Y 40 50 55 63 72 70 77 73 90 93 X 61 62 63 64 66 67 68 71 72 71 Y 96 88 99 110 113 120 127 137 132 137(697点数解答 | 2025-04-06 09:06:10)217
- [字节豆包] ========[sample.out]========= Expected | Yours 32: | 33: !| 34: "| 35: #| 36: $| | 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| | 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| | 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| | 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| | 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| | 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65(543点数解答 | 2025-12-07 13:05:15)43
- [字节豆包] 题目描述 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 83:(143点数解答 | 2025-12-07 13:00:21)59
- [字节豆包] 题目描述 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 8(349点数解答 | 2025-12-07 13:01:26)39
- [字节豆包] 题目描述 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 8(348点数解答 | 2025-12-07 13:02:32)46
- [字节豆包] 题目描述 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 8(152点数解答 | 2025-12-07 13:05:36)55
- [字节豆包] 题目描述 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 8(577点数解答 | 2025-12-07 13:07:21)38
- [字节豆包] 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 83: S| (447点数解答 | 2025-12-07 17:41:10)53
- [字节豆包] 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 83: S(609点数解答 | 2025-12-07 17:42:08)36
- [字节豆包] 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 83: S(416点数解答 | 2025-12-09 12:11:48)42
- [字节豆包] 循环打印ASCII码值在区间[32,122]的字符。 按照样例格式:每行打印5个,数字与字符右对齐占3格输出,并且由'|'分割。 样例输出 复制 32: | 33: !| 34: "| 35: #| 36: $| 37: %| 38: &| 39: '| 40: (| 41: )| 42: *| 43: +| 44: ,| 45: -| 46: .| 47: /| 48: 0| 49: 1| 50: 2| 51: 3| 52: 4| 53: 5| 54: 6| 55: 7| 56: 8| 57: 9| 58: :| 59: ;| 60: <| 61: =| 62: >| 63: ?| 64: @| 65: A| 66: B| 67: C| 68: D| 69: E| 70: F| 71: G| 72: H| 73: I| 74: J| 75: K| 76: L| 77: M| 78: N| 79: O| 80: P| 81: Q| 82: R| 83: S(169点数解答 | 2025-12-09 20:42:46)50