matlab 内容,Matlab内容整理嘿呀

Matlab知识点整理

相信小伙伴百度matlab中不知道的内容,看起来眼花缭乱。为了适应新手水平,特此记录一些知识点方便学习复习。

文章目录

Matlab知识点整理

判断语句的写法:

if语句的写法

switch语句的写法

循环语句的写法

for语句的写法

while语句的写法

break,continue的运用

图形绘制:

常用函数的总结:

添加标注函数

常用函数总结:

输入输出

其他函数

数组中常用的函数

数学运算中的函数:

字符串中的函数

文件输入输出函数

注意事项:

判断语句的写法:

if语句的写法

if %条件语句1

%若满足条件语句1则执行

elseif %条件语句2

%若不满足条件语句1而且满足条件语句2则执行

elseif %条件语句3

%若不满足条件语句1,2且满足条件语句3则执行

else

%以上条件都不满足则执行

end

以上语句中if和end必须匹配,elseif和else根据需求写,不是代码的必须部分。ifelse的数量根据题目需要和自己想法写。

对于一个if语句,elseif,else都属于if语句的一部分,故只写一个end。

a=70;

if a>=90 %如果大等于90,则输出‘优秀’

disp('真优秀');

elseif a>=60 %如果大于等于60且小于90,则输出‘合格’

disp('合格');

else %如果小于60,则输出‘不合格!’

disp('不合格!');

end

switch语句的写法

switch语句只能对一个元素进行是否相等的判断

a %定义一个变量参与到switch

switch a %告知switch语句你要进行比较的变量是a

case %判断值1

%如果满足a==判断值1,则运行

case %判断值2

%如果满足a==判断值2,则运行

case %判断值3

%如果满足a==判断值3,则运行

otherwise

%a不与上面任何一个判断值相等

end

otherwise不是代码的必须部分,写不写都可以。

a=80

switch a

case 100 %可以将a与一个数值进行比较。如,词句判断a是否与100相等

disp('Wonderful!');

case {90,91,92,93,94,95,96,97,98,99} %也可以将a与一些数值进行比较。

%此处将a与90,91,92,93,94,95,96,97,98,99进行比较

%当于多个数值进行比较的时候,应用‘{’ ‘}’表示数据集

disp('Very good');

case {80,81,82,83,84,85,86,87,88,89}

disp('Good');

case {70,71,72,73,74,75,76,77,78,79}

disp('Okay')

otherwise

disp('APPLY YOURSELF!');

end

循环语句的写法

for语句与while语句最大的不同是:在不出现特殊判断停止循环的情况下(即没有continue语句和break语句时候),for语句的循环次数是已知的,while循环的循环次数是未知的。因为for循环的循环次数由一个规定好的计数器来进行限制,而while循环的循环次数是根据while语句后面的循环边界而定

for语句的写法

for %循环计数器

%循环语句

end

a = 1;

for i=1:100

a=a*i;

end

这个程序就计算了100!

while语句的写法

while %循环边界

%循环语句

end

a= 1;i=1;

while a<=100

a=a+i^2;

i=i+1;

end;

这个循环就执行了计算从1开始计算,自然数的平方和第一个大于等于100的值。

对于while循环特别需要注意题目中问的问题和你计算的值之间的关系。

break,continue的运用

在一些特殊情况下需要提前结束循环,或者跳过某一步循环,就会分别用到break语句和continue语句。

break语句:

从A=[23,45,12,45,36,57,84,53,6,46,23,546,7568,59,5,23,56,246,3,75464,745734,63,2];中选出前 六个小于100的偶数;

n=0; %用n计数

for i=1:length(A)

if mod(A(i),2)==0%选出偶数

sprintf('%d ',A(i));

n=n+1; %记录已经新找到一个偶数

end

if n==6%如果找到的偶数数量等于6了,就跳出循环

break;

end

end

continue语句:

