热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlab和Python线性规划

先说matlab,数据用csv文件,打开数据用csvread函数注意:csvread函数只试用与用逗号分隔的纯数字文件第一种&#x

先说matlab,数据用csv文件,

打开数据


用csvread函数

注意:csvread函数只试用与用逗号分隔的纯数字文件

第一种:M = CSVREAD(‘FILENAME’) ,直接读取csv文件的数据,并返回给M

第二种:M = CSVREAD(‘FILENAME’,R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。

第三种:M = CSVREAD(‘FILENAME’,R,C,RNG),其中 RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。

注意:matlab认为CSV第1行第1列的单元格坐标为(0,0)

例1.1 读取整个文件
csvread(‘csvlist.csv’)
例1.2 读取第2行以下,第0列以右区域的数据
m = csvread(‘csvlist.dat’, 2, 0)
例1.3 读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据
m = csvread(‘csvlist.dat’, 2, 0, [2,0,3,3])

使用textscan函数

在使用textscan函数前必须用fopen函数打开CSV文件。textscan函数读取的结果会存在cell数组中。
help textscan
可以知道该函数可以通过控制参数,从文本文件或字符串文件中读取数据
C = textscan(FID,’FORMAT’) reads data from an open text file identified by FID into cell array C. Use FOPEN to open the file and obtain FID. The FORMAT is a string of conversion specifiers enclosed in single quotation marks(由单括号括起来的一串字符说明). The number of specifiers determines the number of cells in the cell array C. (说明字符的数量决定了输出cell的数量)For more information, see “Format Options.”

C = textscan ( FID, ‘FORMAT’ ,N) reads data from the file, using the FORMAT N times, where N is a positive integer. To read additional data from
the file after N cycles, call textscan again using the original FID.

C = textscan (FID, ‘FORMAT’, ‘PARAM’, VALUE) accepts one or more comma-separated parameter name/value pairs. For a list of parameters and values, see “Parameter Options.”

C = textscan(FID,’FORMAT’,N,’PARAM’,VALUE) reads data from the file, using the FORMAT N times, and using settings specified by pairs of PARAM/VALUE arguments.

C = textscan(STR,…) reads data from string STR. You can use the FORMAT, N, and PARAM/VALUE arguments described above with this syntax. However, for strings, repeated calls to textscan restart the scan from the beginning each time.(重复调用时每次从文件首部开始) (To restart a scan from the last position, request a POSITION output. See also Example 3.)

[C, POSITION] = textscan(…) returns the file or string position at the end of the scan as the second output argument. For a file, this is the value that FTELL(FID) would return after calling textscan(将读取位置作为第二个参数输出). For a string, POSITION indicates how many characters textscan read.(对于字符串而言,位置参数显示了以读取的字符数)

Supported values for SPECIFIER:

Numeric Input Type Specifier Output Class------------------ --------- ------------Integer, signed %d int32%d8 int8%d16 int16%d32 int32%d64 int64Integer, unsigned %u uint32%u8 uint8%u16 uint16%u32 uint32%u64 uint64Floating-point number %f double%f32 single%f64 double%n double

其他格式可以看帮助文档
Examples:

Example 1: Read each column of a text file.Suppose the text file 'mydata.dat' contains the following:Sally Level1 12.34 45 1.23e10 inf Nan Yes 5.1+3iJoe Level2 23.54 60 9e19 -inf 0.001 No 2.2-.5iBill Level3 34.90 12 2e5 10 100 No 3.1+.1iRead the file:fid = fopen('mydata.dat');C = textscan(fid, '%s%s%f32%d8%u%f%f%s%f');fclose(fid);textscan returns a 1-by-9 cell array C with the following cells:C{1} = {'Sally','Joe','Bill'} %class cellC{2} = {'Level1'; 'Level2'; 'Level3'} %class cellC{3} = [12.34;23.54;34.9] %class singleC{4} = [45;60;12] %class int8C{5} = [4294967295; 4294967295; 200000] %class uint32C{6} = [Inf;-Inf;10] %class doubleC{7} = [NaN;0.001;100] %class double C{8} = {'Yes','No','No'} %class cellC{9} = [5.1+3.0i; 2.2-0.5i; 3.1+0.1i] %class double

感谢:http://blog.sina.com.cn/s/blog_a0246c110101v1k3.html

拟合


cftool

可以进行拟合,很方便的看到拟合效果
1. 右键还能一键保存在底部的table of fits 中选中行右键,save … to Workspace
2. 也可以生成M文件,函数输出fitresult,和gofl两个量。其中fitresult为函数拟合的变量结果,用fitresult.参数名就可以查看参数。
3. 比如你想模拟 y = p(1)*x + p(2);
通过lsqcurvefit函数得到了 p(1)和p(2);
你把方程右边变成字符串类型: str = [num2str(p(1)),’*x+’,num2str(p(2))];
然后global y; y = inline(str);
然后再另一个控件的callback中,global y; 假设自变量x=1,输入y(1)就会得到因变量y的值

命令行调用

fit:用曲线或曲面拟合数据
fitobject = fit(x,y,fitType)按fittype说明的参数对x,y进行拟合
fitobject = fit([x,y],z,fitType)三元
fitobject = fit(x,y,fitType,fitOptions)按fitoptions设置的参数用fittype对xy进行拟合
fitobject = fit(x,y,fitType,Name,Value)
[fitobject,gof] = fit(x,y,fitType)
[fitobject,gof,output] = fit(x,y,fitType)

感谢:http://cn.mathworks.com/help/curvefit/fit.html?s_tid=gn_loc_drop


推荐阅读
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
author-avatar
高高G0623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有