2017.11.1第一课

一、计算机学科的分类

计算机硬件  计算机网络  计算机软件

1、计算机硬件

(1)计算机的组成

CPU 显卡 内存 主板 硬盘 电源 鼠标 键盘

计算机组成

  • 控制器、运算器、存储器、输入输出设备
  • 存储器:硬盘、内存、U盘、光盘、软盘。
  • 内存:一般是指运行中程序进行进行数据存储的介质。
  • CPU:控制器和运算器。
  • 输入设备:键盘、鼠标、写字板、话筒。
  • 输出设备:打印机、显示器。

2、计算机网络

信息高速公路:要致富、先修路。

网络的发展孕育出了开源和分享的精神。

IP地址

计算机在网络中的唯一标识。(网络:广域网和局域网)

如果一台计算机,并于局域网而且连接了互联网,那么这台机器拥有两种身份,一个是在局域网中的IP,还有一个是对外的IP。

IP格式:192.168.1.124 (最大是254)

如何查看IP

进入命令提示符CMD

键入命令ipconfig

3、软件的分类

1·系统软件

软件系统就是一个国家。(Windows、Linux、IOS、ANDROID

2·应用软件

应用软件就是具备特定功能的实体,比如医院、法院、警察局。

3·下载类型的软件

下载类型的软件称为客户端软件,C/S架构的软件(Customer/server),主程序是在客户的机器里。

有内容需要更新的时候,要重新下载整个安装包去更新。

4·基于浏览器访问的应用

浏览器本身就是一个客户端,网站、信息管理系统很多都是才用B/S架构进行设计的(Browser/Server),主程序放在服务器当中的,核心的业务逻辑也是在服务器中进行的。

B/S架构原理

访问地址的说明

服务器:全天候,有对外的固定ip,质量好配置高的电脑。

c/s架构与B/S架构的优势劣势

(1)B/S架构的程序更新非常方便,完全透明

(2)C/S架构更新需要等待,对用户不透明,每个资源都要从服务器请求

二、互联网的起源

1.什么是Internet?

Internet是计算机交互网络的简称,又称网间网。它是利用通信设备和线路将全世界上不同地理位置的功能相对独立的数以千万计的计算机系统互连起来,以功能完善的网络软件(网络通信协议、网络操作系统等)实现网络资源共享和信息交换的数据通信网。

2.Web的简单工作原理

1.要建立Web页面,放到服务器上。
2.一旦放到服务器上,那么所有浏览器设备都可以访问到网页文件。
3.浏览器获取到这个页面并解析显示出来。

3.浏览器能做什么?

我们在上网时,在地址栏输入一个网址或者单击一个链接,这样动作会让浏览器发送一个请求给Web服务器,请求一个页面,浏览器获取到这个页面并解析显示出来。

三、HTML概念

1. HTML简介

HTML是用来描述网页的一种语言。

HTML指的是超文本标记语言(HyperTextMarkupLanguage)。·

HTML不是一种编程语言,而是一种标记语言(markuplanguage)。标记语言是一套标记标签(markuptag)。

HTML使用标记标签来描述网页。

2.标签

HTML标记标签通常被称为HTML标签(HTMLtag)。HTML标签是由尖括号包围的关键词,比如<html>。HTML标签通常是成对出现的,比如<b>和</b>。

标签是成对出现的

html:之间的文本描述网页

body:是网页的可见页面内容

h1:网页文本的标题

p:之间的文本显示成段落

ul:无序列表   ol:有序列表

hr:分割线      br:换行

1.标题标签

标题(Heading)是通过<h1> - <h6>标签进行定义的。<h1>定义最大的标题。<h6>定义最小的标题。

不要仅仅是为了生成粗体或大号的文本而使用标题,搜索引擎使用标题为您的网页的结构和内容编制索引。因为用户可以通过标题来快速浏览您的网页,所以用标题来呈现文档结构是很重要的。

应该将 h1 用作主标题(最重要的),其后是h2(次重要的),再其次是h3,以此类推。

<html>
    <body>
        <h1>这是一个标题。</h1>
        <h2>这是一个标题。</h2>
        <h3>这是一个标题。</h3>

        ...
        <h6>这是一个标题。</h6>
    </body>
</html>

2.p标签

HTML 可以使用P标签将文档分割为若干段落。

我们找到之前写的页面,用<P>标签对它进行一些简单处理。

<p>A smooth, mild blend of coffees from Mexico, </p><p>
Bolivia and Guatemala.A smooth, mild blend of coffees from Mexico, Bolivia and Guatemala.</p>
  • 使用<p>标签后,我们发现原本的文字被分成两段,发生了换行。

  • 如果需要在不产生一个新段落的情况下进行换行(新行),可以使用<br \>标签。

 3.<hr>标签

有些时候,我们需要在段落之间或标题和正文之间画出一条横线作为区分,我们可以使用<hr>标签
我们可以在之前的咖啡菜单页面中,将每一种咖啡用<hr>标签分隔开来。


要想输入空格,必须写入$nbsp;

 4.图像标签

 <img src="图像.jpg"> 

 5.超链接标签

 <a href="www.baidu.com 

"></a>



内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件操作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进步的学习与研究。
这次的代码是我给人工智能发送以下内容后,人工智能所出的。现在请结合我给你的这些信息,对代码进行调整,解决准确率低和代码运行错误的问题。 我法的内容如下: 我在做计算智能课的结课大论文,请你结合深度学习、机器学习和计算智能的知识,及其相关知识,帮助我完成本次结课大论文。另,本次实验采用MATLAB R2024a的实验环境。 任务:利用BP神经网络做车牌数字识别 [简述BP算法的原理] [说明BP神经网络结构及重要参数设置] [实验结果展示] [实验结果分析及可改进方向] [代码展示] 请先给我[代码展示]部分的内容,其他部分内容我之后再问你要。 我这有些关于任务的相关数据如下,这些文件夹里装了各色车牌的照片。 black文件夹的地址为C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train blue文件夹的地址为C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train green文件夹的地址为C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train\green lv_double文件夹的地址为C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train\green white文件夹的地址为C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train yellow_double文件夹的地址为C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train\yellow yellow_single文件夹的地址为C:\Users\v蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train\yellow 你给的代码如下: %% 最终优化版 - 车牌数字识别 clear; clc; close all; rng(42); %% 参数设置 targetSize = [32, 32]; numClasses = 10; % 固定为0-9十个类别 %% 数据加载与预处理 [images, labels] = robustDataLoader(targetSize, numClasses); % 数据集划分 (60%训练, 20%验证, 20%测试) numSamples = size(images,4); [trainInd, valInd, testInd] = dividerand(numSamples, 0.6, 0.2, 0.2); trainImages = images(:,:,:,trainInd); trainLabels = labels(trainInd); valImages = images(:,:,:,valInd); valLabels = labels(valInd); testImages = images(:,:,:,testInd); testLabels = labels(testInd); %% 增强的CNN结构 layers = [ imageInputLayer([targetSize 1]) convolution2dLayer(3, 32, 'Padding','same') batchNormalizationLayer reluLayer maxPooling2dLayer(2, 'Stride', 2) convolution2dLayer(3, 64, 'Padding','same') batchNormalizationLayer reluLayer maxPooling2dLayer(2, 'Stride', 2) convolution2dLayer(3, 128, 'Padding','same') batchNormalizationLayer reluLayer fullyConnectedLayer(256) reluLayer dropoutLayer(0.6) % 增加丢弃率 fullyConnectedLayer(numClasses) softmaxLayer classificationLayer ]; %% 优化训练配置 options = trainingOptions('adam', ... 'MaxEpochs', 40, ... % 增加训练轮次 'MiniBatchSize', 128, ... 'InitialLearnRate', 0.001, ... 'LearnRateSchedule', 'piecewise', ... 'LearnRateDropFactor', 0.5, ... 'LearnRateDropPeriod', 15, ... % 调整学习率衰减周期 'Shuffle', 'every-epoch', ... 'ValidationData', {valImages, categorical(valLabels)}, ... 'ValidationFrequency', 50, ... % 减少验证频率以加速 'Plots', 'training-progress', ... 'Verbose', true); %% 训练模型 net = trainNetwork(trainImages, categorical(trainLabels), layers, options); %% 评估与可视化 predicted = classify(net, testImages); accuracy = mean(predicted == categorical(testLabels)); fprintf('测试准确率: %.2f%%\n', accuracy*100); % 修复混淆矩阵错误 testLabelsCategorical = categorical(testLabels); predictedCategorical = categorical(double(predicted)); % 转换为分类类型 figure; cm = confusionmat(testLabelsCategorical, predictedCategorical); confusionchart(cm, categories(testLabelsCategorical)); title(sprintf('混淆矩阵 (准确率: %.2f%%)', accuracy*100)); % 显示样本预测 figure; numSamples = 25; randIndices = randperm(numel(testLabels), numSamples); for i = 1:numSamples subplot(5, 5, i); idx = randIndices(i); imshow(testImages(:,:,:,idx)); predLabel = double(predicted(idx)); trueLabel = testLabels(idx); if predLabel == trueLabel color = 'g'; else color = 'r'; end title(sprintf('预测:%d\n真实:%d', predLabel, trueLabel), 'Color', color); end % 错误分析:显示错误预测样本 figure; wrongIdx = find(predictedCategorical ~= testLabelsCategorical); numSamples = min(25, numel(wrongIdx)); randWrong = randperm(numel(wrongIdx), numSamples); for i = 1:numSamples subplot(5, 5, i); idx = wrongIdx(randWrong(i)); imshow(testImages(:,:,:,idx)); predLabel = double(predicted(idx)); trueLabel = testLabels(idx); title(sprintf('预测:%d\n真实:%d', predLabel, trueLabel), 'Color', 'r'); end %% 鲁棒的数据加载函数 function [images, labels] = robustDataLoader(targetSize, numClasses) dataPath = 'C:\Users\蓝喲\Desktop\课\计算智能\结课大作业\CCPDCRPD\train'; colors = {'black', 'blue', 'green', 'white', 'yellow'}; % 初始化 images = single([]); labels = []; % 遍历颜色文件夹 for c = 1:length(colors) colorPath = fullfile(dataPath, colors{c}); % 获取所有子文件夹 subDirs = getSubdirectories(colorPath); % 遍历子文件夹 for s = 1:length(subDirs) currentPath = fullfile(colorPath, subDirs{s}); jpgFiles = dir(fullfile(currentPath, '*.jpg')); if isempty(jpgFiles) fprintf('跳过空文件夹: %s\n', currentPath); continue; end % 加载当前文件夹的图像 for i = 1:length(jpgFiles) try imgPath = fullfile(currentPath, jpgFiles(i).name); img = imread(imgPath); % 转换为灰度图 if size(img, 3) == 3 img = rgb2gray(img); end % 预处理 - 增强对比度 img = imadjust(img); % 调整尺寸 img = imresize(img, targetSize); img = im2single(img); % 从文件名提取标签 label = extractLabelFromName(jpgFiles(i).name); % 只接受0-9的有效标签 if label < 0 || label > 9 fprintf('跳过无效标签图像: %s (标签:%d)\n', jpgFiles(i).name, label); continue; end % 添加到数据集 if isempty(images) images = img; else images = cat(4, images, img); end labels = [labels; label]; catch ME fprintf('加载图像错误: %s (%s)\n', imgPath, ME.message); end end end end % 确保至少有些数据 if isempty(images) error('未找到有效图像数据,请检查路径: %s', dataPath); end fprintf('成功加载 %d 张图像,共 %d 个类别\n', numel(labels), numClasses); end %% 获取子目录列表 function subDirs = getSubdirectories(mainDir) dirList = dir(mainDir); isSubDir = [dirList.isdir] & ~ismember({dirList.name}, {'.', '..'}); subDirs = {dirList(isSubDir).name}; % 如果主文件夹下有图像文件,添加主文件夹 if ~isempty(dir(fullfile(mainDir, '*.jpg'))) subDirs = [subDirs, {''}]; end end %% 改进的标签提取函数 function label = extractLabelFromName(filename) % 尝试匹配括号内的数字 (1) [match] = regexp(filename, '\((\d+)\)', 'tokens'); if ~isempty(match) num = str2double(match{1}{1}); if num >= 0 && num <= 9 label = num; return; end end % 尝试匹配文件名末尾的数字 [match] = regexp(filename, '(\d+)\.jpg$', 'tokens'); if ~isempty(match) num = str2double(match{1}{1}); label = mod(num, 10); % 取个位数 return; end % 尝试匹配文件名中的数字字符 [match] = regexp(filename, '\d', 'match'); if ~isempty(match) label = str2double(match{1}); return; end % 默认返回无效标签 label = -1; end 运行结果如下: 成功加载 15483 张图像,共 10 个类别 在单 CPU 上训练。 正在初始化输入数据归化。 |=============================================================================| |  轮  |  迭代  |    经过的时间     |  小批量准确度  |  验证准确度  |  小批量损失  |  验证损失  |  基础学习率  | |     |      |  (hh:mm:ss)  |          |         |         |        |         | |=============================================================================| |   1 |    1 |     00:00:12 |    4.69% |  33.84% |  3.1265 | 6.1090 |  0.0010 | |   1 |   50 |     00:01:00 |   48.44% |  50.66% |  1.4774 | 1.4475 |  0.0010 | |   2 |  100 |     00:01:45 |   55.47% |  54.05% |  1.2905 | 1.3421 |  0.0010 | |   3 |  150 |     00:02:30 |   51.56% |  55.67% |  1.3363 | 1.2663 |  0.0010 | |   3 |  200 |     00:03:15 |   50.00% |  57.86% |  1.3424 | 1.2264 |  0.0010 | |   4 |  250 |     00:03:59 |   55.47% |  57.80% |  1.1695 | 1.1962 |  0.0010 | |   5 |  300 |     00:04:51 |   51.56% |  58.80% |  1.2479 | 1.1856 |  0.0010 | |   5 |  350 |     00:05:31 |   59.38% |  60.57% |  1.2770 | 1.1191 |  0.0010 | |   6 |  400 |     00:05:51 |   60.16% |  62.87% |  1.1318 | 1.0742 |  0.0010 | |   7 |  450 |     00:06:33 |   60.16% |  62.16% |  1.1437 | 1.0831 |  0.0010 | |   7 |  500 |     00:07:41 |   64.84% |  64.48% |  0.9498 | 1.0336 |  0.0010 | |   8 |  550 |     00:08:37 |   68.75% |  65.55% |  1.0622 | 1.0383 |  0.0010 | |   9 |  600 |     00:09:13 |   52.34% |  66.29% |  1.1652 | 1.0414 |  0.0010 | |  10 |  650 |     00:09:38 |   70.31% |  66.52% |  0.8450 | 1.0268 |  0.0010 | |  10 |  700 |     00:09:56 |   66.41% |  68.10% |  0.8517 | 0.9665 |  0.0010 | |  11 |  750 |     00:10:15 |   57.03% |  67.68% |  1.1278 | 0.9506 |  0.0010 | |  12 |  800 |     00:10:33 |   73.44% |  68.26% |  0.6809 | 0.9920 |  0.0010 | |  12 |  850 |     00:10:54 |   66.41% |  69.42% |  0.8815 | 0.9742 |  0.0010 | |  13 |  900 |     00:11:13 |   68.75% |  70.55% |  0.7691 | 0.9185 |  0.0010 | |  14 |  950 |     00:12:03 |   81.25% |  70.58% |  0.6132 | 0.9381 |  0.0010 | |  14 | 1000 |     00:12:28 |   64.84% |  70.91% |  0.9334 | 0.8932 |  0.0010 | |  15 | 1050 |     00:12:47 |   81.25% |  71.13% |  0.5735 | 0.9524 |  0.0010 | |  16 | 1100 |     00:13:07 |   78.91% |  71.71% |  0.6210 | 0.9344 |  0.0005 | |  16 | 1150 |     00:13:31 |   75.78% |  71.81% |  0.6192 | 0.9230 |  0.0005 | |  17 | 1200 |     00:14:33 |   77.34% |  72.33% |  0.5982 | 0.9175 |  0.0005 | |  18 | 1250 |     00:15:45 |   74.22% |  72.01% |  0.6713 | 0.9694 |  0.0005 | |  19 | 1300 |     00:16:55 |   82.03% |  72.68% |  0.4780 | 0.9674 |  0.0005 | |  19 | 1350 |     00:18:02 |   86.72% |  71.91% |  0.3710 | 0.9776 |  0.0005 | |  20 | 1400 |     00:19:12 |   77.34% |  73.36% |  0.5328 | 0.9105 |  0.0005 | |  21 | 1450 |     00:20:17 |   78.91% |  72.33% |  0.5978 | 0.9863 |  0.0005 | |  21 | 1500 |     00:21:23 |   73.44% |  72.97% |  0.5857 | 0.9991 |  0.0005 | |  22 | 1550 |     00:22:33 |   89.84% |  73.46% |  0.3211 | 0.9644 |  0.0005 | |  23 | 1600 |     00:23:57 |   82.81% |  72.78% |  0.4824 | 0.9861 |  0.0005 | |  23 | 1650 |     00:25:28 |   82.03% |  73.78% |  0.4521 | 0.9510 |  0.0005 | |  24 | 1700 |     00:27:28 |   86.72% |  72.33% |  0.3082 | 1.0560 |  0.0005 | |  25 | 1750 |     00:28:53 |   80.47% |  72.72% |  0.4768 | 1.0563 |  0.0005 | |  25 | 1800 |     00:30:09 |   85.94% |  72.39% |  0.3754 | 0.9933 |  0.0005 | |  26 | 1850 |     00:31:34 |   84.38% |  72.42% |  0.3483 | 1.0455 |  0.0005 | |  27 | 1900 |     00:32:56 |   84.38% |  72.62% |  0.4467 | 1.0685 |  0.0005 | |  28 | 1950 |     00:34:34 |   85.16% |  72.81% |  0.3287 | 1.1146 |  0.0005 | |  28 | 2000 |     00:36:04 |   83.59% |  73.01% |  0.4610 | 1.1104 |  0.0005 | |  29 | 2050 |     00:37:22 |   84.38% |  73.10% |  0.4101 | 1.0793 |  0.0005 | |  30 | 2100 |     00:38:24 |   87.50% |  73.26% |  0.3039 | 1.0915 |  0.0005 | |  30 | 2150 |     00:39:33 |   89.06% |  73.39% |  0.3864 | 1.1083 |  0.0005 | |  31 | 2200 |     00:40:52 |   90.62% |  73.97% |  0.2977 | 1.1225 |  0.0003 | |  32 | 2250 |     00:41:35 |   89.06% |  73.52% |  0.2699 | 1.1896 |  0.0003 | |  32 | 2300 |     00:42:37 |   92.19% |  74.27% |  0.1868 | 1.1225 |  0.0003 | |  33 | 2350 |     00:43:58 |   89.06% |  74.20% |  0.3109 | 1.1430 |  0.0003 | |  34 | 2400 |     00:45:19 |   89.84% |  72.84% |  0.3195 | 1.2183 |  0.0003 | |  35 | 2450 |     00:46:47 |   90.62% |  73.52% |  0.2949 | 1.2095 |  0.0003 | |  35 | 2500 |     00:48:17 |   90.62% |  73.85% |  0.2368 | 1.2068 |  0.0003 | |  36 | 2550 |     00:49:47 |   90.62% |  73.68% |  0.2423 | 1.2037 |  0.0003 | |  37 | 2600 |     00:50:31 |   92.19% |  73.75% |  0.2511 | 1.2154 |  0.0003 | |  37 | 2650 |     00:51:37 |   96.88% |  73.49% |  0.1041 | 1.2017 |  0.0003 | |  38 | 2700 |     00:53:10 |   86.72% |  73.88% |  0.3460 | 1.2474 |  0.0003 | |  39 | 2750 |     00:54:31 |   91.41% |  73.78% |  0.2129 | 1.2496 |  0.0003 | |  39 | 2800 |     00:55:55 |   92.19% |  73.78% |  0.2755 | 1.2247 |  0.0003 | |  40 | 2850 |     00:56:50 |   91.41% |  73.52% |  0.1725 | 1.2715 |  0.0003 | |  40 | 2880 |     00:57:33 |   91.41% |  74.17% |  0.2438 | 1.2292 |  0.0003 | |=============================================================================| 训练结束: 已完成最大轮数。 测试准确率: 74.39% 不支持将脚本 confusionchart 作为函数执行: C:\Program Files\MATLAB\R2024a\toolbox\shared\mlearnlib\confusionchart.m 出错 untitled (第 78 行) confusionchart(cm, categories(testLabelsCategorical));
06-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值