matlab函数

ex3 多分类和神经网络

倾然丶 夕夏残阳落幕 提交于 2019-12-01 16:10:42
介绍 在本练习中,您将实现一对多逻辑回归和神经识别手写数字的网络。在开始编程之前练习,我们强烈建议观看视频讲座并完成相关主题的复习问题。要开始练习,您需要下载起始代码并将其内容解压缩到要完成练习的目录。如果需要,请在开始本练习之前使用octave/matlab中的cd命令更改到此目录。您也可以在课程网站的“环境设置说明”中找到安装Octave/Matlab的说明。 本练习中包含的文件 ex3.m-octave/Matlab脚本,它引导您完成第1部分 ex3 nn.m-octave/matlab脚本,它引导您完成第2部分 ex3data1.mat-手写数字训练集 ex3weights.mat-神经网络练习的初始权重 submit.m-将解决方案发送到我们服务器的提交脚本 displaydata.m-帮助可视化数据集的函数 fmincg.m-函数最小化例程(类似于fminunc) sigmoid-S形函数 [*]lrcostfunction.m-逻辑回归成本函数 [*]one vs all.m-训练一对多分类器 [*]PredictOneVsall.m-使用一对多分类进行预测 [*]predict.m-神经网络预测功能 *表示需要完成的文件 在整个练习中,您将使用脚本ex3.m和ex3 nn.m。这些脚本为问题设置数据集,并调用要编写的函数。不需要修改这些脚本

编程作业ex3:多元分类与神经网络

假装没事ソ 提交于 2019-12-01 10:23:25
一、多元分类 1.1 数据集 本次实现的是手写数字的识别,数据集中有5000个样本,其中每个样本是20*20像素的一张图片,每个像素都用一个点数来表示,该点数表示这个位置的灰度,将20*20的像素网络展开为400维向量,而训练集中的5000*400的矩阵,每一行就代表了一个手写数字图像的灰度值。 训练集的第二部分是5000维向量y,包含训练集的标签,为了与没有0索引的MATLAB索引兼容,我们将数字零映射到10,因此,\ 0“数字被标记为\ 10”,而数字\ 1“至\ 9”则按照其自然顺序被标记为\ 1“至\ 9”。 1.2 可视化数据 可视化数据的代码已经完成,运行可以看到随机从数据集中挑选出来的100个数字 数据可视化函数: function [h, display_array] = displayData(X, example_width) %DISPLAYDATA Display 2D data in a nice grid % [h, display_array] = DISPLAYDATA(X, example_width) displays 2D data % stored in X in a nice grid. It returns the figure handle h and the % displayed array if requested. % Set

matlab学习笔记8 基本绘图命令-基本绘图操作

