c/c++语言开发共享Matlab内容整理嘿呀

Matlab知识点整理相信小伙伴百度matlab中不知道的内容,看起来眼花缭乱。为了适应新手水平,特此记录一些知识点方便学习复习。判断语句的写法:if语句的写法if %条件语句1%若满足条件语句1则执行elseif %条件语句2%若不满足条件语句1而且满足条件语句2则执行elseif %条件语句3%若不满足条件语句1,2且满足条件语句3则执行else%以上条件都不满足则执行end以上语句中if和end必须匹配,elseif和else根据需求写,不是代码的必须部分。ifel


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 


图形绘制:

常用函数的总结:

Matlab内容整理嘿呀
plot():
Matlab内容整理嘿呀
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取消保持之前的图形
Matlab内容整理嘿呀
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));


其他函数

Matlab内容整理嘿呀
deg2rad(): 角度制转弧度制 deg2rad(30)=0.5236
rad2deg(): 弧度制转角度制 rad2deg(pi/3)=60.0000
Matlab内容整理嘿呀
补充:当想计算e的值时,可使用函数exp(1)代替;
Matlab内容整理嘿呀
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;
Matlab内容整理嘿呀
Matlab内容整理嘿呀
Matlab内容整理嘿呀
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];
Matlab内容整理嘿呀
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


数学运算中的函数:

Matlab内容整理嘿呀
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') %线性插值 

Matlab内容整理嘿呀
interp1不输入插值类型时候默认线性插值
Matlab内容整理嘿呀
三重积分: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); 

Matlab内容整理嘿呀


字符串中的函数

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

str='1+4'; eval(str); 

ans=5

Matlab内容整理嘿呀
Matlab内容整理嘿呀


文件输入输出函数

save(): 保存mat数据
load(): 载入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数组的索引:双下标用{},单下标用()

c/c++开发分享Matlab内容整理嘿呀地址:https://blog.csdn.net/Chipmunkyle/article/details/110791793

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/596452.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