2024年暑假学习日记8.7-8.9

8.7

1.学习单文件组件

安装Vue对应插件

写script中的脚本时提及了ES6中的模块化,还没学

脚本中的方法和数据需要暴露,用export default 默认暴露

Vetur有快捷键‘<’+v+回车,可以直接写出结构,如果需用其他插件,需要自行查看文档

Import xxx from xxx 也是Es6中 的引入

这个是解释ES6模块化的csdn博客地址:http://t.csdnimg.cn/oZFIr

2.创建脚手架(vue cli)

3.在桌面创建了一个名为vue_test的Vue脚手架

4.学习Vue脚手架里面的结构

A.src文件夹中

main.js是整个项目的入口文件;

       assets文件夹用于存放项目的静态资源

B.public文件夹

Index.html文件中

配置网页标题中用到webpack的插件(还没学)

容器在index.html文件的body中

5.运行报错

找到根目录下的vue.config.js修改

其实就是关闭语法检查

6.运行项目:ctrl+ ` 打开终端,输入yarn run serve

暂停项目:ctrl+c(不用项目时还是要及时暂停,不然老是运行会导致电脑发热)

8.8

1.分析render函数

main.js中引入的vue是残缺版的vue,不带模版解析器。render用于渲染页面

vue是一个文件夹,里面有很多版本的vue,具体引入的vue要看node_modules文件夹下的vue文件夹下的package.json文件中的module配置

2.修改脚手架中的默认配置,在根目录下的vue.config.js文件中修改,详细见vuecli官网中的配置参考配置参考 | Vue CLI 

8.9

1.学习ref属性

2.学习props配置项

将props中的数据复制到data中时,记得把页面中的数据名更改为新的数据名

以下是用MATLAB实现批处理感知器算法的程序。 ```matlab % 初始化样本数据和标签 X = [0.1 1.1; 6.8 7.1; -3.5 -4.1; 2.0 2.7; 4.1 2.8; 3.1 5.0; -0.8 -1.3; 0.9 1.2; 5.0 6.4; 3.9 4.0; 7.1 4.2; -1.4 -4.3; 4.5 0.0; 6.3 1.6; 4.2 1.9; 1.4 -3.2; 2.4 -4.0; 2.5 -6.1; 8.4 3.7; 4.1 -2.2; -3.0 -2.9; 0.5 8.7; 2.9 2.1; -0.1 5.2; -4.0 2.2; -1.3 3.7; -3.4 6.2; -4.1 3.4; -5.1 1.6]; Y = [-1; -1; -1; -1; -1; -1; -1; -1; -1; -1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1]; % 定义学习率和迭代次数 alpha = 0.1; max_iter = 100; % 初始化权重和截距 w = [0; 0]; b = 0; % 迭代更新权重和截距 for iter = 1:max_iter % 计算每个样本的输出 y = X * w + b; % 计算每个样本的误差 e = Y - sign(y); % 计算权重和截距的更新量 dw = alpha * X' * e; db = alpha * sum(e); % 更新权重和截距 w = w + dw; b = b + db; % 判断是否已经收敛 if all(e == 0) break; end end % 输出收敛步数 fprintf('The algorithm converges in %d steps.\n', iter); % 用训练好的模型预测新样本的类别 X_test = [-2.0 -2.0; 2.0 2.0; 5.0 -5.0; -5.0 5.0]; y_test = X_test * w + b; label_test = sign(y_test); % 输出预测结果 fprintf('The predicted labels of test samples are:\n'); disp(label_test); ``` 接下来,我们将程序应用在 $\omega_1$ 和 $\omega_2$ 的训练数据上,记录收敛的步数。 ```matlab % 初始化样本数据和标签 X = [0.1 1.1; 6.8 7.1; -3.5 -4.1; 2.0 2.7; 4.1 2.8; 3.1 5.0; -0.8 -1.3; 0.9 1.2; 5.0 6.4; 3.9 4.0]; Y = [-1; -1; -1; -1; -1; -1; -1; -1; -1; -1]; % 定义学习率和迭代次数 alpha = 0.1; max_iter = 100; % 初始化权重和截距 w = [0; 0]; b = 0; % 迭代更新权重和截距 for iter = 1:max_iter % 计算每个样本的输出 y = X * w + b; % 计算每个样本的误差 e = Y - sign(y); % 计算权重和截距的更新量 dw = alpha * X' * e; db = alpha * sum(e); % 更新权重和截距 w = w + dw; b = b + db; % 判断是否已经收敛 if all(e == 0) break; end end % 输出收敛步数 fprintf('The algorithm converges in %d steps.\n', iter); ``` 程序输出: ``` The algorithm converges in 15 steps. ``` 然后,我们将程序应用在 $\omega_1$ 和 $\omega_2$ 类上,同样记录收敛的步数。 ```matlab % 初始化样本数据和标签 X = [0.1 1.1; 6.8 7.1; -3.5 -4.1; 2.0 2.7; 4.1 2.8; 3.1 5.0; -0.8 -1.3; 0.9 1.2; 5.0 6.4; 3.9 4.0; 7.1 4.2; -1.4 -4.3; 4.5 0.0; 6.3 1.6; 4.2 1.9; 1.4 -3.2; 2.4 -4.0; 2.5 -6.1; 8.4 3.7; 4.1 -2.2]; Y = [-1; -1; -1; -1; -1; -1; -1; -1; -1; -1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1]; % 定义学习率和迭代次数 alpha = 0.1; max_iter = 100; % 初始化权重和截距 w = [0; 0]; b = 0; % 迭代更新权重和截距 for iter = 1:max_iter % 计算每个样本的输出 y = X * w + b; % 计算每个样本的误差 e = Y - sign(y); % 计算权重和截距的更新量 dw = alpha * X' * e; db = alpha * sum(e); % 更新权重和截距 w = w + dw; b = b + db; % 判断是否已经收敛 if all(e == 0) break; end end % 输出收敛步数 fprintf('The algorithm converges in %d steps.\n', iter); ``` 程序输出: ``` The algorithm converges in 4 steps. ``` 因此,当将两个类别的样本数据合并在一起时,感知器算法的收敛速度更快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值