用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


在Octave中完成这个实验任务,我们可以按照以下步骤进行: 1. 准备数据 ```octave X = [46 49 51 52 54 56 57 58 59 60 61 62 63 64 66 67 68 71 72 71]'; Y = [40 50 55 63 72 70 77 73 90 93 96 88 99 110 113 120 127 137 132 137]'; ``` 2. 分割数据为拟合集和预测集 ```octave train_idx = 1:2:20; % 奇数索引作为训练集 test_idx = 2:2:20; % 偶数索引作为测试集 X_train = X(train_idx); Y_train = Y(train_idx); X_test = X(test_idx); Y_test = Y(test_idx); ``` 3. 线性拟合(不使用polyfit) ```octave % 构建设计矩阵 A_linear = [ones(size(X_train)), X_train]; % 最小二乘法求解 theta_linear = (A_linear' * A_linear) \ (A_linear' * Y_train); % 计算预测值 Y_pred_linear_train = A_linear * theta_linear; Y_pred_linear_test = [ones(size(X_test)), X_test] * theta_linear; ``` 4. 二次多项式拟合 ```octave % 构建设计矩阵 A_quad = [ones(size(X_train)), X_train, X_train.^2]; % 最小二乘法求解 theta_quad = (A_quad' * A_quad) \ (A_quad' * Y_train); % 计算预测值 Y_pred_quad_train = A_quad * theta_quad; Y_pred_quad_test = [ones(size(X_test)), X_test, X_test.^2] * theta_quad; ``` 5. 计算相对误差 ```octave % 线性模型 rel_err_linear = abs(Y_test - Y_pred_linear_test) ./ Y_test; avg_rel_err_linear = mean(rel_err_linear); max_rel_err_linear = max(rel_err_linear); min_rel_err_linear = min(rel_err_linear); % 二次模型 rel_err_quad = abs(Y_test - Y_pred_quad_test) ./ Y_test; avg_rel_err_quad = mean(rel_err_quad); max_rel_err_quad = max(rel_err_quad); min_rel_err_quad = min(rel_err_quad); ``` 6. 绘制结果 ```octave % 生成平滑曲线用的X值 X_plot = linspace(min(X), max(X), 100)'; % 准备预测值 Y_plot_linear = [ones(size(X_plot)), X_plot] * theta_linear; Y_plot_quad = [ones(size(X_plot)), X_plot, X_plot.^2] * theta_quad; % 绘制图形 figure; hold on; scatter(X_train, Y_train, 'b', 'filled'); % 训练数据 scatter(X_test, Y_test, 'r', 'filled'); % 测试数据 plot(X_plot, Y_plot_linear, 'g-', 'LineWidth', 2); % 线性拟合 plot(X_plot, Y_plot_quad, 'm-', 'LineWidth', 2); % 二次拟合 legend('训练数据', '测试数据', '线性拟合', '二次拟合'); xlabel('华氏温度'); ylabel('鸣叫次数'); title('蟋蟀鸣叫次数与温度关系拟合'); hold off; ``` 7. 显示误差结果 ```octave printf('线性模型:\n'); printf('平均相对误差: %.2f%%\n', avg_rel_err_linear*100); printf('最大相对误差: %.2f%%\n', max_rel_err_linear*100); printf('最小相对误差: %.2f%%\n\n', min_rel_err_linear*100); printf('二次模型:\n'); printf('平均相对误差: %.2f%%\n', avg_rel_err_quad*100); printf('最大相对误差: %.2f%%\n', max_rel_err_quad*100); printf('最小相对误差: %.2f%%\n', min_rel_err_quad*100); ``` 运行这段代码后,你将得到: 1. 拟合曲线图,显示训练数据、测试数据以及两种拟合曲线 2. 两种模型的预测相对误差的平均值、最大值和最小值 从结果可以看出,二次多项式模型通常会比线性模型有更好的拟合效果,但也要注意过拟合的可能性。相对误差的统计量可以帮助评估模型的预测性能。 [2025-04-06 09:01:47 | AI问答 | 1030点数解答]
- 用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)193
- 实验任务: 下表中,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)151
- ```python # 置换表等相关常量 ip = [58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7] # 其他置换表和函数定义 def des_encrypt(plaintext, key): # 加密流程实现 #... def des_decrypt(ciphertext, key): # 解密流程实现 #... # 测试代码 plaintext = 0x0*********abcdef key = 0x1f1f1f1f0e0e0e0e ciphertext = des_encrypt(plaintext, key) decrypted(1523点数解答 | 2024-10-30 12:18:51)199
- 题目描述 输入四个整数 x , y , a , b x,y,a,b,请你按照要求输出 x ∼ y x∼y 之间的所有数。 要求: 不要输出数字 a a。 不要输出大于等于数字 b b 的数。 输入格式 输入包括一行,包含四个整数 x , y , a , b x,y,a,b,数字之间用空格隔开。 输出格式 输出包括一行,为 x ∼ y x∼y 之间符合要求的数字。 input1 复制 10 20 13 17 output1 复制 10 11 12 14 15 16 input2 复制 50 55 52 100 output2 复制 50 51 53 54 55 样例解释 对于样例 1 1: 样例要求输出 10 ∼ 20 10∼20 之间不是 13 13, 且小于 17 17 的数,故有 10 , 11 , 12 , 14 , 15 , 16 10,11,12,14,15,16。 数据规模与约定 对于 100 % 100% 的数据, 1 ≤ x ≤ y ≤ 100 1≤x≤y≤100, x ≤ a ≤ y x≤a≤y, x ≤ b x≤b。 C++程序(138点数解答 | 2025-07-19 20:44:46)173
- @echo off chcp 65001 >nul setlocal enabledelayedexpansion :: 数字列表,替换链接中的数值 set nums=38 39 40 42 44 45 46 48 49 50 51 53 55 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 :: 循环处理每个数值 for %%i in (%nums%) do ( echo processing image for number: %%i echo 第1步:删除用户信息 curl "https://game.nogikoi.jp/user/delete" ^ -h "host: game.nogikoi.jp" ^ -h "accept: application/json, text/javascript, */*; q=0.01" ^ -h "x-requested-with: xmlhttprequest" ^ -h "se(137点数解答 | 2024-11-24 09:39:09)215
- r语言代码 2. 完成练习: 以下是 15 名学生通过某课程强化集训前后的测试成绩: 学生: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 集训前 82 59 77 50 64 76 55 64 75 75 62 79 81 73 60 集训后 97 64 75 67 89 70 66 91 67 75 86 86 85 96 80 根据这一样本, i)写出原假设与备择假设; ii)计算检验统计量的样本值; iii)检验该课程的这种强化集训能否提升学生成绩 1)大于 5 分;2)小于 10 分。其中显著性 水平为 0.05(630点数解答 | 2024-11-26 22:00:01)220
- 给定一个 n×n 的整数矩阵。对任一给定的正整数 k<n,我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。 输入格式: 输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。 接下来 n 行,每行给出 n 个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。 输出格式: 在一行中输出平移后第 1 到 n 行元素的和。数字间以 1 个空格分隔,行首尾不得有多余空格。 输入样例: 7 2 99 11 87 23 67 20 75 89 37 94 27 91 63 50 11 44 38 50 26 40 26 24 73 85 63 28 62 18 68 15 83 27 97 88 25 43 23 78 98 20 30 81 99 77 36 48 59 25 34 22 输出样例: 440 399 369 421 302 386 428 样例解读 需要平移的是第 2、4、6 列。给定 k=2,应该将这三列顺次整体向下平移(235点数解答 | 2024-11-08 12:11:53)235
- 给定一个 n×n 的整数矩阵。对任一给定的正整数 k<n,我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。 输入格式: 输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。 接下来 n 行,每行给出 n 个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。 输出格式: 在一行中输出平移后第 1 到 n 行元素的和。数字间以 1 个空格分隔,行首尾不得有多余空格。 输入样例: 7 2 99 11 87 23 67 20 75 89 37 94 27 91 63 50 11 44 38 50 26 40 26 24 73 85 63 28 62 18 68 15 83 27 97 88 25 43 23 78 98 20 30 81 99 77 36 48 59 25 34 22 输出样例: 440 399 369 421 302 386 428 样例解读 需要平移的是第 2、4、6 列。给定 k=2,应该将这三列顺次整体向下平移 1、2、(227点数解答 | 2024-11-08 12:12:34)287
- function optimalCuttingPlan() % 最优切割方案计算函数(已测试通过) % 作者:数学建模助手 % 最后修改:2023-10-15 %% 数据准备(使用硬编码数据避免文件读取问题) % 原材料数据 [ID, 长度, 缺陷位置, 缺陷长度, 单价] raw_data = [ 1 5.5 1 0.3 17 1 5.5 3 0.2 17.33 2 6.2 2 0.4 20.59 3 7 1.5 0.2 24.41 3 7 4 0.3 24.05 4 5.8 1.2 0.5 17.33 5 6.5 2.3 0.3 22 6 7.5 1 0.6 24.77 7 6 2.8 0.4 19.83 8 8.2 1.3 0.5 27.64 9 6.8 2.1 0.3 23.32 9 6.8 5 0.2 23.69 10 5.6 1.1 0.2 17.66 11 7.3 3.1 0.4 24.77 12 6.1 1.7 0.5 19.83 13 8 2.5 0.3 27.64 14 5.9 3 0.4 18 15 6.3 1.9 0.3 21.27 16 7.8 1.2 0.(3226点数解答 | 2025-06-18 20:59:55)101
- 目标:根据以下数据,利用线性回归模型研究商品销售量y与广告投入x的关系,写出python代码 广告投入(百万元)5.50 6.75 7.25 7.00 6.50 5.25 6.00 4.50 8.25 9.50 销售量(百万件)11.50 13.70 14.83 14.15 13.06 11.71 12.16 9.96 15.88 18.33 任务:1) 写出本问题的线性回归模型; 2) 写出相应的目标函数l; 3) 通过闭式解的方式求y与x的关系; 4) 利用梯度下降法求y与x的关系; 5) 预测广告投入为1千万元时,商品的销售量情况。(712点数解答 | 2024-11-18 20:44:33)205
- 目标:根据以下数据,利用线性回归模型研究商品销售量y与广告投入x的关系,写出python代码 广告投入(百万元)5.50 6.75 7.25 7.00 6.50 5.25 6.00 4.50 8.25 9.50 销售量(百万件)11.50 13.70 14.83 14.15 13.06 11.71 12.16 9.96 15.88 18.33 任务:1) 写出本问题的线性回归模型; 2) 写出相应的目标函数l; 3) 通过闭式解的方式求y与x的关系; 4) 利用梯度下降法求y与x的关系; 5) 预测广告投入为1千万元时,商品的销售量情况。(443点数解答 | 2024-11-18 20:47:31)205
- 随埛生成20埊60-100之间的堝数值塒素的塒组作为成绩输入,根据字典{'优':90,'良':80,'埓':70,'塤':60}分别判断各埊等级对应的成绩数量,输出所有成绩和以字典形式输出各埊等级对应的成绩数量。 输出示例: 成绩: 77 成绩: 65 …… 成绩: 84 {'优': 7, '良': 4, '埓': 5, '塤': 4} 注:提交时,将代码埓该随埛堝数塒组修改为指墊塒组,即scores=(77, 65, 95, 90, 66, 88, 62, 72, 89, 90, 92, 85, 98, 65, 74, 71, 95, 77, 96, 84),才可自动判题。(219点数解答 | 2025-04-09 10:20:32)121