matlab学习笔记(基础)
来源:互联网 发布:云上贵州大数据 编辑:程序博客网 时间:2024/05/21 00:16
开头第一段
怎么讲,学matlab的当前目标是看懂别人的matlab代码,所以先跳过前面一堆命令行,看看matlab代码是个什么。
这一块内容也是我自己一边看书一边写,所以内容会不断增加的。写的不好不要骂我,但可以随便讲我,哈哈。估计也没太多人看,毕竟很基础的东西。
MATLAB程序
说明
首先,一个用文本形式保存的matlab代码有两种形式:matlab脚本和matlab函数,他们的扩展名都是.m。
脚本和函数相对于命令行的优点我就不说了……因为详细说我感觉很脑残……
创建
其次,创建方法是–>File|New|script(脚本)/Function(函数)。
创建好程序,那就要步入正题了,一个matlab程序应该怎么写,里面一堆函数怎么用,开始吧。
编写
1、注释
%注释文本
注释个是很简单格式。主要需要注意的就是注释的编码风格,要适当的编写注释以方便以后的阅读。
2、控制输入输出
matlab提供了很多输入输出命令。
3、逻辑与关系
一段程序基本结构,分支、循环,那要构造这些结构,首先要了解逻辑变量和关系运算符。
1关系运算符
什么鬼
关系运算符 含义 < 小于 > 大于 == 等于 ~= 不等于
PAY ATTENTION:这里和其他语言不太一样
2逻辑类和逻辑类构造函数
类名称:logical
构造函数:logical(A),其中A是一个数值数组
PS:A中任何非0数将会赋值为逻辑1
3逻辑运算符和函数
逻辑运算符
逻辑函数
逻辑函数 含义 all(x) 返回标量
矢量x中所有元素都非零,则标量为1,否则为0 all(A) 返回一个行矢量
把A的每一列视为x,即同上 any(x) 返回标量
矢量x中有任意非零元素,返回1,否则返回0 any(A) 返回一个行矢量
把A的每一列视为x,即同上 find(A) 返回一个行矢量
包含A中非零向量的索引 [u,v,w]=find(A) 返回u,v,w
u包含A中非零元素的行索引,v包含A中非零元素的列索引,w包含A中非零元素的值 finite(A) 返回维数与A相同的数组
在A中元素为有限值的地方为1,否则为0 ischar(A) 返回标量
A是字符数组,返回1,否则返回0 isempty(A) 返回标量
A是空矩阵,返回1,否则返回0 isinf(A) 返回维数与A相同的数组
A中元素为inf的地方,返回1,否则返回0 isnan(A) 返回维数与A相同的数组
A中元素为nan的地方,返回1,否则返回0(nan:not a number) isnumeric(A) 返回标量
A是数值数组,返回1,否则返回0 isreal(A) 返回标量
A中没有任何元素具有虚部,返回1,否则返回0 logical(A) 返回维数与A相同的数组
将A中元素转化为逻辑值 xor(A,B) 返回维数与A和B相同的数组
A或B中该位置非零且不同时为零,则该位置为1,否则为零
4、分支语句/条件语句
if-else
if 逻辑表达式 语句else 语句end
if-else连续调用
——elseif
if 逻辑1 语句elseif 逻辑2 语句else 语句end
switch语句
switch 表达式 case 值1 语句 case 值2 语句 ... otherwise 语句end
5、循环
for循环
for 循环变量 = m:s:n %m初值,s步长,n终止值语句end
PS:
matlab中循环标记变量尽量不要使用i,因为i在matlab中被作为虚数单位。
隐含循环
Example:
x = [0:5:100];y = cos(x);
等价于
for k = 1:21 x = (k-1)*5; y(k) = cos(x);end
while循环
while 逻辑表达式 语句end
调试
——debug菜单
名称 功能 save and run (在哪儿呢……我没找到……等把书看完了我试试,嗯,找到了)保存并运行 step 步进 step in 进入被调函数步进 step out 运行剩余函数部分,跳出到外部函数
画图
画图这应该也算一个重点了,因为图像是我们理解函数的重要途径和手段。
符号函数的绘制
说实话什么是符号函数我还不是很清楚。不过根据万能的百度,符号函数一般来说是指:
数学上的Sgn 函数返回一个整型变量,指出参数的正负号。语法Sgn(number), number 参数是任何有效的数值表达式。返回值如果 number 大于0,则Sgn 返回1;等于0,返回0;小于0,则返回-1。number 参数的符号决定了Sgn 函数的返回值。
不过我从这本matlab的书上看到它上面的一些举例代码来看,所处理的函数包括:余弦函数、螺旋曲线方程还有极为复杂的一个指数二元二次的函数,不过都有个特点,就是有正有负。所以,我理解为只要能根据自变量得出正负号信息的函数,就是符号函数。
可能不准确,以后发现不对了再来修改吧。但愿有大神能看到给我点拨一下。
平面图
- ezplot(f)
绘制f在[-2pi,2pi]内的函数 - ezplot(f,[min,max])
绘制f在制定区间内的函数- 隐函数,区间x=[min,max],y=[min,max]
- 显函数,区间【min,max】
- (啥是显函数,啥是隐函数?)
- ezplot(f,[xmin,xmax,ymin,ymax])
- 绘制f在制定区间内的函数
曲面网格/表面图
- 网格图
- ezmesh(f)
- 绘制函数f(x,y)在[-2pi,2pi]内的的图像
- ezmeshc(f,domain)
- 绘制函数f(x,y)在domain区间内的图像
domain为4*1或2*1的数组,如[min,max],x=[min,max],y=[min,max]或[xmin,xmax,ymin,ymax]
- 绘制函数f(x,y)在domain区间内的图像
- ezmeshc(x,y,z)
- 绘制参数方程x = x(s,t), y = y(s,t), z =z(s,t)在默认区域-2pi\<’s,t<2pi区间的图像
- ezmeshc(x,y,z,[smin,smax,tmin,tmax])
- 绘制参数方程x = x(s,t), y = y(s,t), z =z(s,t)在规定区域的图像
- ezmeshc(…, n)
- 指定绘图的网格数n,默认为60
- ezmeshc(…, ‘circ’)
- 在指定区域的中心的圆盘上绘制图形
- ezmesh(f)
- 表面图
-aaa
先突兀的更新一下查看mat数据的方法:
查看mat数据
网上说直接load,然而load了之后并不能查看数据啊……只是显示了里面包含的数据类型和规模,那怎么具体表示里面的数据呢?我还是很想看看的……经过一系列百度得到以下结果:
For example
>> x=importdata('Inverse11.mat')x = data: [13x2 double] textdata: {'x' 'Curve1'} colheaders: {'x' 'Curve1'}>> x.dataans = -5.1022 -0.6084 -3.9924 -0.7133 -3.1249 -0.9650 -2.1057 -1.4895 1.0342 3.0420 1.0342 3.0420 1.0342 3.0420 1.0342 3.0420 1.0342 3.0420 1.9070 1.4895 2.9682 1.0490 3.9941 0.7762 5.1033 0.6503>> x.textdataans = 'x' 'Curve1`
- matlab学习笔记(基础)
- 学习笔记:matlab 基础
- matlab基础学习笔记
- Matlab学习笔记(一)基础函数
- MATLAB学习笔记——matlab基础
- matlab学习笔记----语言基础
- Matlab矩阵操作基础,学习笔记...
- Matlab学习笔记一:矩阵基础
- Matlab学习笔记1——基础
- matlab笔记(1)----基础
- matlab基础学习(1)
- matlab基础学习(3)
- matlab基础学习(4)
- MatLab学习笔记(1)
- Matlab学习笔记(一)
- MATLAB学习笔记(一)
- MatLab学习笔记(二)
- matlab学习笔记(一)
- Android ShareSDKQQ 第三方登录so easy?
- html表单的几种提交方式总结
- 2017-4-8practice
- 2017年网易游戏数据挖掘/机器学习实习生笔试回忆
- 安卓adb调用模拟屏幕点击
- matlab学习笔记(基础)
- 结对编程
- 写博客的意义
- 服务和负载均衡的实现(zookeeper)
- EasyUI之布局Layout
- Iterables vs. Iterators vs. Generators
- P2P安防摄像头、门禁
- easyUI的图标设置
- eclipse maven安装链接