matlab基础向1-6:基础语法
1.软件中如何运行代码?
命令行直接写代码,回车执行,也可以在文件里编写代码,比如有文件hello.m,点击“Run”直接运行或者在命令行窗口里输入“hello+回车”运行。
2.清空命令行
clc+回车
3.数据类型
没有数据类型,也不需要声明变量,直接赋值,在赋值的时候就定义了。比如:
a=10;
fprintf('a = %d\n',a);
b=15.12600;
fprintf( 'b = %g, b = %f, b = %.2f\n',b,b,b);
disp(a);
disp(b);
disp('hello');
c=10
d=11.2
e=16.78888
输出:
a = 10
b = 15.126, b = 15.126000, b = 15.13
10
15.1260
hello
c =
10
d =
11.2000
e =
16.7889
由此推测:%d是整型,%g是去掉多余的0,%f是输出6位小数,%.2f是四舍五入保留2位小数。disp()类似C语言的puts(),如果是输出小数disp()默认保留4位小数,有换行功能。如果语句后面不加分号,会默认输出这个变量。如果是小数,默认四舍五入保留4位小数,不会去掉尾部0。
测试大数:
f=123456789
g=1234567891
h=1234567899876543211
i=9223372036854775807%longlong范围
fprintf('f=%d\n',f);
fprintf('g=%d\n',g);
fprintf('h=%d\n',h);
fprintf('i=%d\n',i);
disp(f);
disp(g);
disp(h);
disp(i);
输出:
f =
123456789
g =
1.2346e+09
h =
9.1235e+18
i =
9.2234e+18
f=123456789
g=1234567891
h=1234567899876543211
i=9.223372e+18
123456789
1.2346e+09
9.1235e+18
9.2234e+18
由此推测:对于整数,disp只能精确输出9位,有十位数 就用四位小数的科学计数法表示,fprintf可以精确表示到17位数,19位数有个分界值,往前可以表示出19位,往后只能用科学计数法表示。但是用19位数表示时个位和十位不准确。
5.输入语法
a = input('please input a:');
b = input('');
disp(a);
disp(b);
input语法,不能输入字符型,并且括号内必须要有单引号。
6.次方和对数
5^3表示5的3次方
log(32)默认表示底数是e,log2(32)表示底数是2,log10(100)表示底数是10,必须要加括号,不能是其他底数,2和10前不能有空格。
如果想表示别的底数,用换底公式。loga(b) = ( log (b) ) / ( log (a) )
7.向量vector(数组)
比如x=[ 1,2,3 ];或者x=[1 2 3];//空格或者分号都可以,维度相同才能相加减。
二维向量/矩阵不同行用分号隔开
a=[ 1,2;3 4];
b=[ 5 6;7 8];
a*b:前者行*后者列。(要求:前者行 = 后者列)
a.*b:对应相乘。(要求维度相同)
8.自带求和函数
sum(a);
a表示数组名,一维直接求和,二维竖着求和。
a=[1 2 3 4];
b=[11 100; 9 2];
c=[1000 1000];
sum(a);
sum(b);
c+sum(a)
c+sum(b)
输出:
1010 1010
1020 1102
9.单行注释
% a=15;
10.while循环
t=3
while t>0
fprintf('hello\n');
t=t-1;
end
相比C语言
没有大括号,结尾有个end,不需要加分号。
循环条件没有小括号。
没有t--。
没有t-=1。
11.for循环
for i=1:1:5 %等于 i=1:5
fprintf('i=%d hello\n',i);
end
for i=5:-1:1
fprintf('i=%d facai\n',i);
end
循环变量起始值:每次加的值:小于等于的数
相当于C语言的for(int i=1;i<=5;i++)
注意matlab中间是冒号隔开。养成良好习惯,中间默认的1最好写上。
12.if语句
for i=1:1:3
if i==1
fprintf('facai111\n');
elseif i==3
fprintf('facai333\n');
else
fprintf('facai222\n');
end
end
没有大括号,并且else的执行语句后需要加一个end,elseif之间没有空格。
13.不等于
i~=0
14.取模(mod)和取余(rem)
mod(13,4) = 1
rem(13,4) = 1
mod(-13,-4) = -1
rem(-13,-4) = -1
mod(-13,4) = 3
rem(-13,4) = -1
mod(13,-4) = -3
rem(13,-4) = 1
个人推测:
前四条可以默认是常规操作,参数两个都是负数则结果也变为负数。看着像是C语言的%
其他的可以这样表示: 被除数 = 除数*k + ans
通过调整k使得除数*k更大或者更小
mod(-13,4) = 3
负数 = 更小 + ans -13 = 4*(-4) + 3
rem(-13,4) = -1
负数 = 更大 + ans -13 = 4*(-3) + (-1)
mod(13,-4) = -3
正数 = 更大 + ans 13 = (-4)*(-4) + (-3)
rem(13,-4) = 1
正数 = 更小 + ans 13 = (-4)*(-3) + 1
15.自写函数
模板:
function 返回值名 = 自写函数名(参数)
正文
返回值名;%如果没有可以不写
end
如果没有返回值或者参数,则是:
function 自写函数名()
正文
end
可以在命令行里直接调用自写函数,自写函数的文件名最好和自写函数名一样,如果有两个相同的自写函数,系统默认调用先保存的。同一个文件夹里的自写函数直接调用,不需要声明啥的。
16.continue和break
作用和C语言一样,记得加end。
17.corr(求相关系数矩阵)
求矩阵的相关系数,比如矩阵A是35行8列的矩阵,每一列是一种指标,求指标之间的相关系数矩阵,则用X=corr(A);X是8行8列的矩阵,斜对称并且对称轴X(i,i)=1;
matlab基础向1-6:基础语法的更多相关文章
- .NET基础拾遗(1)类型语法基础和内存管理基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 基础常用JS函数和语法
100多个基础常用JS函数和语法集合大全 来源:http://www.cnblogs.com/hnyei/p/4605103.html 网站特效离不开脚本,javascript是最常用的脚本语言,我 ...
- .NET基础拾遗(1)类型语法基础和内存管理基础【转】
http://www.cnblogs.com/edisonchou/p/4787775.html Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串 ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
- 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
- 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
- 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
- 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法
071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
- 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据
070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...
- 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求
069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...
随机推荐
- Docker下安装kafka
先看一下有哪些选择 额,没有官方的,但是可以根据stars来找一个,大多数人都选择第一个,我们看一下GitHub就知道了. 第一个:https://github.com/wurstmeister/ka ...
- Django 路由正则URL
Django 路由正则URL URL1 # 路由 url(r'^detail/', views.detail) {#点击跳转到指定用户下显示信息#} <li><a target=&q ...
- .NET Core中如何对Url进行编码和解码
我们在.NET Core项目中,可以用WebUtility类对Url进行编码和解码,首先我们要确保项目中引入了nuget包:System.Runtime.Extensions 当然这个nuget包默认 ...
- 【C#常用方法】3.将DataTable一次性插入数据库表中(使用SqlBulkCopy)
将DataTable一次性插入数据库表中(使用SqlBulkCopy) 1.SqlBulkCopy简介 SqlBulkCopy类是ADO.NET中专门用于数据库批量插入数据的类,其批量插入的执行速度是 ...
- SQL小技巧(一)拼音首字母的模糊查询
基于Microsoft SQL Server 的标量值函数fun_GetPy,借鉴其他优秀的博主文章,此处贴出源码,以及使用方法 1.打开新建查询,贴如下代码,F5 /****** Object: U ...
- Maven中 jar包冲突原理与解决办法
Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题.本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲 ...
- MySQL里默认的几个库是干啥的?
本文涉及:MySQL安装后自带的4个数据库:information_schema. performance_schema.sys.mysql的作用及其中各个表所存储的数据含义 information_ ...
- 为元素添加 title 属性
---恢复内容开始--- 可以使用title属性(不要与title元素混淆)为网站上任何部分加上提示标签. ... <ul title="Table of Contents" ...
- CSS怎么隐藏滚动条(三种方法)
xhtml中隐藏滚动条在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transi ...
- Java 之 异常的处理
Java 异常处理的五个关键字:try.catch.finally.throws.throw 一.捕获异常 try...catch 如果异常出现的话,会立刻终止程序,所以我们得处理异常. try... ...