北战南征 提交于 2019-12-01 10:06:42
一起来学matlab-matlab学习笔记8 基本绘图命令_2基本绘图操作 觉得有用的话,欢迎一起讨论相互学习~ Follow Me 参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效 MATLAB的基本绘图函数包括line函数、plot函数和polar函数,line函数是直角坐标系中简单绘图函数,plot函数是直角坐标系中常用的绘图函数,而polar函数是极坐标中的绘图函数。 一个完整的图形应该包括图形的生成、坐标轴名称、图形的标题、图形中曲线的注释和图形中曲线的线性及颜色等方面。 在一张图中分别打印sin和cos函数曲线 x=0:0.05*pi:2*pi; %按步长赋值生成x数组 y1=sin(x); y2=cos(x); %生成正弦、余弦函数值数组y1、y2 plot(x,y1,'r*',x,y2,'m+') %在窗口中画出正弦、余弦曲线 使用subplot创建多重子图 a=subplot(m,n,i):此命令将当前窗口分割成m*n个子图,并将第i个子图作为当前视图,返回值a为当前视图的句柄值。其中每个子图都完全等同于一个完整的图形窗口,可在其中完成所有图形操作命令。这些图按行编号,即位于第口行b列处是其第(a-1)n+b个子图。 x=(

matlab学习笔记7-定时器

…衆ロ難τιáo~ 提交于 2019-12-01 08:52:25
一起来学matlab-matlab学习笔记7-定时器 觉得有用的话,欢迎一起讨论相互学习~ Follow Me 参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 注意:定时器不是指 计时器 使用MATLAB定时器的步骤如下: (1)创建定时器对象。 (2)设置定时器,包括定时器的触发事件与其他属性。 (3)启动定时器对象。 (4)删除定时器对象。 设计简单的定时器 定时器创建 读取和设置定时器属性 定时器对象有很多属性,这些属性反映了定时器当期的状态和控制信息。 读取定时器属性 读取定时器的某个属性,可以使用get函数或者ObjectName.Property的方法读取。下面代码使用get函数来读取ExecuionMode属性。 设置定时器属性 与读取定时器属性的方法相对应,使用set函数或者ObjectName.Properties可以设置定时器属性。此外,也可以创建定时器的同时设置定时器属性 用两种方法来设置定时器的属性 用set函数可查看可设置的属性(有些属性是只读的),只用定时器作参数,将返回所有可以用set函数来设置的属性。如返回一下创建的定时器t: 启动与停止定时器 启动定时器有两种方式,一是定时器启动后按秒计时,另一种按特定的时间来计时,比如一个小时、一天。前者可直接用start函数来启动。 另外,在启动定时器后

matlab学习笔记5--低级文件输入输出函数

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-01 08:42:06
一起来学matlab-matlab学习笔记5 低级文件输入输出函数 觉得有用的话,欢迎一起讨论相互学习~ Follow Me 参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 MATLABt提供了一组低级文件I/O函数,这些函数都是基于ANSI标准C库的I/O. MATLAB文件I/O函数使用与C语言子程序一样的设计模式,要读/写数据,需要执行以下步骤。 (1)使用fopen函数打开文件。fopen返回文件的标识符,标识符将被用在所有其他低级文件I/O函数中。 (2)在文件上进行以下操作: 口使用fread函数读二进制数据。 口使用fwrite函数写二进制数据。 口使用fgets/fgetl函数从文本文件中逐行读字符串。 口使用fscanf函数读格式化的ASCII数据。 口使用fprintf函数写格式化的ASCII数据。 (3)使用fclose函数关闭文件。 除了上述操作步骤,还将涉及读/写数据时,如何确定文件上读/写的位置,以及怎样改变位置。 打开文件 >>fid=fopen('fgetl.m'); tline=fgetl(fid); while ischar(tline) disp(tline); tline=fgetl(fid); end fclose(fid); 验证文件的标识符,确保能成功打开所需要的文件

matlab学习笔记4--多媒体文件的保存和读取

时间秒杀一切 提交于 2019-12-01 07:25:35
一起来学matlab-matlab学习笔记4 数据导入和导出_2 多媒体文件的保存和读取 觉得有用的话,欢迎一起讨论相互学习~ Follow Me 参考书籍 《matlab 程序设计与综合应用》张德丰等著感谢张老师的书籍,让我领略到matlab的便捷 导入/导出图形文件 imread函数 使用imread函数可以将图形文件导入到MATLAB工作空间。imread函数支持标准文件格式的图形文件,包括TIFF(TaggedImageFileFormat)、GIF(GraphicsInterchangeFormat)、JPEG(JointPhotographicExpertsGroup)以及PNG(PortableNetworkGraphics)格式。下面命令将JPEG格式的图形数据读到MATLAB工作空间,用数组imdata存储 imwrite函数 imwrite函数可以从MATLAB工作空间中导出标准格式的图形文件,支持的格式与imread相同。下面语句将MATLAB工作空间中的多维数组数据X读取到TIFF格式的文件中。 导入/导出图形文件 MATLAB中有很多函数可以查询包含音频和视频数据的文件信息,如mmfilinfo函数。同时,MATLAB提供了很多导入音/视频数据到工作空间的函数,可以从文件中导入,也可以利用输入设备录制,如麦克风。 导入音/视频的函数主要有auread

python skimage图像处理(一)

安稳与你 提交于 2019-12-01 05:00:47
python skimage图像处理(一) This blog is from: https://www.jianshu.com/p/f2e88197e81d 基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。 PIL和Pillow只提供最基础的数字图像处理,功能有限;opencv实际上是一个c++库,只是提供了python接口,更新速度非常慢。scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,正好与matlab一样,因此,我们最终选择scikit-image进行数字图像处理。 Image读出来的是PIL的类型,而skimage.io读出来的数据是numpy格式的 import Image as img import os from matplotlib import pyplot as plot from skimage import io,transform #Image和skimage读图片 img_file1 = img.open('./CXR_png/MCUCXR_0042_0.png') img_file2 = io.imread('./CXR_png/MCUCXR_0042_0.png') 输出可以看出Img读图片的大小是图片的(width, height)

Python玩转人工智能最火框架 TensorFlow应用实践 ☝☝☝

送分小仙女□ 提交于 2019-12-01 04:19:48
Python玩转人工智能最火框架 TensorFlow应用实践 随着 TensorFlow 在研究及产品中的应用日益广泛,很多开发者及研究者都希望能深入学习这一深度学习框架。而在昨天机器之心发起的框架投票中,2144 位参与者中有 1441 位都在使用 TensorFlow 框架,是所有框架中使用率最高的。但 TensorFlow 这种静态计算图有一定的学习成本,因此也阻挡了很多准备入坑的初学者。本文介绍了学习 TensorFlow 的系列教程,旨在通过简单的理论与实践帮助初学者一步步掌握 TensorFlow 的编程技巧。 这一系列教程分为 6 部分,从为什么选择 TensorFlow 到卷积神经网络的实现,介绍了初学者所需要的技能。机器之心在本文介绍了 PyTorch 和 Caffe 等深度学习框架的优缺点及 TensorFlow 基础,包括静态计算图、张量、TensorBoard 可视化和模型参数的保存等。 为什么选择 TensorFlow? 在本文中,我们将对比当前最流行的深度学习框架(包括 Caffe、Theano、PyTorch、TensorFlow 和 Keras),帮助你为应用选择最合适的框架。 1. Caffe :第一个主流产品级深度学习库,于 2014 年由 UC Berkeley 启动。 优点: 快速 支持 GPU 漂亮的 Matlab 和 Python 接口

编程作业ex2:Logistic 回归

不羁的心 提交于 2019-11-30 15:52:29
1、logistic回归 1.1 可视化数据 打开ex2data1.txt观察数据 第一列和第二列为两次考试的成绩,第三列代表该生是否能被录取,1代表录取,0代表不录取 读取数据: data = load('ex2data1.txt'); X = data(:, [1, 2]); y = data(:, 3); % 将数据集前两列赋给X,将数据集最后一列赋给y 将样本数据绘制在图上,坐标轴是两次考试的成绩,两种标记代表了他们能否被录取。 function plotData(X,y) figure; hold on; % 用find函数寻找1和0的项,返回的位置分别存在pos和neg中 pos = find(y == 1); neg = find(y == 0); % 画图 plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);% X(pos,1),X(pos,2)为能够被录取样本的两次考试成绩,k+表示线型为加号型,黑色,线宽为2,标记大小为7 plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y','MarkerSize', 7);% X(neg,1),X(neg,2)为不能被录取样本的两次考试成绩值,ko表示线型为圆圈,黑色,填充色为黄色

matlab filtfilt 函数

╄→尐↘猪︶ㄣ 提交于 2019-11-30 11:55:16
紧接上一篇,简单分析matlab中的非常好用的 filtfilt 函数,一款零相移滤波函数。 其matlab中的语法如下: y = filtfilt(data,x); 1 非常简单,不是一般的简单!然而,其他语言中,不能用!。。。所以只能深扒matlab代码。。。 y = filter(b(:,ii),a(:,ii),y,zi(:,ii)*y(1)); y = y(end:-1:1); y = filter(b(:,ii),a(:,ii),y,zi(:,ii)*y(1)); y = y(end-nfact:-1:nfact+1); 1 2 3 4 意思即: 滤波–翻转–再滤波–再翻转 所以在c语言的编写中,只要写好了滤波函数,加之以上的整个过程,即可实现此零相移滤波函数。 另外,在matlab中的filtfilt函数中,对原始信号进行了一次拼接 ———————————————— 版权声明:本文为CSDN博主「yuchendai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u010856402/article/details/79296531 来源: https://www.cnblogs.com/hjj-fighting/p/11582554.html