对于A=[23,54,12,76,34,85,23,54,78],B=[1,0,1,0,0,1,0,0,1],让将A的数据加入到C中,除非对应位置的B数组是0

for i=1:length(A)

if B(i)==0

continue;

end

C(i)=A(i);

end

图形绘制:

常用函数的总结:

77d45154fe5c9e7bd22c98299f16c999.png

plot():

6ec13d239f582afc25a6e2b144edf780.png

subplot()

x=1:10;

y=sin(x);

subplot(2,2,1),plot(x,y,'m--');

subplot(2,2,2),plot(x,y,'*');

subplot(2,2,3),plot(x,y,'d');

subplot(2,2,4),plot(x,y,'v');

plot3(): 绘制三维图形

eg.绘制抛物曲面𝒛=𝒙𝟐+𝒚𝟐在−𝟏≤𝒙≤𝟏、−𝟏≤𝒚≤𝟏区间内的图像

X=-1:0.1:1;

Y=X';

X1=X.^2;

Y1=Y.^2;

x=ones(3,1);

x=ones(length(Y),1);

y=ones(1,length(X));

X1=x*X1;

Y1=Y1*y;

Z=X1+Y1;

subplot(1,2,1),mesh(X,Y,Z);

subplot(1,2,2),surf(X,Y,Z);

axis 设置坐标轴形状 eg. axis square 立方体坐标轴

box box on封闭坐标轴 box off取消封闭坐标轴

grid grid on加网格线,grid off取消网格线

hold hold on保持之前的图形,hold off取消保持之前的图形

540c352a1d1be184cd969987597b122e.png

bar():、barh(): 柱状图

bar()竖直柱状图 barh()水平柱状图

bar(x,y,‘group’)/bar(x,y,‘stack’) group和stack是柱状图的类型

bar3()、bar3h(): 三维柱状图

area(): 条形图、面积图——-填充图

pie(),pie3() 饼状图、三维饼状图

hist(): 直方图

stem(),stem3(),stair(): 二维离散图形,三维离散图形,二维阶跃图形

添加标注函数

title(): 添加标题

legend(): 添加图例

ylabel(): 添加y轴标注

xlabel(): 添加x轴标注

x=1:0.01:10;

y1=x.^2;

y2=x;

plot(x,y1,x,y2);

title('y=x^2&y=x');

xlabel('x:1~10');

ylabel('y');

legend('y=x^2','y=x');

常用函数总结:

输入输出

输入语句:

input(’’): (单引号中必须有输入提示)eg.a=input(‘请输入a:’);

输出语句:

sprintf() 运用到低级I/O转换字符:

1.%c:输出单个字符

2.%d:输出有符号的十进制数

3.%f:以小数的格式输出

4.%s:输出字符串

eg. sex=‘male’; age=32; weight=80.2;

sprintf(‘I am %s, I am %d years old and i’m %f kg’,{sex,age,weight})

注意:要显示输出时,不要再sprintf()后面加分号

disp() disp括号中的内容必须是字符、字符串

eg. disp(‘Hello!’); a=30;disp(num2str(a));

其他函数

3caae3add4118c1fb81f8260975cf6ce.png

deg2rad(): 角度制转弧度制 deg2rad(30)=0.5236

rad2deg(): 弧度制转角度制 rad2deg(pi/3)=60.0000

d3bc668a225d3b5a3542c9735252877a.png

补充:当想计算e的值时,可使用函数exp(1)代替;

d4e3c136082c6b98bb25b73a007f0466.png

abs() **取绝对值(或复数的模)**abs(-10)=10;

round(): 四舍五入取整 round(3.3)=3;round(3.5)=4;

fix(): 向0取整fix(3.3)=3;** fix(3.5)=3;fix(-3.3)=-3;fix(-3.5)=-3;

floor(): 向下取整 floor(3.9)=3;floor(-3.1)=-4;

ceil(): 向上取整 ceil(-3.9)=-3;ceil(3.1)=4;

100655e3f8b4dde09e62bf6b20dbc96e.png

