我是靠谱客的博主 清爽唇膏,这篇文章主要介绍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数组的索引:双下标用{},单下标用()

最后

以上就是清爽唇膏最近收集整理的关于matlab 内容,Matlab内容整理嘿呀的全部内容,更多相关matlab内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(147)

评论列表共有 0 条评论

立即
投稿
返回
顶部