Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Matlab实现采集电脑的CPU等硬件信息_创想鸟

Matlab实现采集电脑的CPU等硬件信息

matlab实现采集电脑的cpu等硬件信息

不多废话,直接展示代码

微信 WeLM 微信 WeLM

WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。

微信 WeLM 33 查看详情 微信 WeLM

代码语言:javascript代码运行次数:0运行复制“`javascriptfunction info = cpuinfo()% CPU数据采集% 信息 = CPUINFO()返回一个包含不同字段的结构% 中央处理器和操作系统信息由/proc/cpuinfo(Unix)、% sysctl(Mac)或WMIC(Windows)提供。% CPU名称% CPU的时钟频率% CPU缓存大小(L2)% 物理CPU核心数% * 操作系统名称和版本%% 参见: computer, isunix, ismac

if isunix % 判断是否为UNIX系统if ismac % 判断是否为Mac系统info = cpuInfoMac();elseinfo = cpuInfoUnix();endelseinfo = cpuInfoWindows();end

%————————————————————————-function info = cpuInfoWindows()sysInfo = callWMIC(‘cpu’);osInfo = callWMIC(‘os’);info = struct( …’Name’, sysInfo.Name, …’Clock’, [sysInfo.MaxClockSpeed, ‘ MHz’], …’Cache’, [sysInfo.L2CacheSize, ‘ KB’], …’NumProcessors’, str2double(sysInfo.NumberOfCores), …’OSType’, ‘Windows’, …’OSVersion’, osInfo.Caption); % 输出结构

%————————————————————————-function info = callWMIC(alias)% 调用Windows管理命令行WMIColddir = pwd(); % 保存当前目录cd(tempdir); % 切换到临时目录sysinfo = evalc(sprintf(‘!wmic %s get /value’, alias)); % 执行WMIC命令cd(olddir); % 切换回原目录fields = textscan(sysinfo, ‘%s’, ‘Delimiter’, ‘n’);fields = fields{1}; % 处理数据fields(cellfun(‘isempty’, fields)) = []; % 去除空行values = cell(size(fields));for ff = 1:numel(fields)idx = find(fields{ff} == ‘=’, 1, ‘first’); % 查找等号if ~isempty(idx) && idx > 1values{ff} = strtrim(fields{ff}(idx+1:end)); % 提取值fields{ff} = strtrim(fields{ff}(1:idx-1)); % 提取字段名endend% 删除任何重复项(仅适用于双插槽电脑,我们假设所有插槽有相同的处理器)。numResults = sum(strcmpi(fields, fields{1}));if numResults > 1% 计算核心数numCoresEntries = find(strcmpi(fields, ‘NumberOfCores’));if ~isempty(numCoresEntries)cores = cellfun(@str2double, values(numCoresEntries));values(numCoresEntries) = {num2str(sum(cores))};end% 去除重复结果[fields, idx] = unique(fields, ‘first’);values = values(idx);end% 数据转换info = cell2struct(values, fields);

%————————————————————————-function info = cpuInfoMac()% Mac系统与Windows类似machdep = callSysCtl(‘machdep.cpu’);hw = callSysCtl(‘hw’);info = struct( …’Name’, machdep.brand_string, …’Clock’, [num2str(str2double(hw.cpufrequency_max)/1e6), ‘ MHz’], …’Cache’, [machdep.cache.size, ‘ KB’], …’NumProcessors’, str2double(machdep.core_count), …’OSType’, ‘Mac OS/X’, …’OSVersion’, getOSXVersion());

%————————————————————————-function info = callSysCtl(namespace)infostr = evalc(sprintf(‘!sysctl -a %s’, namespace));% 移除前缀infostr = strrep(infostr, [namespace, ‘.’], ”);% 现在转换为结构infostr = textscan(infostr, ‘%s’, ‘delimiter’, ‘n’);infostr = infostr{1};info = struct();for ii = 1:numel(infostr)colonIdx = find(infostr{ii} == ‘:’, 1, ‘first’);if isempty(colonIdx) || colonIdx == 1 || colonIdx == length(infostr{ii})continueendprefix = infostr{ii}(1:colonIdx-1);value = strtrim(infostr{ii}(colonIdx+1:end));while ismember(‘.’, prefix)dotIndex = find(prefix == ‘.’, 1, ‘last’);suffix = prefix(dotIndex+1:end);prefix = prefix(1:dotIndex-1);value = struct(suffix, value);endinfo.(prefix) = value;end

%————————————————————————-function vernum = getOSXVersion()% 提取操作系统版本号ver = evalc(‘system(”sw_vers”)’);vernum = regexp(ver, ‘ProductVersion:s([1234567890.]*)’, ‘tokens’, ‘once’);vernum = strtrim(vernum{1});

%————————————————————————-function info = cpuInfoUnix()txt = readCPUInfo();cpuinfo = parseCPUInfoText(txt);txt = readOSInfo();osinfo = parseOSInfoText(txt);% 合并结构info = cell2struct([struct2cell(cpuinfo); struct2cell(osinfo)], …[fieldnames(cpuinfo); fieldnames(osinfo)]);

%————————————————————————-function info = parseCPUInfoText(txt)% 解析字段lookup = { …’model name’, ‘Name’ …’cpu Mhz’, ‘Clock’ …’cpu cores’, ‘NumProcessors’ …’cache size’, ‘Cache’ …};info = struct( …’Name’, {”}, …’Clock’, {”}, …’Cache’, {”} );for ii = 1:numel(txt)if isempty(txt{ii})continue;end% 查找分隔属性名和值的冒号colon = find(txt{ii} == ‘:’, 1, ‘first’);if isempty(colon) || colon == 1 || colon == length(txt{ii})continue;endfieldName = strtrim(txt{ii}(1:colon-1));fieldValue = strtrim(txt{ii}(colon+1:end));if isempty(fieldName) || isempty(fieldValue)continue;end% 是否为我们感兴趣的字段之一?idx = find(strcmpi(lookup(:,1), fieldName));if ~isempty(idx)newName = lookup{idx,2};info.(newName) = fieldValue;endend% 转换时钟速度info.Clock = [info.Clock, ‘ MHz’];% 转换核心数info.NumProcessors = str2double(info.NumProcessors);

%————————————————————————-function info = parseOSInfoText(txt)info = struct( …’OSType’, ‘Linux’, …’OSVersion’, ”);% 查找字符串”linux version”然后查找括号内的内容[~, b] = regexp(txt, ‘[^(](([^)])).*’, ‘match’, ‘tokens’, ‘once’);info.OSVersion = b{1}{1};

%————————————————————————-function txt = readCPUInfo()fid = fopen(‘/proc/cpuinfo’, ‘rt’);if fid

输出结果如下

代码语言:javascript代码运行次数:0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor">运行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制```javascript>> info = cpuinfo()info = 包含以下字段的 struct:Name: '12th Gen Intel(R) Core(TM) i5-12500H'Clock: '2500 MHz'Cache: '9216 KB'NumProcessors: 12OSType: 'Windows'OSVersion: 'Microsoft Windows 11 家庭中文版'