3b64048f77f4aa3864e4cf984585933e.png

9cf6f3041ce3f03dd7fcaa5551d6fec4.png

A=[1,2,3,4,5];B=[4,5,6,7];C=union(A,B);D=intersect(A,B);

C:[1,2,3,4,5,6,7];D:[4,5];

69235dde44433c3a064b858279241e31.png

rmfield(): 删除结构体中某个域名及其对应的值

student.name='bob';

student.sex='male';

student.num=123123;

rmfield(student,'num');

student的num就被删除了

数组中常用的函数

diag(): 创建对角线方阵

a=diag([1,2,3])

a= 1 0 0

0 2 0

0 0 3

ones(): 创建全1矩阵

a=ones(5);创建5×5的全1方阵

a=ones(2,4);创建2×4的全1方阵

zeros创建全0矩阵

用法同ones()

eye创建单位矩阵(线代中的E)

linspace(): linspace(a,b,c) 把a到b等分成c份

eg. a=linspace(1,2,5); a:[1.0000 1.2500 1.5000 1.7500 2.0000];

矩阵的转置 其实不是函数 A=[1,2,3];B=A’;

B:[1;2;3]

reshape(): 改变矩阵的形状

A=[2,3,4,5;6,7,8,9;]

B=reshape(A,4,2);

B:[ 2 3; 4 5;6 7;8 9]

size(): 分别输出数组的行、列

length(): 输出数组最长的边

ind2sub(): 将全下标转变为双下标

sub2ind(): 将双下标转变全下标

A=[1,2,3;4,5,6;7,8,9];

[i,j]=ind2sub(size(A),5);

k=sub2ind(size(A),2,3);

i:2

j:2

k:8

数学运算中的函数:

e223756ef24aa9a91fef0b64b5238236.png

polyval(): 根据多项式计算具体数值

poly2str(): 将多项式转换为字符串

polyder(): 求多项式导数

p=[4 3 2 1]

a=polyval(p,4)

b=poly2str(p,'x')

c=polyder( p)

a:313

b:4 * x^3 + 3 * x^2 + 2 * x + 1

c:[ 12 6 2 ]

interp1()

interp1(原数据横坐标,原数据纵坐标,插入值的横坐标,插值类型)

eg.

x=0:10;

y=sin(x)+0.2;

xx=0:0.01:10;

yy=interp1(x,y,xx,'liner') %线性插值

be36220a89356fa3d725d31b0c9f313b.png

interp1不输入插值类型时候默认线性插值

98c130839e9c143c4d718ff140ce9971.png

三重积分:triplequad

低阶法积分求

f

(

x

)

=

s

i

n

(

x

)

f(x)=sin(x)

f(x)=sin(x)从0到pi的积分,且误差小于1e-6

f=@(x)sin(x)

q=quad(f,0,pi,1e-6);

dd2753afcc4f7c5e7db67effba9096d4.png

字符串中的函数

eval(): 运行字符串中的内容

str='1+4';

eval(str);

ans=5

6faad4e7cfadddb0dc5979870bf8a3f5.png

a0f984c68efea68d414ff14527529bb5.png

文件输入输出函数

save(): 保存mat数据

xlswrite(): 保存数据到excel表格中去

xlsread(): 从excel表格中读取数据

save('test'); %将所有变量保存到默认文件夹,命名为test.mat的文件中

save('test','a'); %将变量a保存到默认文件夹,命名为test.mat的文件中

load('test'); %从test.mat文件中读取数据

load('test','a'); %从test.mat文件中读取变量a

xlswrite('123','a') %将变量a存入到123.xls文件中

xlsread('123',1) %从123.xls中的sheet1中读取数据

注意事项:

end指最后一个元素/行

当取范围时倒序取时,步幅必须写出 eg. 9:-1:1

数组用单下标计数时是竖着数的

subplot计数时是横着数的

cell数组的索引:双下标用{},单下标用()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值