以上就是Matlab实现采集电脑的CPU等硬件信息的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/463892.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
win7文件夹图标该如何更改?
上一篇 2025年11月8日 04:41:38
百度影音开机自启动怎么办 禁止百度影音开机启动的方法
下一篇 2025年11月8日 04:41:45

相关推荐

  • 有趣的操作系统:文件IO和网络IO

    一、从i/o开始 在学习和使用计算机的过程中,i/o(输入/输出)是不可避免的一个概念,指的是操作、程序或设备与计算机之间发生的数据传输过程。 对于计算机来说,I/O操作和计算处理是其两大核心任务,其中大部分时间都用于执行I/O操作。I/O操作包括硬件和软件两部分,即I/O设备和I/O子系统。 I/…

    2026年9月21日
    000
  • Linux中如何查看进程状态_Linux进程状态查看的详细方法

    掌握Linux进程查看方法可高效管理程序,常用ps aux或ps -ef查看进程快照,top和htop实时监控,/proc/PID/目录下获取详细状态,pgrep和pidof快速定位PID。 在Linux系统中,查看进程状态是系统管理和故障排查中的基本操作。掌握多种方法可以更高效地监控和管理运行中的…

    2026年9月21日
    1200
  • 控制台命令(Console Command)开发

    控制台命令是程序员日常工作中不可或缺的工具,它提高了开发效率并帮助理解和控制程序运行。1) 通过简单的文本输入,完成复杂任务,如文件管理和系统监控。2) 控制台命令可用于快速调试、测试代码和自动化重复工作。3) 开发控制台命令时需注意安全性和兼容性问题。4) 控制台命令可实现有趣功能,如监控服务器资…

    2026年9月21日
    100
  • 微信收藏内容丢失怎么办

    首先检查网络并刷新收藏页面,确认是否误删或设备缓存问题;接着通过电脑版或其他设备登录同一账号查看收藏是否同步存在;若内容仍可访问,说明数据未丢失,可重新同步;若已丢失且无备份,则无法通过官方途径单独恢复;建议将重要收藏导出为文档、截图或转发至“文件传输助手”,并定期同步至云笔记应用;同时保持微信更新…

    2026年9月21日
    100
  • Linux如何恢复被删除的用户数据

    恢复Linux被删数据需立即停用磁盘并使用photorec或extundelete等工具,结合快照或备份可提高恢复成功率。 恢复Linux中被删除的用户数据,并非易事,但并非完全不可能。可能性取决于数据被删除的方式、删除后系统是否被继续使用,以及是否采取了合适的预防措施。核心在于理解数据删除的机制,…

    2026年9月21日
    200
  • Windows10无法启用或关闭Windows功能怎么办_Windows10Windows功能无法启用关闭修复方法

    首先启动Windows Modules Installer服务,然后通过注册表编辑器设置RegistrySizeLimit为FFFFFFFF以释放内存限制,接着使用SFC和DISM命令修复系统文件,最后运行系统自带的疑难解答工具并重启电脑,可解决Windows功能窗口加载缓慢或空白的问题。 如果您尝…

    2026年9月21日
    000
  • edge浏览器怎么设置网页的最小字号_edge浏览器字体显示大小调整技巧

    1、调整Edge浏览器字体大小可改善阅读体验,进入设置→外观→字体大小,选择“大”或“超大”;2、通过edge://settings/fonts设置最小字体大小,防止文字过小;3、使用右上角缩放功能或Ctrl+滚轮临时放大页面;4、在辅助功能中开启自定义字体并选择易读字体如“微软雅黑”,提升可读性。…

    2026年9月21日
    300
  • Windows10提示“远程过程调用失败”怎么办_Windows10RPC远程过程调用失败修复方法

    首先检查并启动RPC相关服务,确保Remote Procedure Call (RPC)和DCOM Server Process Launcher设为自动并运行;其次临时关闭防火墙和杀毒软件以排除网络通信阻断;接着使用sfc /scannow和DISM命令修复系统文件;最后确认网络适配器中TCP/I…

    2026年9月21日
    000
  • Maingear电脑黑屏问题如何修复?专业级主机BIOS设置方法详尽

    Maingear电脑黑屏问题通常由BIOS设置、硬件接触不良或显示输出配置引起。首先应尝试进入BIOS,检查并调整显卡输出模式为PCIe/PEG,确保未误设为集成显卡;排查PCIe插槽模式兼容性,必要时切换为Gen3或Auto;若启动异常,可尝试切换UEFI/Legacy模式或恢复BIOS默认设置(…

    2026年9月21日
    000
  • mysql安装后如何优化配置文件

    答案:优化MySQL配置需先定位配置文件,再根据硬件和业务调整内存、InnoDB、连接等核心参数。具体包括设置innodb_buffer_pool_size为物理内存50%~70%,合理配置日志参数与连接数,启用慢查询日志,并使用工具辅助调优,避免过度配置,确保稳定高效。 MySQL 安装后,优化配…

    2026年9月21日
    000
  • Linux怎么列出系统中已安装的deb包

    使用dpkg -l或apt list –installed可列出已安装的.deb包,前者结合grep ^ii过滤已安装项,后者输出更清晰,两者均支持重定向保存到文件。 在Linux系统中,特别是基于Debian的发行版(如Ubuntu),可以使用命令行工具列出已安装的.deb包。最常用的…

    2026年9月21日
    000
  • VSCode的括号匹配功能如何自定义?

    可通过 settings.json 自定义括号高亮的边框和背景色;2. 用 editor.matchBrackets 控制是否启用高亮;3. 启用 bracketPairColorization 可为嵌套括号着色;4. 使用 Ctrl/Cmd + Shift + 快速跳转配对括号。 VSCode 的…

    2026年9月21日
    000
  • 华为Mate 60 Pro WiFi频繁断开解决办法 华为Mate 60 Pro网络稳定技巧

    关闭路由器“双频合一”功能,设置独立的2.4G和5G频段名称,根据使用场景手动连接对应网络,并确保手机系统更新、重启设备、重新输入密码连接,可显著提升华为Mate 60 Pro的WiFi稳定性。 华为Mate 60 Pro出现WiFi频繁断开,通常和路由器设置、信号干扰或手机系统状态有关。想要网络更…

    2026年9月21日
    000
  • 如何基于Swoole开发自定义框架?

    基于swoole开发自定义框架可以通过以下步骤实现:1. 创建核心app类,初始化swoole服务器并定义回调函数;2. 实现路由功能,使用router类处理请求分发;3. 添加中间件支持,使用middleware类处理请求;4. 集成异步数据库操作,使用swoole的mysql协程客户端;5. 实…

    2026年9月21日
    000
  • Linux如何使用dnf安装软件包

    dnf是Fedora、CentOS Stream和RHEL 8+的默认包管理工具,用于安装、更新、删除软件包。1. 安装单个包:sudo dnf install package_name,如htop;2. 安装多个包:sudo dnf install vim curl;3. 从本地.rpm文件安装:…

    2026年9月21日
    000
  • windows10如何使用资源监视器查看网络和磁盘活动_windows10资源监视器使用方法

    资源监视器可精确定位Windows 10系统中导致网络延迟或磁盘响应缓慢的高占用进程,通过“网络”和“磁盘”选项卡实时监控各进程的流量、连接、读写速度及响应时间,帮助识别异常程序并分析性能瓶颈。 如果您发现Windows 10系统网络延迟或磁盘响应缓慢,可能是某些进程在后台大量占用资源。资源监视器能…

    2026年9月21日
    100
  • 在Java中如何实现线程优先级控制

    Java中线程优先级通过Thread类实现,取值范围1-10,分别对应MIN_PRIORITY、NORM_PRIORITY和MAX_PRIORITY;新线程继承父线程优先级,可通过setPriority()设置;尽管高优先级线程更可能被调度,但执行顺序不保证,因受操作系统影响;应避免依赖优先级控制关…

    2026年9月21日
    000
  • Windows11的Hyper-V虚拟机无法启动怎么解决_Windows11Hyper-V虚拟机无法启动修复方法

    首先检查BIOS中是否启用虚拟化技术,再确认Hyper-V服务运行状态,接着修复虚拟硬盘权限,尝试关闭内存完整性,检查虚拟机引导记录,最后可重装Hyper-V功能解决启动失败问题。 如果您尝试在Windows 11系统中启动Hyper-V虚拟机时遇到失败,可能是由于服务配置、权限问题或硬件兼容性导致…

    2026年9月21日
    000
  • Bing搜索主页官方地址_Bing搜索官方网站登录网址

    Bing搜索主页官方地址是https://www.bing.com/,页面布局简洁,顶部为搜索框,下方展示个性化信息模块,并每日更新全球高清背景图片。 Bing搜索主页官方地址在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来Bing搜索官方网站登录网址,感兴趣的网友一起随小编来瞧瞧吧! h…

    2026年9月21日
    000
  • Linux文件和目录管理常见命令

    Linux文件和目录管理依赖于ls、cd、mkdir、rm、cp、mv等核心命令,用于浏览、创建、删除、复制和移动文件与目录;通过find、du、grep等命令可查找文件、定位大文件并清理磁盘空间;使用rename、mmv或脚本可实现批量重命名;为安全起见,应谨慎使用rm命令,推荐结合-i选项或使用…

    2026年9月21日
    000

发表回复

登录后才能评论
关注微信